Ulterior eu am facut o placa adaptoare pe cablaj clasic, care are inclus semireglabilul de contrast, dupa cum am prezent in articolul Modul de conectare rapida a unui afisaj LCD1602 (HD44780) la Arduino sau alta placa de dezvoltare
Pentru a reduce numarul de pini folositi se foloseste un registru de deplasare, gen 74HC594, HEF4094, etc, asa cum e prezentat si pe site-ul Arduino, in articolul 3 wires interface for LCD display
Eu am incercat alta schema, pe care am gasit-o in articolul 3 Pin HD44780 LCD for Arduino scris de Rowan Simms:
Deoarece aveam de gand sa pun un ATtiny85 in locul placii Arduino, schema adaptoare ramane:
Pentru a folosi prea multi pini, eu am mereu fundalul aprins:
iar conectarea la un ATtiny85 l-am facut asa:
Am facut legaturile si am incarcat sketch-ul in ATtiny85, cum am prezentat in articolul Programarea unui microcontroler ATTiny85 cu sketch Arduino
Am facut legaturile cu partea de montaj cu registrul de deplasare si am obtinut acelasi rezultat ca si cu placa Arduino:
Sketch-ul folisit de mine, este cel din articolul lui Simms, doar cu modificarea pinilor de comanda, conform schemei realizate:
/*
* 3-pin Arduino interface for HD44780 LCDs via 74HC595 Shift Register
* by Rowan Simms code@rowansimms.com
* License: Creative Commons - Attribution.
* Full Documentation and Description: http://rowansimms.com/article.php/lcd-hookup-in-seconds
* erata: see https://github.com/haiphamngoc/LiquidCrystal595 & http://haicuibap.ga/2013/12/ket-noi-lcd-voi-arduino-trong-6-giay/
or https://github.com/tehniq3/LiquidCrystal595
* This sketch allows Arduinos to use a shift register to control an LCD, allowing
* a reduction in pins it requires from 6 to 3 while still retaining full control
* including backlight on/off.
* This requires the use of the LiquidCrystal595 library
* available at: http://code.google.com/p/arduino-lcd-3pin/
*/
#include <LiquidCrystal595.h> // include the library
LiquidCrystal595 lcd(0,1,2); // datapin, latchpin, clockpin
void setup() {
lcd.begin(16,2); // 16 characters, 2 rows
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Wow. 3 pins!");
lcd.setCursor(0,1);
lcd.print("Fabulous");
}
void loop() {
// not used.
}
Nu trebuie sa uitati sa descarcati libraria LiquidCrystal595 si s-o copiati in directorul unde s-a instalat Arduino, la librarii..Sketch-ul este destul de mic, deci se poate folosi si pentru a afisa o tensiune, o temperatura, etc..
In stilul montajului prezentat in articolul Attiny_LCD_595 Board: LCD controlled by ATtiny85… stand-alone, care arata asa:
am desenat si eu o varianta asemanatoare de cablaj, utilizand programul Eagle PCB Software (si din graba il gresisesm, iar corecturi pentru a functiona sunt cele cu fire rosii...)
iar o "simulare 3D:
Niciun comentariu:
Trimiteți un comentariu