Sa artikulo, ikonekta namin ang isang 1602 likidong kristal na display na may isang module na FC-113 I2C sa Arduino, dahil kung saan isasagawa ang koneksyon gamit lamang ang dalawang mga wire ng data at dalawang mga wire sa kuryente.
Kailangan iyon
- - Arduino;
- - LCD 1602 display (16 character, 2 lines);
- - I2C adapter FC-113;
- - pagkonekta ng mga wire.
Panuto
Hakbang 1
Ang module na FC-113 ay batay sa PCF8574T microcircuit, na kung saan ay isang 8-bit shift register - I / O expander para sa serial bus na I2C. Sa pigura, ang microcircuit ay itinalaga DD1.
Ang R1 ay isang risang resistor para sa pag-aayos ng kaibahan ng LCD.
Ginagamit ang Jumper J1 upang i-on ang display backlight.
Ang mga Pin 1… 16 ay ginagamit upang ikonekta ang module sa mga display display na LCD.
Ang mga contact pad A1 … A3 ay kinakailangan upang baguhin ang address ng I2C device. Sa pamamagitan ng paghihinang ng mga kaukulang jumper, maaari mong baguhin ang address ng aparato. Ipinapakita ng talahanayan ang pagsusulatan ng mga address at jumper: "0" ay tumutugma sa open circuit, "1" - sa naka-install na jumper. Bilang default, ang address ng aparato ay 0x27, ibig sabihin lahat ng 3 jumper ay bukas.
Hakbang 2
Ang module ay konektado sa Arduino bilang pamantayan para sa I2C bus: ang SDA pin ng module ay konektado sa analog port A4, ang SCL pin ay konektado sa analog port A5 ng Arduino. Ang module ay pinalakas ng + 5V mula sa Arduino. Ang module mismo ay konektado sa pamamagitan ng mga pin 1 … 16 na may kaukulang mga pin 1 … 16 sa LCD display.
Hakbang 3
Ngayon kailangan namin ng isang library upang gumana sa mga LCD sa pamamagitan ng interface ng I2C. Maaari mong gamitin, halimbawa, ang isang ito: https://www.dfrobot.com/wiki/index.php?title=I2C/TWI_LCD1602_Module_(SKU:_DFR0063)#Sample_Code (link sa linya na "I-download ang Sample code at library").
Ang na-download na archive na "LiquidCrystal_I2Cv1-1.rar" ay naka-zip sa folder na "\ libraries ", na matatagpuan sa direktoryo ng Arduino IDE.
Sinusuportahan ng library ang isang hanay ng mga karaniwang pag-andar para sa mga LCD screen:
LiquidCrystal () - lumilikha ng isang variable ng uri ng LiquidCrystal at tumatanggap ng mga parameter ng koneksyon sa pagpapakita (mga numero ng pin), simulan () - pagsisimula ng pagpapakita ng LCD, mga setting ng parameter (bilang ng mga linya at simbolo);
i-clear () - i-clear ang screen at ibalik ang cursor sa panimulang posisyon;
home () - ibalik ang cursor sa panimulang posisyon;
setCursor () - pagtatakda ng cursor sa tinukoy na posisyon;
sumulat () - nagpapakita ng isang character sa LCD screen;
naka-print () - nagpapakita ng teksto sa LCD screen;
cursor () - ipinapakita ang cursor, ibig sabihin salungguhitan sa ilalim ng lugar ng susunod na karakter;
noCursor () - itinatago ang cursor;
kumurap () - kumikislap na cursor;
noBlink () - kanselahin ang pagpikit;
noDisplay () - patayin ang display habang nai-save ang lahat ng ipinakitang impormasyon;
display () - i-on ang display habang nai-save ang lahat ng ipinakitang impormasyon;
scrollDisplayLeft () - mag-scroll sa posisyon ng display 1 na posisyon sa kaliwa;
scrollDisplayRight () - i-scroll ang mga nilalaman ng display sa pamamagitan ng 1 posisyon sa kanan;
autoscroll () - paganahin ang autoscroll;
noAutoscroll () - i-off ang autoscroll;
leftToRight () - itinakda ang direksyon ng teksto mula kaliwa hanggang kanan;
kananToLeft () - direksyon ng teksto mula kanan pakanan;
createChar () - Lumilikha ng isang pasadyang character para sa LCD screen.
Hakbang 4
Buksan natin ang sample: File -> Mga Sample -> LiquidCrystal_I2C -> CustomChars at gawing muli ito nang kaunti. Ipakita natin ang isang mensahe, sa pagtatapos nito ay magkakaroon ng isang kumikislap na simbolo. Ang lahat ng mga nuances ng sketch ay nagkomento sa mga komento sa code.
Hakbang 5
Tingnan natin nang mas malapit ang isyu ng paglikha ng iyong sariling mga simbolo para sa mga LCD screen. Ang bawat character sa screen ay binubuo ng 35 puntos: 5 ang lapad at 7 ang taas (+1 na nakareserba sa salungguhit). Sa linya 6 ng sketch sa itaas, nagtakda kami ng isang hanay ng 7 mga numero: {0x0, 0xa, 0x1f, 0x1f, 0xe, 0x4, 0x0}. I-convert natin ang mga numero ng hex sa binary: {00000, 01010, 11111, 11111, 01110, 00100, 00000}. Ang mga bilang na ito ay hindi hihigit sa mga bit mask para sa bawat isa sa 7 mga linya ng character, kung saan ang "0" ay nangangahulugang isang light point, at "1" isang madilim na punto. Halimbawa, isang simbolo ng puso na tinukoy bilang isang bit mask ay lilitaw sa screen tulad ng ipinakita sa figure.
Hakbang 6
I-upload ang sketch sa Arduino. Ipapakita ng screen ang inskripsiyong tinukoy namin na may isang kumikislap na cursor sa dulo.