messu Posted June 23, 2017 Share Posted June 23, 2017 Tot incerc sa compilez codul de mai jos, pentru un Arduino Nano, insa in permanenta imi returneaza urmatoarea eroare: C:\Users\Messu\Desktop\sketch_midifootcontroller\sketch_midifootcontroller.ino:2:17: fatal error: LCD.h: No such file or directory #include <LCD.h> ^ compilation terminated. exit status 1 Error compiling for board Arduino Nano. Toate sugestiile gasite online, niste librarii in speta, nu au reusit sa rezolve problema. Ce s-ar putea face ? E o problema de librarii sau de versiune de Arduino IDE ? Codul este cel atasat, iar mai multe detalii se pot gasi la adresa: http://www.pekenverenmediaproducties.nl/projects/midi-footcontroller/arduino-sourcecode/ cod_arduino.txt Link to comment
dany_cta Posted June 23, 2017 Share Posted June 23, 2017 cred ca trebuie instalata libraria liquid crystal din lista de librarii arduino 1 Link to comment
messu Posted June 26, 2017 Author Share Posted June 26, 2017 Nu, se pare ca nu este de acolo. Libraria este deja instalata si eroarea continua sa apara. Link to comment
vasile eugen Posted June 26, 2017 Share Posted June 26, 2017 cod de testare: // include the library code: #include <LiquidCrystal.h> // initialize the library with the numbers of the interface pins LiquidCrystal lcd(8, 9, 4, 5, 6, 7); void setup() { // set up the LCD's number of columns and rows: lcd.begin(16, 2); // Print a message to the LCD. lcd.print("vasile eugen"); } void loop() { } 1 Link to comment
nico_2010 Posted June 26, 2017 Share Posted June 26, 2017 Pastreaza esenta softului si rescrie programul atasand DOAR acele librarii de care ai nevoie ...altfel obtii varza postata. Link to comment
MifTy Posted June 26, 2017 Share Posted June 26, 2017 #include "Storage.h" #include <LCD.h> #include <LiquidCrystal.h> #include <LiquidCrystal_I2C.h> #include "constants.h" #include "LCDisplay.h" #include <Wire.h> #include <EEPROM.h> o eroare tipică atunci când bagi cinşpe librării de acelaşi fel, nu una! (am păţit-o şi eu când mă chinuiam cu 7775 ăla... cică lipsă librărie, dar erau invocate de mai multe ori, de fapt) ... uneori contează şi în ce ordine le pui... deşi nu se spune explicit, unele librării nu funcţionează (pe tăcute, fără să ţipe compilatorul, alteori compilatorul zice că "nu găseşte librăria X", deşi, de fapt, lipseşte alta, fără de care X nu merge... ) fără a include alta/altele ÎNAINTEA lor, nu după. eroare de versiune aveai dacă codul era scris pentru o versiune anterioară 1.5.0, parcă, dar şi atunci nu ar fi trebuit să se plângă de LCD.h, ci de Arduino.h ce fel de LCD foloseşti pentru proiect: conectat în paralel sau prin I2C ori One-Wire? Link to comment
messu Posted June 26, 2017 Author Share Posted June 26, 2017 (edited) Pastreaza esenta softului si rescrie programul atasand DOAR acele librarii de care ai nevoie ...altfel obtii varza postata. ar fi, fara indoiala cea mai buna idee, numai ca nu conosc programare ... :( Nu stiu daca erau mai multe librarii de acelasi fel. Se pare ca incepe sa se rezolve. Am facut asa: am cutat cu google LCD.h, pe care am descarcat am facut un director, in cel implicit pentru librarii al lui Arduino IDE si l-am pus acolo. La fel am facut si cu Constants.h, Storage.h si LCDisplay.h, care erau oferite de catre autorul codului. Dupa pasul asta m-am trezit cu o gramada de warnings si errors, dar n-a mai zis nimic de LCD.h. Warning-urile erau : "deprecated conversion from string constant to 'char* " si nu m-am atins de ele, erorile erau legare de libraria LCD.h care apela libraria Wire.h. Mai exact necazul era legat de fapul ca sintaxa din libraria Wire s-a schimbat Wire.send s-a transformat in Wire.write. Foarte "inteligenta" idee... Asa ca am facut schimbarea in LCD.ccp si am ramas numai cu warning-urile. Codul s-a compilat, in sfarsit si pare ca functioneaza. L-am testat in Proteus. LED-urile si butoanele functioneaza OK, numai ca afisajul LED nu arata nimic. Necazul cred ca este de la linia LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE); // Set the LCD I2C address care imi genera o eroare, legata de "POSITIVE", termen pe care nu il intelegea. Asa ca am schimbat linia in LiquidCrystal_I2C lcd(0x27,20,4); // Set the LCD I2C address dupa cum am gasit intr-un exemplu. Nu mai da eroare, dar nici nu afiseaza nimic. Ce ar putea insemna termenii din paranteza, in afara de adresa ? Ar putea fi iesirile circuitului PCF574 ? Dar cum le conectez la display ? Display-ul pea care vreau sa il folosesc este 20x2 conectat pe I2C. Edited June 26, 2017 by messu Link to comment
modoran Posted June 26, 2017 Share Posted June 26, 2017 (edited) NU ai nevoie de lcd.h si minunile ce le-ai mai descarcat tu de pe net, ai nevoie doar de libraria LiquidCrystal I2C, asta include ea wire.h si tot ce trebuie: https://github.com/fdebrabander/Arduino-LiquidCrystal-I2C-library LiquidCrystal_I2C lcd(0x27, 20, 2); // Set the LCD I2C address Presupun ca modulul cu PCF8574 nu are activat jumperii aia sa schimbi adresa. Edited June 26, 2017 by modoran Link to comment
messu Posted June 26, 2017 Author Share Posted June 26, 2017 Libraris LiquidCrystal I2C, cred ca era deja instalata cand imi dadea eroarea cu LCD.h. Cu modulul PCF8574 inca n-am apucat sa probez pentru ca am acasa toaote tinichelele si nu ajug acasa decat la sfarsitul saptamanii. Momentan am facut o simulare in Proteus si asa am vazut ca nu afiseaza nimic. Nu stiu daca e lagat corect PCF-ul al display... Link to comment
MifTy Posted June 26, 2017 Share Posted June 26, 2017 (edited) ... pentru ce versiune de Arduino IDE zice tipu' de unde-ai luat proiectul că e scris? cel puţin linkul dat de tine dă numai arhiva şi enumeră librăriile, altceva nimic...pentru că din ce spui, sunt sigur că ai ultima versiune instalată, aia sigur a fost scrisă pentru o versiune mai veche, (dar nu foarte, că văd că nu apare şi Arduino.h) şi deja sunt plânsete pe forumul arduino.cc şi pe aiurea din motive de "incompatibilităţi"...ah, şi lasă simulările deoparte... nu cred că ai în Proteus plăcuţe-clonă chinezeşti... şi te cam strofoci degeaba.ai răbdare până ajungi acasă, şi vezi acolo concret cum stă treaba. Edited June 26, 2017 by MifTy Link to comment
messu Posted June 26, 2017 Author Share Posted June 26, 2017 Nu stiu pentru ce versiune de Arduino a fost facut codul. Autorul nu mi-a raspuns la mail-ulin care i-am cerut astfel de detalii. Cu probatul, asa e, simularile difera de multe ori de realitate. Probez in weekend si revin cu rezultatele. Link to comment
vasile eugen Posted June 26, 2017 Share Posted June 26, 2017 (edited) Dupa ce am scris am vazut ca aveti comunicarea pe ic2 .Uitativa aici prin exemple: http://nicuflorica.blogspot.ro/search/label/afisaj%20alfanumeric uncod din exemple si se compileaza: //YWROBOT //Compatible with the Arduino IDE 1.0 //Library version:1.1 #include <Wire.h> #include <LiquidCrystal_I2C.h> LiquidCrystal_I2C lcd(0x27,20,4); // set the LCD address to 0x27 for a 16 chars and 2 line display void setup() { lcd.init(); // initialize the lcd lcd.init(); // Print a message to the LCD. lcd.backlight(); lcd.setCursor(3,0); lcd.print("Hello, world!"); lcd.setCursor(2,1); lcd.print("Ywrobot Arduino!"); lcd.setCursor(0,2); lcd.print("Arduino LCM IIC 2004"); lcd.setCursor(2,3); lcd.print("Power By Ec-yuan!"); } void loop() { } Edited June 26, 2017 by vasile eugen Link to comment
messu Posted June 26, 2017 Author Share Posted June 26, 2017 Multumesc pentru sugestii ! Intr-adevar, cum banuisem, PCF8574 era gresit legat la display. Acum l-am legat corect (se pare) si display-ul a prins viata, insa afiseaza niste carctere necunoscute. O sa incerc in weekend cu componente adevarate, ca in simulare cred ca nu pot sa obtin mai mult de atat. Link to comment
dany_cta Posted June 26, 2017 Share Posted June 26, 2017 Inverseaza cei doi pini de data si clk si o sa isi revina cu caracterele. Link to comment
messu Posted June 26, 2017 Author Share Posted June 26, 2017 Le-am inversat, dar nu mai afiseaza nimic Link to comment
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now