Heu escrit al programa per Arduino alguna cosa així com:
lcd.print ("Hola, món!")
El tauler va executar obedientment la comanda i el text va aparèixer a la pantalla. Però, com pot dir que un dispositiu "va dir" alguna cosa, i el segon "va escoltar" i "entendre"? Això és com demanar a l’artista que faci el seu retrat, però no veure com treballa en ell. L'autor de Instructsbles amb el sobrenom de Indoorgeek va presentar un estand que us ajudarà a sentir-vos a la sabata del "living Arduino" i dirigir el HD44780 a un nivell baix. En un dels certàmens, això casolans va obtenir el primer premi.
Necessita un petit detall: qualsevol mòdul (LCD, VLI o PMOLED) del controlador HD44780 o compatible, vuit interruptors commutadors, un botó sense bloqueig, un commutador de diapositives, una resistència variable d’1 kΩ, una placa amb soca Micro USB i una caixa.
A partir del que no es mostra a la foto, necessitem: una resistència de 10 kOhm i un condensador de 100 μF i almenys 6,3 V.
El propi Indoorgeek va adoptar un mòdul del tipus més comú: LCD, 16 caràcters per línia, dues línies. Però la resta de mòduls tenen el mateix principi de control, només la pinça pot diferir lleugerament, així que no us deixeu massa mandrosos per mirar el full de dades.
En tots els casos, la connexió al cable comú correspon a zero lògic, i la connexió al bus de potència de +5 volts correspon a la unitat.
Els pins 1 i 2 serveixen per alimentar el mòdul. El primer d’ells sempre està connectat a un cable comú i el segon sempre amb un bus d’alimentació.
El pin 3 serveix per ajustar el contrast. Quan se li aplica una tensió de 0 a 5 volts en relació amb el fil comú, el contrast canvia de zero a màxim.
El pin 4 permet triar entre un registre de dades i un registre d’instruccions. Donem un zero lògic: se selecciona el registre d’instruccions (és a dir, ordres), la unitat és el registre de dades.
Les instruccions poden ser, per exemple, les següents: inicialitzar el controlador, esborrar la pantalla, etc., i les dades inclouen signes que es mostraran a l’indicador.
Per contra, podeu llegir dades d'algun registre. Per fer-ho, heu d'aplicar un nivell elevat al pin 5 i la pantalla tornarà al mode de sortida d'informació al vostre microcontrolador. Per començar a escriure les dades del microcontrolador al controlador de visualització, heu d’enviar el nivell 5 baix al pin 5. Molt sovint, el mode de lectura no s’utilitza en absolut, com, per exemple, en aquest producte casolà.
Segons els pins 7 a 14, la pantalla pot intercanviar ordres i dades en codificació de 8 bits. El nivell més baix correspon al pin 7, el més alt - 14.
El pin 6 es necessita per a enreixar.A poc a poc, definiu dades als pins 7 a 14, però, si bé el pin 6 és un zero lògic, el mòdul no respon a això. Aleshores, sense canviar l’estat dels pins 7 al 14, envieu un pols a curt termini d’alt nivell al pin 7 i es transmeten les dades.
Conclusions 15 i 16: nutrició del llum de fons, si n’hi ha. 15 - més, 16 - menys.
Disponible per al cas indorgeek'a tenia una mida de 200x150x40 mil·límetres. Aquest cas es va treure d’un altre cas, desmuntat i ja hi havia forats. El mestre les va utilitzar al nou disseny per tal de fer-ne el mínim possible.
Va establir vuit interruptors de commutació per canviar l'estat de les línies de bus de dades / comandaments, un commutador per triar entre registres (vegeu més amunt), un botó per a la reixada, una resistència variable per ajustar contínuament el contrast.
La placa elevadora amb presa micro USB té passadors convenients que faciliten la connexió de cables. Aquí només en fan falta dos: +5 V i un fil comú. Si no teniu una placa, i una presa de micro USB soldada des d'algun lloc sembla inconvenient per a la soldadura, només podeu agafar un cable amb un connector USB. En qualsevol cas, repetim després de l'esquema mestre i soldador:
Els contactes dels interruptors de commutació corresponents a la posició superior, es van connectar junts i es van presentar un plus. Va fer el mateix amb els contactes dels interruptors de commutació corresponents a la posició inferior, només els va donar un menys. Va connectar els contactes mòbils dels interruptors de commutació no entre ells, sinó amb les conclusions de les ordres del bus / mòdul de dades d'acord amb el "pes" de tots dos (D0 - pin 7 - el bit menys significatiu, D7 - pin 14 - el més alt). Si els amos no haguessin mossegat resistències de tracció enfurismades a la infància, seria capaç d'utilitzar interruptors de commutació més simples: no de commutació, però normalment oberts.
Però els mateixos resistents, però en els circuits de supressió del rebot de contacte, mai no va ser ofès. Aquí, aquest circuit es necessita per tal que el controlador de pantalla no presi una sola vegada el botó estroboscópic durant diversos. Altres controls no requereixen la supressió del xat, ja que sempre que no es rebin els polsos estroboscòpics, les dades de les línies restants poden canviar moltes vegades com es desitgi. El principal és no tocar els interruptors de commutació i l’interruptor amb el botó premut. Així doncs, amb una resistència de 10 kOhm, el mestre va tirar el pin 6 al fil comú, i amb el botó al bus més. Com que la resistència del botó és molt inferior, quan es prem, "s'arrossega". Quan s'allibera, la seva resistència s'aproxima a l'infinit i la resistència ja la "tira". Un condensador de 100 uF (no mostrat al diagrama), connectat per un bus al plus, i per un minus a la resistència i la sisena sortida de la pantalla, suprimeix el xat. És millor, per descomptat, suprimir la xerrameca amb un botó de commutació i activador RS.
Al commutador de diapositives, les sortides dels contactes fixos es connecten de la mateixa manera que per als interruptors de commutació, i la mòbil es connecta a la sortida del mòdul 6. En aquest cas, el desenvolupador va tornar a mostrar la por de les resistències. Aquest commutador és necessari per escollir entre els modes de transmissió d’ordres (zero) i dades (unitat).
Indoorgeek va connectar la sortida del resistor variable corresponent al mínim contrast amb el cable comú, oposat al bus més, i al centre (motor) a la tercera sortida del mòdul.
Conclusions 1, 5 i 16 (respectivament, menys potència, escriptura / lectura i menys llum de fons) el mestre connectat a un cable comú, de manera que el mode de gravació es selecciona contínuament. Conclusions 2 i 15 (respectivament, més potència i més llum de fons), es va connectar al bus de cinc volts. Al mòdul de visualització s'integra una resistència de limitació de corrent a través dels LED de llum de fons.
Si heu recollit tot això, ara mateix, és així:
El panell frontal indoorgeek està dissenyat perquè puguis fer el mateix:
Podeu aprendre les ordres del controlador HD44780 i com controlar-les fitxa. També podeu veure exemples de guió preparats per a simulador. Per començar, repetirem els passos que hi ha darrere de l'indoorgeek per mostrar HELLO!
Encén el dispositiu. El contrallum s’il·luminarà. Desplaceu el commutador de diapositives a la posició corresponent al zero lògic, de manera que l’indicador passi al mode de recepció d’ordres. Poseu el número binari 00001111 al bus de comandes / dades amb els registradors i premeu breument el botó estroboscopi. Aquesta ordre significa: encendre la pantalla, fer visible el cursor i parpellejar, cosa que passarà. De la mateixa manera, emetrem l’ordre 00110000, que vol dir: rebre dades en format de 8 bits, seleccionar la primera línia i el tipus 5 per 8 píxels. Visualment, no passarà res, però en algun lloc del controlador de pantalla es faran els interruptors necessaris. Podeu transferir dades. Traduïm el commutador de diapositives a la posició corresponent a la unitat lògica, ara el mòdul indicador està preparat per acceptar-les. Configureu el codi ASCII de la lletra H, és a dir, 01001000, commuteu els interruptors de commutació al bus i premeu el botó estroboscopi. A la pantalla apareix la lletra corresponent i el cursor mou una posició a la dreta. De la mateixa manera, passarem les lletres E, L, L, O i un punt d’exclamació: 01000101, 01001100, 01001100, 01001111, 00100001. Si fessis el mateix, no importarà a l’estand que acabes de muntar o al simulador, veuràs la inscripció HELLO ! Així:
Així va comprendre el que fa Arduino per mostrar només uns quants caràcters. I hi ha equips per realitzar accions més complexes, dominant-ne els quals, podeu obtenir efectes interessants, definir caràcters no estàndards ...
Tot just comença la vostra excursió a la "cuina" de la biblioteca Arduino LiquidCrystal i que sigui divertit!