Jak přidat knihovnu

fin
Příspěvky: 37
Registrován: 19 dub 2013, 15:24

Jak přidat knihovnu

Příspěvek od fin »

Stáhnout a umístnit knihovnu pro displej Nokia5110 není pro většinu žádný problém, pro mě bohužel ano.
Popíši jak jsem postupoval V IDE 1.6.3.
- stáhl na plochu PC zazipovanou knihovnu LCD5110_Basic.
- stisk Projekt
- stisk Include Libary
- stisk Add. ZIP Libary
Nyní se objeví tabulka, kde je třeba vyplnit 2 řádky:
nahoře Look in:
dole File name:

2X jsem se pokusil řádky vyplnit - 2x se ZIP rozbalil, ale jinde než měl.
Mohl by mě někdo podrobně popsat, jak postupovat při vyplňování, hlavně těch dvou řádek?
Nebo jesli je možné a vhodné přenést již rozbalené soubory do "libraries".
Rozbalené podsoubory jsou ale jiné než ostatní v "libraries".
DavidO
Příspěvky: 1198
Registrován: 01 kvě 2013, 21:27

Re: Jak přidat knihovnu

Příspěvek od DavidO »

Postup vypadá v pořádku. Pro jistotu jsem si to teď podle něj taky udělal. Mám sice verzi novější (1.6.7) ale jinak to bylo taky takhle. Po vyplnění té tabulky jak píšeš (tj. určení souboru s knihovnou) se mi do mého pracovního adresáře, kde bydlejí všechny mé skripty (nastavuje se v menu File / Preferences hned první položka "Sketchbook locaction"), přidal do adresáře libraries nový jménem LCD5110_Basic a v něm několik podadresářů jak bych čekal. Následně (bez restartu IDE) jsem v menu Sketch / Include Library vybral tu novou (musel jsem zalistovat hodně dolů do sekce Contributed libraries), tím se mi na první řádek sketche přidalo #include <LCD5110_Basic.h> (díky Dexi ;)) a bylo to. Zkušebně jsem napsal krátký prográmek, přeložit šel, ale displeje nemaje, dál jsem nepokračoval.

že by to nefungovalo, mě napadají jen tyhle věci: to nastavení místa, kde máš sketche, viz výše. Kam to máš nastavené? A za druhé, nebylo by možné, že při té instalaci místo abys Arduino IDE "dal" ten soubor, že ho nějak "spustíš" a tvůj operační systém proto zavolá nějakou jinou aplikaci na práci se ZIPy, která ti to někam rozbalí?
Nikoho plánovaně neurážím. Jestli se Vám nelíbí co píšu, tak to nečtěte. A ostatně, třeba za to nemůžu - Researchers believe that dark humor can be a significant symptom of dementia.
fin
Příspěvky: 37
Registrován: 19 dub 2013, 15:24

Re: Jak přidat knihovnu

Příspěvek od fin »

Špatně je moje odklikávání po stisku "Add. ZIP Libary" kdy se zobrazí se přiložená tabulka. Nahoře česky text: Vyberte soubor typu ZIP nebo adresář, který obsahuje knihovnu, kterou chcete přidat.
nahoře Look in: řádka a předpředepsáno uzivatel
dole File name:
Při snaze označit ZIP LCD5110_Basic, který mám na ploše PC, se mě chybným klikáním asi rozbaluje jinde než má. Přitom ale mezi ostatníma knihovnama je zobrazen a po kliknutí se zapíše 1 řádka sama do programu. Ale u dalších řádek při kompilaci hlásí chybu. Takto prog. chybu nehlásí.

Kód: Vybrat vše

#include <LCD5110_Basic.h>
 #include<SoftwareSerial.h>      // knihovna pro komunikaci s pocitacem
// LCDnokia5110 lcd(7,6,5,4,3);    //propojení pinů displeje s arduinem            
   char buffer[12];
   
void setup() {
  Serial.begin(9600);
//  lcd.LcdInitialise();	   //inicializujeme displej
//  lcd.LcdClear();		   //vyčistíme ho
//  lcd.GotoXY(2,1); 		   //přejdeme na pozici x=2, y=1
//  lcd.LcdString(”Servotester ”);  //uvítací nápis
   delay(1000);
    }

void loop() {  
  }
Chybové hlášení:( když odstraním u 3 řádky // )
Arduino: 1.6.3 (Windows 7), Vývojová deska: "Arduino Uno"
Nokia5110_pokusy_1.ino:3:1: error: 'LCDnokia5110' does not name a type
Chyba kompilace.

Rád zaplatím předem tomu, kdo by se pokusil mě navádět přes telefon.
Naposledy upravil(a) fin dne 07 kvě 2016, 09:22, celkem upraveno 1 x.
Uživatelský avatar
Dex
Administrátor
Příspěvky: 1610
Registrován: 16 úno 2013, 13:26

Re: Jak přidat knihovnu

Příspěvek od Dex »

PROSÍM, na vkládání zdrojáků tu máme tlačítko Code!

EDIT: Díky za opravu ;)
"all your robots are belong to us"
robodoupe.cz
DavidO
Příspěvky: 1198
Registrován: 01 kvě 2013, 21:27

Re: Jak přidat knihovnu

Příspěvek od DavidO »

Takhle:

Kód: Vybrat vše

LCD5110 lcd(7,6,5,4,3);
(ale ty čísla se mi zdají podezřele hezká. Je to opravdu připojené na tyhle piny?)
Nikoho plánovaně neurážím. Jestli se Vám nelíbí co píšu, tak to nečtěte. A ostatně, třeba za to nemůžu - Researchers believe that dark humor can be a significant symptom of dementia.
fin
Příspěvky: 37
Registrován: 19 dub 2013, 15:24

Re: Jak přidat knihovnu

Příspěvek od fin »

Propojení pinů displeje s arduinem je z "Servotester" RC revue 3/2015 (3.část str18.) od ing.Tomáše Petržela.
Pokusím se jej poslat. Dobře jsou na www//rcrevue.cz/ke-stazeni/ pod - programy ostatní - hned na prvním místě.
Naposledy upravil(a) fin dne 07 kvě 2016, 21:06, celkem upraveno 1 x.
fin
Příspěvky: 37
Registrován: 19 dub 2013, 15:24

Re: Jak přidat knihovnu

Příspěvek od fin »

Toto je začátek programu " Servotester ".

Kód: Vybrat vše

#include <Nokia5110.h> 		 //Knihovna pro display
#include <Servo.h> 		         //Knihovna pro serva
#include <SoftwareSerial.h> 	//Knihovna pro komunikaci s počítačem
LCDnokia5110 lcd(7,6,5,4,3); 	//propojení pinů displeje s arduinem 
			   	                //v závorce piny arduina ketré propojíme s: 
			                	//RST,CE,DC,DIN,CLK,
				               //poslední tři piny na displeji jsou napájení 
				                //VCC (5 V), 
				               //podsvětlení (u mého displeje připojeno na zem) 
				               //a zem (GND)
Servo servo1; 			      //deklarujeme si dvě serva
Servo servo2;
int menu = 1; 			     //definujeme si číselnou proměnnou, 
				             //která bude určovat mód
int ledPin = 13; 		             //na pinu 13 je na arduinu interní LED dioda
int testvstup = 10;
char buffer[12]; 		     //buffer pro převod čísla na znaky pro display
long int zachvev; 		      //pomocná proměnná pro podprogram tlačítko
int i; 				      //proměnná do smyček
unsigned long delkapulzu;
				               //--------------------------------------------------
void setup() { 			       //část, která po spuštění proběhne jen jednou
  Serial.begin(9600); 		        //spustíme komunikaci s počítačem (viz. předch. díly)
  pinMode(ledPin, OUTPUT); 	//nastavíme pin s LED jako výstup    
  pinMode(testvstup, INPUT); 
  lcd.LcdInitialise();		         //inicializujeme displej
  lcd.LcdClear();		         //vyčistíme ho
  lcd.GotoXY(2,1); 		         //přejdeme na pozici x=2, y=1
  lcd.LcdString(”Servotester ”);  //uvítací nápis
  servo1.attach(8); 		        //vyhradíme pro připojení serv piny 8 a 9
  servo2.attach(9);
  attachInterrupt(0, tlacitko, RISING); 
   				                        //definujeme přerušení od tlačítka na pinu 2,
   				                       //které se vyvolá při přechodu z vyp do zap RISING
   zachvev = millis(); 		              //millis jsou vnitřní hodiny, 
				//které ukazují čas od spuštění v ms
   delay(1000); 			// pauza 1s
}
				//------------------------------------------------
			
DavidO
Příspěvky: 1198
Registrován: 01 kvě 2013, 21:27

Re: Jak přidat knihovnu

Příspěvek od DavidO »

Vždyť jsem to už psal. Ten třetí řádek má být jak jsem psal minule. To je deklarace proměnné lcd. Jméno typu musí souhlasit s tím, co je v knihovně. Sketch z RC Revue používá jinou knihovnu, kde se ten typ zjevně jmenuje jinak. V knihovně co máš ty, se ten typ jmenuje LCD5110. Chybová hláška znamená, že překladač to, cos tam napsal, nezná jako typ, co by se dal použít k deklaraci proměnné (totéž by měl říct když u běžného jména typu uděláš překlep, zkus si to).
Nikoho plánovaně neurážím. Jestli se Vám nelíbí co píšu, tak to nečtěte. A ostatně, třeba za to nemůžu - Researchers believe that dark humor can be a significant symptom of dementia.
fin
Příspěvky: 37
Registrován: 19 dub 2013, 15:24

Re: Jak přidat knihovnu

Příspěvek od fin »

Děkuji za upozornění. Přehlédl jsem, že řádka " LCD5110 lcd(7,6,5,4,3); " je napsána jinak. Nyní je kompilace s touto řádku v pořádku.
Ale u dalších řádek kde je nyní "//" je to samé. jestliže je na příklad řádka // lcd.LcdInitialise(); bez "//" je chybové hlášení:

Arduino: 1.6.3 (Windows 7), Vývojová deska: "Arduino Uno"
Užita knihovna LCD5110_Basic v adresáři: C:\Users\uzivatel\Documents\Arduino\libraries\LCD5110_Basic (legacy)
Užita knihovna SoftwareSerial v adresáři: C:\Program Files\Arduino\hardware\arduino\avr\libraries\SoftwareSerial

C:\Program Files\Arduino\hardware\tools\avr/bin/avr-g++ -c -g -Os -w -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10603 -DARDUINO_AVR_UNO -DARDUINO_ARCH_AVR -IC:\Program Files\Arduino\hardware\arduino\avr\cores\arduino -IC:\Program Files\Arduino\hardware\arduino\avr\variants\standard -IC:\Users\uzivatel\Documents\Arduino\libraries\LCD5110_Basic -IC:\Program Files\Arduino\hardware\arduino\avr\libraries\SoftwareSerial C:\Users\uzivatel\AppData\Local\Temp\build271468399527642233.tmp\Nokia5110_pokusy_1.cpp -o C:\Users\uzivatel\AppData\Local\Temp\build271468399527642233.tmp\Nokia5110_pokusy_1.cpp.o

Nokia5110_pokusy_1.ino: In function 'void setup()':
Nokia5110_pokusy_1.ino:11:7: error: 'class LCD5110' has no member named 'LcdInitialise'
Chyba kompilace.

Nedivil bych se , jestli se mnou ztratíte trpělivost. Nerad bych to ale vzdal , bez použití displeje bych byl u konce.
DavidO
Příspěvky: 1198
Registrován: 01 kvě 2013, 21:27

Re: Jak přidat knihovnu

Příspěvek od DavidO »

Ještě chvilku vydržím :D (doufám, že naopak vydržíš ty, že to nedostaneš na podnose, ale že to postupně dávkuju, snad se ti to tím líp osvětlí)

Doplňuji můj předchozí příspěvek: nejenomže musí souhlasit jméno typu, ale taky jména těch metod, které ten typ (třída objektu) poskytuje. To říká ta další chybová hláška "'class LCD5110' has no member named 'LcdInitialise'" = "ten objekt nemá funkci jménem LcdInitialise".

To, co je v RC Revue, je jiná knihovna, která umí možná ovládat stejný displej, ale prostě je jiná. Musíš se podívat do té tvojí, co a jak se tam použije. Buď v dokumentaci (tam, kam se to instalovalo, je adresář Documentation a tam je PDF manuál) anebo ve zdrojáku knihovny. Při té příležitosti doporučuju zkontrolovat pořadí pinů, určitě se to musí v těch dvou různých knihovnách napsat v jiném pořadí!
Nikoho plánovaně neurážím. Jestli se Vám nelíbí co píšu, tak to nečtěte. A ostatně, třeba za to nemůžu - Researchers believe that dark humor can be a significant symptom of dementia.
Odpovědět