Π‘ΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½Ρ‹ΠΉ LCD ΠΈ Arduino. Π£Ρ‡Π΅Π±Π½Ρ‹ΠΉ курс. ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ lcd ΠΊ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρƒ. ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π²Ρ‹Ρ… Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ²

Π’ этой инструкции ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ, ΠΊΠ°ΠΊ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ ΠΊ Arduino ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ LCD экраны Π½Π° 16Ρ…2 ΠΈ 20Ρ…4.

Π­Ρ‚ΠΈ экраны ΠΈΠΌΠ΅ΡŽΡ‚ Π²ΡΡ‚Ρ€ΠΎΠ΅Π½Π½ΡƒΡŽ подсвСтку Π½Π° Π±Π°Π·Π΅ ΠΌΠ°Π»ΠΎΠΌΠΎΡ‰Π½ΠΎΠ³ΠΎ свСтодиода, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ ΠΎΡ‚ +5 Π’. Для ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ этих ТидкокристалличСских экранов понадобится 6 ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ΠΎΠ². МоТно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π»ΡŽΠ±Ρ‹Π΅ ΠΏΠΈΠ½Ρ‹ Π½Π° вашСм Arduino!

Π˜Π½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡ написана Π½Π° основании LCD экранов ΠΎΡ‚ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Adafruit - blue&white 16x2, RGB 16x2 LCD, ΠΈ blue&white 20x4, RGB 20x4. Если Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Π–Πš экран ΠΎΡ‚ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ производитСля, Π½Π΅Ρ‚ 100% Π³Π°Ρ€Π°Π½Ρ‚ΠΈΠΈ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ сработаСт (хотя Π² 99% случаСв всС Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚).

Π‘ΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½Ρ‹Π΅ ΠΈ графичСскиС LCD - Π² Ρ‡Π΅ΠΌ Ρ€Π°Π·Π½ΠΈΡ†Π°?

БущСствуСт ΠΎΠ³Ρ€ΠΎΠΌΠ½ΠΎΠ΅ количСство Ρ€Π°Π·Π½Ρ‹Ρ… Π–Πš экранов. Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ рассмотрим ΡΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½Ρ‹Π΅ (character) LCD. ΠŸΠΎΠ΄ΠΎΠ±Π½Ρ‹Π΅ экраны - ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹ΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ для отобраТСния тСкста. МоТно Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΈ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠΊΠΎΠ½ΠΎΠΊ, Π½ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€ этих ΠΈΠΊΠΎΠ½ΠΎΠΊ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ°Ρ‚ΡŒ 7 пиксСлСй (ΠΎΡ‡Π΅Π½ΡŒ малСнькиС!).

На Ρ„ΠΎΡ‚ΠΎ Π½ΠΈΠΆΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ€Π°Π±ΠΎΡ‚Ρ‹ LCD ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€Π° Π½Π° 16 символов с двумя строками:

Если Π²Ρ‹ ΠΏΡ€ΠΈΡΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅ΡΡŒ ΠΏΠΎΠ²Π½ΠΈΠΌΠ°Ρ‚Π΅Π»ΡŒΠ½Π΅Π΅, Π²Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅ малСнькиС ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠΈ, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‚ΡΡ символы. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ - это ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Π°Ρ сСтка пиксСлСй. Для сравнСния, Π½ΠΈΠΆΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ графичСский (graphical) LCD экран:

На графичСском ТидкокристалличСском дисплСС ΠΎΠ΄Π½Π° большая сСтка пиксСлСй (Π² Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ - 128Ρ…64). На Π½Π΅ΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ тСкст, Π½ΠΎ Π»ΡƒΡ‡ΡˆΠ΅ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ изобраТСния. ГрафичСскиС LCD ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ большС ΠΏΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Π°ΠΌ, Π½Π° Π½ΠΈΡ… большС ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ΠΎΠ² для ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ… нСсколько слоТнСС, Ρ‡Π΅ΠΌ тСкстовыС.

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ рассмотрим Ρ‚ΠΎΠ»ΡŒΠΊΠΎ тСкстовыС/ΡΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½Ρ‹Π΅ экраны!

Π Π°Π·Π½Ρ‹Π΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ LCD экранов

ПослС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΌΡ‹ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ»ΠΈ Ρ‚ΠΈΠΏ рассматриваСмых экранов, рассмотрим, ΠΊΠ°ΠΊΠΈΠ΅ ΠΎΠ½ΠΈ Π±Ρ‹Π²Π°ΡŽΡ‚.


НСсмотря Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для отобраТСния тСкста, ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Ρ€Π°Π·Π½Ρ‹Π΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΈ Ρ„ΠΎΡ€ΠΌ-Ρ„Π°ΠΊΡ‚ΠΎΡ€Ρ‹: Π² Π»Π΅Π²ΠΎΠΌ Π²Π΅Ρ€Ρ…Π½Π΅ΠΌ ΡƒΠ³Π»Ρƒ Π–Πš экран 20x4 с Π±Π΅Π»Ρ‹ΠΌ тСкстом Π½Π° синСм Ρ„ΠΎΠ½Π΅, Π² ΠΏΡ€Π°Π²ΠΎΠΌ Π²Π΅Ρ€Ρ…Π½Π΅ΠΌ - 16x4 с Ρ‡Π΅Ρ€Π½Ρ‹ΠΌ тСкстом Π½Π° Π·Π΅Π»Π΅Π½ΠΎΠΌ Ρ„ΠΎΠ½Π΅, слСва Π²Π½ΠΈΠ·Ρƒ - 16x2 с Π±Π΅Π»Ρ‹ΠΌ тСкстом Π½Π° синСм Ρ„ΠΎΠ½Π΅ ΠΈ 16x1 с Ρ‡Π΅Ρ€Π½Ρ‹ΠΌ тСкстом Π½Π° сСром Ρ„ΠΎΠ½Π΅.

Π₯ΠΎΡ€ΠΎΡˆΠ°Ρ Π½ΠΎΠ²ΠΎΡΡ‚ΡŒ: всС эти экраны взаимозамСняСмы. Если Π²Ρ‹ настроили ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π½ΠΈΡ…, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π΅Π³ΠΎ Π½Π° Π΄Ρ€ΡƒΠ³ΡƒΡŽ модСль. Π‘ΠΊΠ΅Ρ‚Ρ‡ Arduino придСтся Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ, Π½ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎΠ΅!


Π’ этой части ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ LCD экраны с ΠΎΠ΄Π½ΠΎΠΉ Ρ€Π΅Π»ΡŒΡΠΎΠΉ ΠΈ 16 ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Π°ΠΌΠΈ для ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ (смотритС Ρ„ΠΎΡ‚ΠΎ Π²Ρ‹ΡˆΠ΅). Π•ΡΡ‚ΡŒ ΠΈ LCD с 2 Ρ€Π΅Π»ΡŒΡΠ°ΠΌΠΈ ΠΏΠΎ 8 ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ΠΎΠ² для ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ (Π½Π° рисункС Π½ΠΈΠΆΠ΅).


ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π²Ρ‚ΠΎΡ€ΡƒΡŽ модСль ΠΊ бСспаСчной ΠΌΠΎΠ½Ρ‚Π°ΠΆΠ½ΠΎΠΉ ΠΏΠ»Π°Ρ‚Π΅ слоТнСС.

ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ символьного LCD экрана ΠΊ Arduino

УстанавливаСм Ρ€Π΅Π»ΡŒΡΡ‹ ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ΠΎΠ²


Помимо LCD экрана Π²Π°ΠΌ понадобится Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ обвязка. Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ… - ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠΎΠΌΠ΅Ρ‚Ρ€ Π½Π° 10 КОм. Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠΎΠΌΠ΅Ρ‚Ρ€Π° ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ Π½Π°ΡΡ‚Ρ€Π°ΠΈΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ½Ρ‚Ρ€Π°ΡΡ‚Π½ΠΎΡΡ‚ΡŒ дисплСя. На ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Π–Πš экранС Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ настройки контрастности, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ Π±Π΅Π· Ρ€Π΅Π³ΡƒΠ»ΠΈΡ€ΠΎΠ²ΠΊΠΈ Π½Π΅ ΠΎΠ±ΠΎΠΉΡ‚ΠΈΡΡŒ. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π²Π°ΠΌ понадобится Ρ€Π΅Π»ΡŒΡΠ° ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ΠΎΠ² 0.1".


Если Ρ€Π΅Π»ΡŒΡΠ° с ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Π°ΠΌΠΈ слишком длинная, лишниС ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Ρ‹ ΠΌΠΎΠ΄Π½ΠΎ просто ΠΎΡ‚Ρ€Π΅Π·Π°Ρ‚ΡŒ!

Π’Π°ΠΌ Π½Π°Π΄ΠΎ ΠΏΡ€ΠΈΠΏΠ°ΡΡ‚ΡŒ ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Ρ‹ ΠΊ Π–Πš дисплСю.

ΠŸΡ€ΠΈ ΠΏΠ°ΠΉΠΊΠ΅ Π±ΡƒΠ΄ΡŒΡ‚Π΅ ΠΏΡ€Π΅Π΄Π΅Π»ΡŒΠ½ΠΎ остороТны, Π½Π΅ ΠΏΠΎΠ²Ρ€Π΅Π΄ΠΈΡ‚Π΅ ваш Breadboard ! ΠœΠΎΠΆΠ΅Ρ‚Π΅ сначала "ΠΏΡ€ΠΈΡ…Π²Π°Ρ‚ΠΈΡ‚ΡŒ" ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΈ 16 ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Ρ‹, Π° ΠΏΠΎΡ‚ΠΎΠΌ ΡƒΠΆΠ΅ ΠΏΡ€ΠΈΠΏΠ°ΡΡ‚ΡŒ ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅.


ΠŸΠΈΡ‚Π°Π½ΠΈΠ΅ ΠΈ подсвСтка

ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌ ΠΏΠΈΡ‚Π°Π½ΠΈΠ΅ ΠΈ подсвСтку

ПояснСния


ΠœΡ‹ Π½Π°Ρ‡ΠΈΠ½Π°Π΅ΠΌ ΠΏΠΎΠ΄Π±ΠΈΡ€Π°Ρ‚ΡŒΡΡ ΠΊ интСрСсным Π²Π΅Ρ‰Π°ΠΌ! УстановитС ваш LCD Π½Π° breadboard.


ΠœΠ°ΠΊΠ΅Ρ‚Π½ΡƒΡŽ ΠΏΠ»Π°Ρ‚Ρƒ Π·Π°ΠΏΠΈΡ‚Ρ‹Π²Π°Π΅ΠΌ ΠΎΡ‚ нашСго Arduino. ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ +5V ΠΊ красной Ρ€Π΅Π»ΡŒΡΠ΅, Π° Gnd - ΠΊ синСй.


ПослС этого ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΠΌ подсвСтку нашСго LCD экрана. ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ 16 ΠΊ gnd, Π° ΠΏΠΈΠ½ 15 - ΠΊ +5V. На Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ Π–Πš экранов прСдусмотрСны рСзисторы для подсвСтки.

Если ΠΆΠ΅ Π½Π° вашСм ΠΌΠΎΠ΄ΡƒΠ»Π΅ рСзисторов Π½Π΅ оказалось, придСтся Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΎΠ΄ΠΈΠ½ ΠΌΠ΅ΠΆΠ΄Ρƒ 5V ΠΈ ΠΏΠΈΠ½ΠΎΠΌ 15. Для расчСта Π½ΠΎΠΌΠΈΠ½Π°Π»Π° рСзисторов, ΡƒΡ‚ΠΎΡ‡Π½ΠΈΡ‚Π΅ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ‚ΠΎΠΊ для питания подсвСтки ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ падСния напряТСния ΠΈΠ· Π΄Π°Ρ‚Π°ΡˆΠΈΡ‚Π°. ΠžΡ‚Π½ΠΈΠΌΠΈΡ‚Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ падСния напряТСния ΠΎΡ‚ 5 Π’, послС этого Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅ Π½Π° ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½ΡƒΡŽ силу Ρ‚ΠΎΠΊΠ° ΠΈ ΠΎΠΊΡ€ΡƒΠ³Π»ΠΈΡ‚Π΅ ΠΊ Π±Π»ΠΈΠΆΠ°ΠΉΡˆΠ΅ΠΌΡƒ Π±ΠΎΠ»ΡŒΡˆΠ΅ΠΌΡƒ стандартному Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ Π½ΠΎΠΌΠΈΠ½Π°Π»Π° рСзистора. НапримСр, Ссли ΠΏΠ°Π΄Π΅Π½ΠΈΠ΅ напряТСния составляСт 3.5 Π’, Π° сила Ρ‚ΠΎΠΊΠ° 16 мА, Π½ΠΎΠΌΠΈΠ½Π°Π» рСзистора Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π²Π΅Π½: (5 - 3.5)/0.016 = 93.75 Ом, ΠΈΠ»ΠΈ 100 Ом послС округлСния ΠΊ стандартному Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ. Если Π²Ρ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°ΠΉΡ‚ΠΈ Π΄Π°Ρ‚Π°ΡˆΠΈΡ‚, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ рСзистор Π½Π° 220 Ом. ΠŸΡ€Π°Π²Π΄Π°, Π² этом случаС подсвСтка ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ достаточно Π±Π»Π΅Π΄Π½ΠΎΠΉ.


ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ ваш Arduino ΠΊ ΠΏΠΈΡ‚Π°Π½ΠΈΡŽ. ΠŸΠΎΠ΄ΡΠ²Π΅Ρ‚ΠΊΠ° Π΄ΠΎΠ»ΠΆΠ½Π° Π·Π°Π³ΠΎΡ€Π΅Ρ‚ΡŒΡΡ.

ΠšΡΡ‚Π°Ρ‚ΠΈ, Π½Π° Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π΄Π΅ΡˆΠ΅Π²Ρ‹Ρ… LCD экранах подсвСтка Π½Π΅ прСдусмотрСна!

Π‘Ρ…Π΅ΠΌΠ° для настройки контраста

ЦСпь для настройки контраста

ПояснСния


УстанавливаСм ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠΎΠΌΠ΅Ρ‚Ρ€. На Ρ„ΠΎΡ‚ΠΎ ΠΎΠ½ находится справа ΠΎΡ‚ ΠΏΠΈΠ½Π° 1.


ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ ΠΎΠ΄Π½Ρƒ сторону ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠΎΠΌΠ΅Ρ‚Ρ€Π° ΠΊ +5V, Π° Π²Ρ‚ΠΎΡ€ΡƒΡŽ - ΠΊ Gnd. Π‘Ρ€Π΅Π΄Π½ΠΈΠΉ ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠΎΠΌΠ΅Ρ‚Ρ€Π° ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ ΠΊ 3 ΠΏΠΈΠ½Ρƒ Π½Π° LCD.


Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌ Π»ΠΎΠ³ΠΈΠΊΡƒ нашСго экрана - это ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Π°Ρ ΠΎΡ‚ подсвСтки Ρ†Π΅ΠΏΡŒ! Пин 1 ΠΈΠ΄Π΅Ρ‚ ΠΊ Gnd, Π° ΠΏΠΈΠ½ 2 - ΠΊ +5V.


Π’ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ ваш Arduino. Если Π½Π° LCD ΠœΠΎΠ½ΠΈΡ‚ΠΎΡ€Π΅ прСдусмотрСна подсвСтка, ΠΎΠ½Π° Π΄ΠΎΠ»ΠΆΠ½Π° Π·Π°Π³ΠΎΡ€Π΅Ρ‚ΡŒΡΡ. ΠŸΠΎΠΊΡ€ΡƒΡ‚ΠΈΡ‚Π΅ Ρ€ΡƒΡ‡ΠΊΡƒ ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠΎΠΌΠ΅Ρ‚Ρ€Π°, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠΈ пиксСлСй Π½Π° ΠΏΠ΅Ρ€Π²ΠΎΠΉ строкС.

Если всС сработало, поздравляСм. Π­Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚, Ρ‡Ρ‚ΠΎ Π»ΠΎΠ³ΠΈΠΊΠ°, подсвСтка ΠΈ контраст Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚! Если Π½Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΎΡΡŒ, Π½Π΅ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚Π΅ ΠΊ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ шагам инструкции, ΠΏΠΎΠΊΠ° Π½Π΅ выяснитС, Π² Ρ‡Π΅ΠΌ ошибка!

ΠžΠΊΠΎΠ½Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

ΠžΡ‚ D0 Π΄ΠΎ D7, RS, EN, ΠΈ RW. D0-D7 - это ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Ρ‹, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… хранится значСния, ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Π΅ΠΌΡ‹Π΅ Π½Π° дисплСй. ΠšΠΎΠ½Ρ‚Π°ΠΊΡ‚ RS сообщаСт ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρƒ, Π±ΡƒΠ΄Π΅ΠΌ Π»ΠΈ ΠΌΡ‹ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ASCII символ) ΠΈΠ»ΠΈ это ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΠΉ Π±Π°ΠΉΡ‚ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, смСна полоТСния курсора). ΠšΠΎΠ½Ρ‚Π°ΠΊΡ‚ EN - это сокращСниС ΠΎΡ‚ "enable" (доступно), с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ этого ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Π° ΠΌΡ‹ сообщаСм LCD, ΠΊΠΎΠ³Π΄Π° Π΄Π°Π½Π½Ρ‹Π΅ Π³ΠΎΡ‚ΠΎΠ²Ρ‹ для считывания. ΠšΠΎΠ½Ρ‚Π°ΠΊΡ‚ RW ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для установки направлСния - ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ (ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ) ΠΈΠ»ΠΈ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ (ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Ρ€Π΅ΠΆΠ΅) Π΄Π°Π½Π½Ρ‹Π΅ с дисплСя.

НС всС эти ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Ρ‹ Π½Π°Π΄ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ ΠΊ Arduino. НапримСр, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ RW Π½Π΅ Π½Π°Π΄ΠΎ, Ссли ΠΌΡ‹ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌ Π΄Π°Π½Π½Ρ‹Π΅ Π½Π° экранС, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ Π΅Π³ΠΎ достаточно "ΠΏΠΎΠ΄Ρ‚ΡΠ½ΡƒΡ‚ΡŒ" ΠΊ ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Ρƒ Gnd. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΠΌΠ΅Π½ΠΈΠ²Π°Ρ‚ΡŒΡΡ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ с LCD экраном, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ 4 ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Π° вмСсто 8. ВСроятно, Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ Π·Π°ΠΊΠΎΠ½ΠΎΠΌΠ΅Ρ€Π½Ρ‹ΠΉ вопрос, Π² ΠΊΠ°ΠΊΠΈΡ… случаях ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ 8 ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ΠΎΠ²? Π‘ΠΊΠΎΡ€Π΅Π΅ всСго, это влияСт Π½Π° ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π΄Π°Π½Π½Ρ‹Ρ…. Π’ΠΎ Π΅ΡΡ‚ΡŒ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ 8 ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ΠΎΠ² вмСсто 4, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ ΠΎΠ±ΠΌΠ΅Π½Π° ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ Π² 2 Ρ€Π°Π·Π°. Π’ Π΄Π°Π½Π½ΠΎΠΌ случаС, ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Π½Π΅ Π²Π°ΠΆΠ½Π°, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ 4 ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Π° для ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ LCD ΠΊ Arduino.

Π˜Ρ‚Π°ΠΊ, Π½Π°ΠΌ понадобятся 6 ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ΠΎΠ²: RS, EN, D7, D6, D5, ΠΈ D4.

Для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с LCD экраном, Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ LiquidCrystal library, которая Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΠ±Π»Π΅Π³Ρ‡Π°Π΅Ρ‚ процСсс настройки ΠΏΠΈΠ½ΠΎΠ². Одно ΠΈΠ· достоинств этой Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ: Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π»ΡŽΠ±Ρ‹Π΅ ΠΏΠΈΠ½Ρ‹ Π½Π° Arduino для ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ΠΎΠ² Π–Πš дисплСя. Π’Π°ΠΊ Ρ‡Ρ‚ΠΎ ΠΏΠΎ ΠΎΠΊΠΎΠ½Ρ‡Π°Π½ΠΈΡŽ этого Π³Π°ΠΉΠ΄Π° Π²Ρ‹ смоТСтС Π»Π΅Π³ΠΊΠΎ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Ρ‹, Ссли это ΠΊΡ€ΠΈΡ‚ΠΈΡ‡Π½ΠΎ для вашСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.

ΠžΠΊΠΎΠ½Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ дисплСя

ПояснСния


Как ΡƒΠΏΠΎΠΌΠΈΠ½Π°Π»ΠΎΡΡŒ Π²Ρ‹ΡˆΠ΅, ΠΌΡ‹ Π½Π΅ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΈΠ½ RW, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ "подтягиваСм" Π΅Π³ΠΎ ΠΊ Π·Π΅ΠΌΠ»Π΅. Π­Ρ‚ΠΎ ΠΏΠΈΠ½ 5.


ПослС ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌ RS - это ΠΏΠΈΠ½ #4. ΠœΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ ΠΊΠΎΡ€ΠΈΡ‡Π½Π΅Π²Ρ‹ΠΉ ΠΏΡ€ΠΎΠ²ΠΎΠ΄ для Π΅Π³ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΊ Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠΌΡƒ ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Ρƒ #7 Π½Π° Arduino.


Π‘Π΅Π»Ρ‹ΠΌ ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΎΠΌ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌ ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ EN - ΠΏΠΈΠ½ #6 ΠΊ Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠΌΡƒ ΠΏΠΈΠ½Ρƒ digital #8 Π½Π° Arduino.


Подошла ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ ΠΊ ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Π°ΠΌ data. DB7 - это ΠΏΠΈΠ½ #14 Π½Π° LCD. Он ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ ΠΎΡ€Π°Π½ΠΆΠ΅Π²Ρ‹ΠΌ ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΎΠΌ ΠΊ ΠΏΠΈΠ½Ρƒ #12 Π½Π° Arduino.


ΠžΡΡ‚Π°Π»ΠΎΡΡŒ Ρ‚Ρ€ΠΈ ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Π° data, DB6 (ΠΏΠΈΠ½ #13 ΠΆΠ΅Π»Ρ‚Ρ‹ΠΉ), DB5 (ΠΏΠΈΠ½ #12 Π·Π΅Π»Π΅Π½Ρ‹ΠΉ) ΠΈ DB4 (ΠΏΠΈΠ½ #11 синий). Они ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ΡΡ ΠΊ ΠΏΠΈΠ½Π°ΠΌ #11, 10 ΠΈ 9 Π½Π° Arduino соотвСтствСнно.


Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Ρƒ вас получится Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ ΠΏΠΎΡ…ΠΎΠΆΠ΅Π΅ Π½Π° Ρ„ΠΎΡ‚ΠΎ слСва.

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ ΡΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½Ρ‹ΠΉ LCD

ΠŸΡ€ΠΈΡˆΠ»ΠΎ врСмя Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ скСтч Π½Π° Arduino для управлСния LCD экраном. Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° LiquidCrystal library установлСна Π² Arduino IDE ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ. Π’Π°ΠΊ Ρ‡Ρ‚ΠΎ Π½Π°ΠΌ достаточно Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² ΠΈ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π² соотвСтствии с Ρ‚Π΅ΠΌΠΈ ΠΏΠΈΠ½Π°ΠΌΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ использовали для ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ.

ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ скСтч Fileβ†’Examplesβ†’LiquidCrystalβ†’HelloWorld.

ОбновляСм ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ ΠΏΠΈΠ½Π°Ρ…. Π˜Ρ‰Π΅ΠΌ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ строку:

LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

И мСняСм СС на:

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ скСтч Π½Π° Arduino.


Если Π½Π°Π΄ΠΎ, настройтС контраст


ЕстСствСнно, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π–Πš дисплСй с Π»ΡŽΠ±Ρ‹ΠΌΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€Π°ΠΌΠΈ. НапримСр, Π½Π° Ρ„ΠΎΡ‚ΠΎ Π½ΠΈΠΆΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Π½Π° Ρ€Π°Π±ΠΎΡ‚Π° LCD 20x4.


Или Ρ‡Π΅Ρ€Π½Ρ‹ΠΉ тСкст Π½Π° Π·Π΅Π»Π΅Π½ΠΎΠΌ Ρ„ΠΎΠ½Π΅:


Одно ΠΈΠ· достоинств экранов с Ρ‡Π΅Ρ€Π½Ρ‹ΠΌ тСкстом Π½Π° Π·Π΅Π»Π΅Π½ΠΎΠΌ Ρ„ΠΎΠ½Π΅ - Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ подсвСтки.


ЗадСйствуСм насколько строк

Π”Π°Π²Π°ΠΉΡ‚Π΅ разбСрСмся, ΠΊΠ°ΠΊ Π–Πš экран ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ Π΄Π»ΠΈΠ½Π½Ρ‹Π΅ сообщСния ΠΈ задСйствуСт нСсколько строк. НапримСр, Ссли Π²Ρ‹ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ строку:

lcd.print("hello, world!");

На ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ:

lcd.print("hello, world! this is a long long message");

LCD дисплСй 16x2 ΠΎΠ±Ρ€Π΅ΠΆΠ΅Ρ‚ всС послС 16-Π³ΠΎ символа:


Но LCD дисплСй 20x4 пСрСнСсСт Π½Π΅ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½Π½Ρ‹Π΅ символы с ΠΏΠ΅Ρ€Π²ΠΎΠΉ строки Π½Π° Ρ‚Ρ€Π΅Ρ‚ΡŒΡŽ (вторая строка продолТится Π½Π° Ρ‡Π΅Ρ‚Π²Π΅Ρ€Ρ‚ΠΎΠΉ). НС ΠΎΡ‡Π΅Π½ΡŒ ΡƒΠ΄ΠΎΠ±Π½ΠΎ, Π½ΠΎ Π½Π° этом этапС придСтся ΡΠΌΠΈΡ€ΠΈΡ‚ΡŒΡΡ. Π’Π°ΠΊ Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ Π΄Π»ΠΈΠ½Π½Ρ‹Ρ… строк, считайтС символы, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ ΠΏΡ€Π΅Π²Ρ‹ΡΠΈΡ‚ΡŒ Π΄ΠΎΠΏΡƒΡΡ‚ΠΈΠΌΡƒΡŽ Π΄Π»ΠΈΠ½Ρƒ.


LCD с RGB подсвСткой

Π­Ρ‚ΠΈ экраны Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Ρ‚Π°ΠΊ ΠΆΠ΅ ΠΊΠ°ΠΊ ΠΈ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Π΅, Π½ΠΎ для подсвСтки установлСны Ρ‚Ρ€ΠΈ свСтодиода (красный, Π·Π΅Π»Π΅Π½Ρ‹ΠΉ, синий), Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°Π·Π½Ρ‹Π΅ Ρ†Π²Π΅Ρ‚Π° подсвСтки.

ПослС ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ LCD ΠΈ Π΅Π³ΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Π² соотвСтствии с инструкциями Π²Ρ‹ΡˆΠ΅, ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ свСтодиоды ΠΊ ШИМ Π°Π½Π°Π»ΠΎΠ³ΠΎΠ²Ρ‹ΠΌ ΠΏΠΈΠ½Π°ΠΌ вашСго Arduino для Ρ‚ΠΎΡ‡Π½ΠΎΠΉ настройки Ρ†Π²Π΅Ρ‚Π°. Если Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Arduino Uno, Ρƒ вас Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ ΠΎΡΡ‚Π°Ρ‚ΡŒΡΡ Ρ‚Ρ€ΠΈ свободных ШИМ ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Π°. ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ красный свСтодиод (16 ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ Π½Π° LCD) ΠΊ Digital 3, Π·Π΅Π»Π΅Π½Ρ‹ΠΉ свСтодиод (ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ 17) - ΠΊ Digital 5, Π° синий свСтодиод (18 ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ Π½Π° LCD) - ΠΊ digital 6. На LCD ΠΌΠΎΠ΄ΡƒΠ»Π΅ ΡƒΠΆΠ΅ прСдусмотрСны рСзисторы, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Π½Π΅ Π½Π°Π΄ΠΎ.


Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚Π΅ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹ΠΉ Π½ΠΈΠΆΠ΅ скСтч Π½Π° Arduino.

// Π²ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌ Π² скСтч Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ:

#include

#include

#define REDLITE 3

#define GREENLITE 5

#define BLUELITE 6

// объявляСм количСство ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ

// для ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π΄Π°Π½Π½Ρ‹Ρ…

LiquidCrystal lcd(7, 8, 9, 10, 11, 12);

// ΡΡ€ΠΊΠΎΡΡ‚ΡŒ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ 0 -> 255

int brightness = 255;

// настраиваСм количСство столбцов ΠΈ строк Π½Π° LCD:

lcd.begin(16, 2);

// ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌ сообщСниС Π½Π° LCD.

lcd.print("RGB 16x2 Display ");

lcd.setCursor(0,1);

lcd.print(" Multicolor LCD ");

pinMode(REDLITE, OUTPUT);

pinMode(GREENLITE, OUTPUT);

pinMode(BLUELITE, OUTPUT);

brightness = 100;

for (int i = 0; i < 255; i++) {

setBacklight(i, 0, 255-i);

for (int i = 0; i < 255; i++) {

setBacklight(255-i, i, 0);

for (int i = 0; i < 255; i++) {

setBacklight(0, 255-i, i);

void setBacklight(uint8_t r, uint8_t g, uint8_t b) {

// настраиваСм красный свСтодиод - ΠΎΠ½ ярчС ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ…!

r = map(r, 0, 255, 0, 100);

g = map(g, 0, 255, 0, 150);

r = map(r, 0, 255, 0, brightness);

g = map(g, 0, 255, 0, brightness);

b = map(b, 0, 255, 0, brightness);

// ΠΎΠ±Ρ‰ΠΈΠΉ Π°Π½ΠΎΠ΄, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ ΠΈΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌ!

r = map(r, 0, 255, 255, 0);

g = map(g, 0, 255, 255, 0);

b = map(b, 0, 255, 255, 0);

Serial.print("R = "); Serial.print(r, DEC);

Serial.print(" G = "); Serial.print(g, DEC);

Serial.print(" B = "); Serial.println(b, DEC);

analogWrite(REDLITE, r);

analogWrite(GREENLITE, g);

analogWrite(BLUELITE, b);

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π΄Π°Π½Π½ΠΎΠ³ΠΎ скСтча ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ Π½Π° Π²ΠΈΠ΄Π΅ΠΎ Π½ΠΈΠΆΠ΅

Команда createChar

ВСроятно, Π²Ρ‹ Π·Π°Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ символы. НапримСр, Ссли Π²Ρ‹ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ с использованиСм Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠ° Ρ‚Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€Ρ‹ (Ρ‚Π΅Ρ€ΠΌΠΎΠΏΠ°Ρ€Ρ‹), Π²Π°ΠΌ пригодится символ (Β°).

Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ это ΠΌΠΎΠΆΠ½ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ createChar. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π²Π°ΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ³ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹ΠΉ Π²Π΅Π±-сайт, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ Π·Π° вас всю Π³Ρ€ΡΠ·Π½ΡƒΡŽ Ρ€Π°Π±ΠΎΡ‚Ρƒ ΠΏΠΎ созданию Π½ΠΎΠ²Ρ‹Ρ… символов !

ΠžΡΡ‚Π°Π²Π»ΡΠΉΡ‚Π΅ Π’Π°ΡˆΠΈ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ, вопросы ΠΈ Π΄Π΅Π»ΠΈΡ‚Π΅ΡΡŒ Π»ΠΈΡ‡Π½Ρ‹ΠΌ ΠΎΠΏΡ‹Ρ‚ΠΎΠΌ Π½ΠΈΠΆΠ΅. Π’ дискуссии часто Ρ€ΠΎΠΆΠ΄Π°ΡŽΡ‚ΡΡ Π½ΠΎΠ²Ρ‹Π΅ ΠΈΠ΄Π΅ΠΈ ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹!

ДисплСи LCD 1602 Ρ€Π°Π·ΠΌΠ΅Ρ€Π°, созданныС Π½Π° Π±Π°Π·Π΅ HD44780 ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°, Π² наши Π΄Π½ΠΈ всё Π΅Ρ‰Ρ‘ ΠΎΡΡ‚Π°ΡŽΡ‚ΡΡ ΠΎΠ΄Π½ΠΈΠΌΠΈ ΠΈΠ· самых доступных, простых ΠΈ вострСбованных, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊΠΈΠ΅ Π±Ρ‹ Ρ‚ΠΎ Π½ΠΈ Π±Ρ‹Π»ΠΎ элСктронныС устройства. ΠΠ΅ΡƒΠ΄ΠΈΠ²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ, Ρ‡Ρ‚ΠΎ ΠΈΡ… ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ ΠΊΠ°ΠΊ Π² простых, собранных Π±ΡƒΠΊΠ²Π°Π»ΡŒΠ½ΠΎ Π½Π° ΠΊΠΎΠ»Π΅Π½ΠΊΠ΅ Π°Π³Ρ€Π΅Π³Π°Ρ‚Π°Ρ…, Ρ‚Π°ΠΊ ΠΈ Π² Π±ΠΎΠ»Π΅Π΅ ΡΠ΅Ρ€ΡŒΠ΅Π·Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠΌΡ‹ΡˆΠ»Π΅Π½Π½Ρ‹Ρ…, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚Π°Ρ… для приготовлСния ΠΊΠΎΡ„Π΅. ИмСнно с Ρ‚Π°ΠΊΠΈΠΌ дисплССм ΠΈ ΡΠΎΠ±ΠΈΡ€Π°ΡŽΡ‚ΡΡ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ популярныС ΠΌΠΎΠ΄ΡƒΠ»ΠΈ ΠΈ ΡˆΠΈΠ»Π΄Ρ‹ ΠΏΠΎ Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠ΅ Arduino, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ LCD I2C ΠΌΠΎΠ΄ΡƒΠ»ΡŒ ΠΈ LCD Keypad Shield.

Данная ΡΡ‚Π°Ρ‚ΡŒΡ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ с изобраТСниями рассказываСт, ΠΊΠ°ΠΊ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ LCD ΠΊ Arduino ΠΈ ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ.

ДисплСи 1602 ΠΈΠΌΠ΅ΡŽΡ‚ Π΄Π²Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… исполнСния :

Жёлтая подсвСтка с Ρ‡Ρ‘Ρ€Π½Ρ‹ΠΌΠΈ Π±ΡƒΠΊΠ²Π°ΠΌΠΈ
- Π»ΠΈΠ±ΠΎ (это Π±Ρ‹Π²Π°Π΅Ρ‚ Π³ΠΎΡ€Π°Π·Π΄ΠΎ Ρ‡Π°Ρ‰Π΅) синяя подсвСтка с Π±Π΅Π»Ρ‹ΠΌΠΈ.

Π Π°Π·ΠΌΠ΅Ρ€Π½ΠΎΡΡ‚ΡŒ дисплССв Π½Π° HD44780 ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π΅ Π±Ρ‹Π²Π°Π΅Ρ‚ самой Ρ€Π°Π·Π½ΠΎΠΉ, Π° ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‚ΡΡ ΠΎΠ½ΠΈ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎ. НаиболСС распространённыС ΠΈΠ· размСрностСй – 16 Π½Π° 02 (Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΠΏΠΎ 16 символов Π² Π΄Π²ΡƒΡ… строках) ΠΈΠ»ΠΈ 20 Π½Π° 04. Π‘Π°ΠΌΠΈ ΠΆΠ΅ символы ΠΈΠΌΠ΅ΡŽΡ‚ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π² 5 Π½Π° 8 Ρ‚ΠΎΡ‡Π΅ΠΊ.

Π‘ΠΎΠ»ΡŒΡˆΠ°Ρ Ρ‡Π°ΡΡ‚ΡŒ дисплССв Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΊΠΈΡ€ΠΈΠ»Π»ΠΈΡ†Ρƒ (Π·Π° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ дисплССв CTK-ΠΌΠ°Ρ€ΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ). Но такая ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° частично Ρ€Π΅ΡˆΠ°Π΅ΠΌΠ°, ΠΈ Π΄Π°Π»Π΅Π΅ ΡΡ‚Π°Ρ‚ΡŒΡ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ рассказываСт, ΠΊΠ°ΠΊ это ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ.

На дисплСС Π΅ΡΡ‚ΡŒ 16-PIN Ρ€Π°Π·ΡŠΡ‘ΠΌ для ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ. Π’Ρ‹Π²ΠΎΠ΄Ρ‹ ΠΈΠΌΠ΅ΡŽΡ‚ ΠΌΠ°Ρ€ΠΊΠΈΡ€ΠΎΠ²ΠΊΡƒ с Ρ‚Ρ‹Π»ΡŒΠ½ΠΎΠΉ стороны ΠΏΠ»Π°Ρ‚Ρ‹ , ΠΎΠ½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ:

1 (VSS) – ΠΏΠΈΡ‚Π°Π½ΠΈΠ΅ Π½Π° минус для ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°.
2 (VDD) – ΠΏΠΈΡ‚Π°Π½ΠΈΠ΅ Π½Π° плюс для ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°.
3 (VO) – настройки управлСния контрастом.
4 (RS) – Π²Ρ‹Π±ΠΎΡ€ для рСгистра.
5 (R/W) – Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ ΠΈ запись, Π² частности, запись ΠΏΡ€ΠΈ соСдинСнии с Π·Π΅ΠΌΠ»Ρ‘ΠΉ.
6 (E) – активация (enable).
7–10 (DB0-DB3) – младшиС Π±ΠΈΡ‚Ρ‹ ΠΎΡ‚ Π²ΠΎΡΡŒΠΌΠΈΠ±ΠΈΡ‚Π½ΠΎΠ³ΠΎ интСрфСйса.
11–14 (DB4-DB7) – ΡΡ‚Π°Ρ€ΡˆΠΈΠ΅ Π±ΠΈΡ‚Ρ‹ ΠΎΡ‚ интСрфСйса
15 (A) – ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π°Π½ΠΎΠ΄ Π½Π° ΠΏΠΈΡ‚Π°Π½ΠΈΠ΅ подсвСтки.
16 (K) – ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠ°Ρ‚ΠΎΠ΄ Π½Π° ΠΏΠΈΡ‚Π°Π½ΠΈΠ΅ подсвСтки.

Π¨Π°Π³ 2: ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌ Π–Πš-дисплСй

ΠŸΠ΅Ρ€Π΅Π΄ Ρ‚Π΅ΠΌ ΠΊΠ°ΠΊ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ дисплСй ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ Π½Π° Π½Π΅Π³ΠΎ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ, стоит ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Π΅Π³ΠΎ Ρ€Π°Π±ΠΎΡ‚ΠΎΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒ. Π‘ΠΏΠ΅Ρ€Π²Π° ΠΏΠΎΠ΄Π°ΠΉΡ‚Π΅ напряТСниС Π½Π° VSS ΠΈ VDD ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€, Π·Π°ΠΏΠΈΡ‚Π°ΠΉΡ‚Π΅ подсвСтку (A, K), Π΄Π°Π»Π΅Π΅ настройтС ΠΊΠΎΠ½Ρ‚Ρ€Π°ΡΡ‚Π½ΠΎΡΡ‚ΡŒ. Для Ρ‚Π°ΠΊΠΈΡ… настроСк ΠΏΠΎΠ΄ΠΎΠΉΠ΄Ρ‘Ρ‚ ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠΎΠΌΠ΅Ρ‚Ρ€ с 10 кОм, Ρ„ΠΎΡ€ΠΌΠ° Π΅Π³ΠΎ Π½Π΅ Π²Π°ΠΆΠ½Π°. На ΠΊΡ€Π°ΠΉΠ½ΠΈΠ΅ Π½ΠΎΠ³ΠΈ ΠΏΠΎΠ΄Π°ΡŽΡ‚ +5V ΠΈ GND, Π° Π½ΠΎΠΆΠΊΡƒ ΠΏΠΎ Ρ†Π΅Π½Ρ‚Ρ€Ρƒ ΡΠΎΠ΅Π΄ΠΈΠ½ΡΡŽΡ‚ с VO Π²Ρ‹Π²ΠΎΠ΄ΠΎΠΌ.

Когда Π½Π° схСму подаётся ΠΏΠΈΡ‚Π°Π½ΠΈΠ΅, Π½ΡƒΠΆΠ½ΠΎ Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠ³ΠΎ контраста, Ссли ΠΎΠ½ настраиваСтся Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ, Ρ‚ΠΎ ΠΈ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π½Π° экранС Π²ΠΈΠ΄Π½ΠΎ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚. Π§Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ контраст, Π½ΡƒΠΆΠ½ΠΎ Β«ΠΏΠΎΠΈΠ³Ρ€Π°Ρ‚ΡŒΒ» с ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠΎΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ. Когда схСма Π±ΡƒΠ΄Π΅Ρ‚ собрана ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ΠΈ контраст настроСн Π²Π΅Ρ€Π½ΠΎ, вСрхняя строка Π½Π° экранС Π΄ΠΎΠ»ΠΆΠ½Π° Π·Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒΡΡ ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ°ΠΌΠΈ.

Π§Ρ‚ΠΎΠ±Ρ‹ дисплСй Ρ€Π°Π±ΠΎΡ‚Π°Π», примСняСтся встроСнная Π² Arduino IDE срСду ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Π°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° LiquidCrystal.h, ΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ я Π½Π°ΠΏΠΈΡˆΡƒ Π½ΠΈΠΆΠ΅. Он ΠΌΠΎΠΆΠ΅Ρ‚ Π΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Π² 8-Π±ΠΈΡ‚Π½ΠΎΠΌ ΠΈ Π² 4-Π±ΠΈΡ‚Π½ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅. Π’ ΠΏΠ΅Ρ€Π²ΠΎΠΌ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π΅ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ лишь младшиС ΠΈ ΡΡ‚Π°Ρ€ΡˆΠΈΠ΅ Π±ΠΈΡ‚Ρ‹ (BB0-DB7), Π²ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΌ – Ρ‚ΠΎΠ»ΡŒΠΊΠΎ младшиС (BB4-DB7).

Но ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ 8-Π±ΠΈΡ‚Π½ΠΎΠ³ΠΎ Ρ€Π΅ΠΆΠΈΠΌΠ° Π² этом дисплСС – Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅, прСимущСства Π² скорости ΠΏΠΎΡ‡Ρ‚ΠΈ Π½Π΅Ρ‚, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ частота обновлСния Ρƒ Π½Π΅Π³ΠΎ всСгда мСньшС 10 Ρ€Π°Π· Π·Π° сСкунду. Π§Ρ‚ΠΎΠ±Ρ‹ выводился тСкст, Π½Π°Π΄ΠΎ ΠΏΡ€ΠΈΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ Π²Ρ‹Π²ΠΎΠ΄Ρ‹ DB7, DB6, DB5, DB4, E ΠΈ RS ΠΊ Π²Ρ‹Π²ΠΎΠ΄Π°ΠΌ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°. ΠŸΡ€ΠΈΡΠΎΠ΅Π΄ΠΈΠ½ΡΡ‚ΡŒ ΠΈΡ… допустимо ΠΊ Π»ΡŽΠ±Ρ‹ΠΌ ΠΏΠΈΠ½Π°ΠΌ Arduino, Π³Π»Π°Π²Π½ΠΎΠ΅ – Π·Π°Π΄Π°Π½ΠΈΠ΅ Π²Π΅Ρ€Π½ΠΎΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π² ΠΊΠΎΠ΄Π΅.

Если Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠ³ΠΎ символа ΠΏΠΎΠΊΠ° Ρ‡Ρ‚ΠΎ Π½Π΅Ρ‚ Π² памяти ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°, Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π΅Π³ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ (всСго Π΄ΠΎ сСми символов). Π―Ρ‡Π΅ΠΉΠΊΠ° Π² рассматриваСмых дисплСях ΠΈΠΌΠ΅Π΅Ρ‚ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ Π² ΠΏΡΡ‚ΡŒ Π½Π° восСмь Ρ‚ΠΎΡ‡Π΅ΠΊ. Π—Π°Π΄Π°Ρ‡Π° создания символа Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π±ΠΈΡ‚ΠΎΠ²ΡƒΡŽ маску ΠΈ Ρ€Π°ΡΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π΅Π΄ΠΈΠ½ΠΈΡ‡ΠΊΠΈ Π² мСстах, Π³Π΄Π΅ Ρ‚ΠΎΡ‡ΠΊΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π³ΠΎΡ€Π΅Ρ‚ΡŒ, Π° Π½ΠΎΠ»ΠΈΠΊΠΈ – Π³Π΄Π΅ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹.

РассмотрСнная Π²Ρ‹ΡˆΠ΅ схСма ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π½Π΅ всСгда Ρ…ΠΎΡ€ΠΎΡˆΠ°, Ρ‚. ΠΊ. Π½Π° Arduino занимаСтся ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ ΡˆΠ΅ΡΡ‚ΡŒ Ρ†ΠΈΡ„Ρ€ΠΎΠ²Ρ‹Ρ… Π²Ρ‹Ρ…ΠΎΠ΄ΠΎΠ².

Π¨Π°Π³ 3: Π‘Ρ…Π΅ΠΌΠ° ΠΎΠ±Ρ…ΠΎΠ΄Π°

Π˜Π·ΡƒΡ‡ΠΈΠΌ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚, ΠΊΠ°ΠΊ ΠΎΠ±ΠΎΠΉΡ‚ΠΈ это ΠΈ ΠΎΠ±ΠΎΠΉΡ‚ΠΈΡΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ двумя. НуТСн Π΄ΠΎΠ±Π°Π²ΠΎΡ‡Π½Ρ‹ΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ-ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚ΠΎΡ€ для LCD Π² IIC/I2C. Как ΠΎΠ½ припаиваСтся ΠΊ дисплСю ΠΈ присоСдиняСтся ΠΊ Arduino, ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Π½Π° изобраТСниях Π½ΠΈΠΆΠ΅.

Но Ρ‚Π°ΠΊΠΎΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ дСйствуСт лишь со ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΎΠΉ LiquidCrystal_I2C1602V1, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ, Π²ΠΏΡ€ΠΎΡ‡Π΅ΠΌ, Π½Π΅Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ Π½Π°ΠΉΡ‚ΠΈ Π² Π‘Π΅Ρ‚ΠΈ ΠΈ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ, послС Ρ‡Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π±Π΅Π· ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ ΠΈΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ.

Π¨Π°Π³ 4: Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° LiquidCrystal.h

Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ LiquidCrystal.h ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ с ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ рСсурса - . Π’Π°ΠΊΠΆΠ΅ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ Π½ΠΈΠΆΠ΅ ΠΏΠΎ ссылкам:

Π‘ΠΊΠ΅Ρ‚Ρ‡

ПослС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π²Ρ‹ скачали Π°Ρ€Ρ…ΠΈΠ² Π·Π°ΠΌΠ΅Π½ΠΈΡ‚Π΅ ΠΏΠ°ΠΏΠΊΡƒ LiquidCrystal Π² ΠΏΠ°ΠΏΠΊΠ΅ с Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°ΠΌΠΈ вашСго ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° установки Arduino.

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½Ρ‹ΠΉ скСтч Π² Π€Π°ΠΉΠ» -> ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ -> LiquidCrystal -> HelloWorld_SPI (File -> Examples -> LiquidCrystal -> HelloWorld_SPI).

На этом наш ΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΠΎΠΉ ΡƒΡ€ΠΎΠΊ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½. Π–Π΅Π»Π°Π΅ΠΌ Π²Π°ΠΌ качСствСнных ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ²!

LCD дисплСй – частый Π³ΠΎΡΡ‚ΡŒ Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ… Π°Ρ€Π΄ΡƒΠΈΠ½ΠΎ. Но Π² слоТных схСмах Ρƒ нас ΠΌΠΎΠΆΠ΅Ρ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡƒΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° нСдостатка ΠΏΠΎΡ€Ρ‚ΠΎΠ² Arduino ΠΈΠ·-Π·Π° нСобходимости ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ экран, Ρƒ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΎΡ‡Π΅Π½ΡŒ ΠΎΡ‡Π΅Π½ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ΠΎΠ². Π’Ρ‹Ρ…ΠΎΠ΄ΠΎΠΌ Π² этой ситуации ΠΌΠΎΠΆΠ΅Ρ‚ ΡΡ‚Π°Ρ‚ΡŒ I2C /IIC ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π½ΠΈΠΊ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ практичСски стандартный для Arduino экран 1602 ΠΊ ΠΏΠ»Π°Ρ‚Π°ΠΌ Uno, Nano ΠΈΠ»ΠΈ Mega всСго лишь ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ 4 ΠΏΠΈΠ½ΠΎΠ². Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ посмотрим, ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ LCD экран с интСрфСйсом I2C, ΠΊΠ°ΠΊΠΈΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, напишСм ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΠΉ скСтч-ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΈ Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ Ρ‚ΠΈΠΏΠΎΠ²Ρ‹Π΅ ошибки.

ЖидкокристалличСский дисплСй (Liquid Crystal Display) LCD 1602 являСтся Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΌ Π²Ρ‹Π±ΠΎΡ€ΠΎΠΌ для Π²Ρ‹Π²ΠΎΠ΄Π° строк символов Π² Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ…. Он стоит Π½Π΅Π΄ΠΎΡ€ΠΎΠ³ΠΎ, Π΅ΡΡ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ с Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ Ρ†Π²Π΅Ρ‚Π°ΠΌΠΈ подсвСтки, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π»Π΅Π³ΠΊΠΎ ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ Π³ΠΎΡ‚ΠΎΠ²Ρ‹Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ для скСтчСй Ардуино. Но самым Π³Π»Π°Π²Π½Ρ‹ΠΌ нСдостатком этого экрана являСтся Ρ‚ΠΎΡ‚ Ρ„Π°ΠΊΡ‚, Ρ‡Ρ‚ΠΎ дисплСй ΠΈΠΌΠ΅Π΅Ρ‚ 16 Ρ†ΠΈΡ„Ρ€ΠΎΠ²Ρ‹Ρ… Π²Ρ‹Π²ΠΎΠ΄ΠΎΠ², ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ 6. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ использованиС этого LCD экрана Π±Π΅Π· i2c добавляСт ΡΠ΅Ρ€ΡŒΠ΅Π·Π½Ρ‹Π΅ ограничСния для ΠΏΠ»Π°Ρ‚ Arduino Uno ΠΈΠ»ΠΈ Nano. Если ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ΠΎΠ² Π½Π΅ Ρ…Π²Π°Ρ‚Π°Π΅Ρ‚, Ρ‚ΠΎ Π²Π°ΠΌ придСтся ΠΏΠΎΠΊΡƒΠΏΠ°Ρ‚ΡŒ ΠΏΠ»Π°Ρ‚Ρƒ Arduino Mega ΠΈΠ»ΠΈ ΠΆΠ΅ ΡΡΠΊΠΎΠ½ΠΎΠΌΠΈΡ‚ΡŒ ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Ρ‹, Π² Ρ‚ΠΎΠΌ числС Π·Π° счСт ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ дисплСя Ρ‡Π΅Ρ€Π΅Π· i2c.

ΠšΡ€Π°Ρ‚ΠΊΠΎΠ΅ описаниС ΠΏΠΈΠ½ΠΎΠ² LCD 1602

Π”Π°Π²Π°ΠΉΡ‚Π΅ посмотрим Π½Π° Π²Ρ‹Π²ΠΎΠ΄Ρ‹ LCD1602 ΠΏΠΎΠ²Π½ΠΈΠΌΠ°Ρ‚Π΅Π»ΡŒΠ½Π΅ΠΉ:

ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· Π²Ρ‹Π²ΠΎΠ΄ΠΎΠ² ΠΈΠΌΠ΅Π΅Ρ‚ своС Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅:

  1. ЗСмля GND;
  2. ΠŸΠΈΡ‚Π°Π½ΠΈΠ΅ 5 Π’;
  3. Установка контрастности ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€Π°;
  4. Команда, Π΄Π°Π½Π½Ρ‹Π΅;
  5. ЗаписываниС ΠΈ Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ…;
  6. Enable;

7-14. Π›ΠΈΠ½ΠΈΠΈ Π΄Π°Π½Π½Ρ‹Ρ…;

  1. Плюс подсвСтки;
  2. ΠœΠΈΠ½ΡƒΡ подсвСтки.

ВСхничСскиС характСристики дисплСя:

  • Π‘ΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½Ρ‹ΠΉ Ρ‚ΠΈΠΏ отобраТСния, Π΅ΡΡ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ символов;
  • БвСтодиодная подсвСтка;
  • ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ HD44780;
  • НапряТСниС питания 5Π’;
  • Π€ΠΎΡ€ΠΌΠ°Ρ‚ 16Ρ…2 символов;
  • Π”ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… Ρ‚Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€ ΠΎΡ‚ -20Π‘ Π΄ΠΎ +70Π‘, Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Ρ‚Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€ хранСния ΠΎΡ‚ -30Π‘ Π΄ΠΎ +80 Π‘;
  • Π£Π³ΠΎΠ» ΠΎΠ±Π·ΠΎΡ€Π° 180 градусов.

Π‘Ρ…Π΅ΠΌΠ° ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ LCD ΠΊ ΠΏΠ»Π°Ρ‚Π΅ Ардуино Π±Π΅Π· i2C

Бтандартная схСма присоСдинСния ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€Π° Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ ΠΊ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρƒ Ардуино Π±Π΅Π· I2C выглядит ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ.

Из-Π·Π° большого количСства ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌΡ‹Ρ… ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π΅ Ρ…Π²Π°Ρ‚ΠΈΡ‚ΡŒ мСста для присоСдинСния Π½ΡƒΠΆΠ½Ρ‹Ρ… элСмСнтов. ИспользованиС I2C ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°Π΅Ρ‚ количСство ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΎΠ² Π΄ΠΎ 4, Π° занятых ΠΏΠΈΠ½ΠΎΠ² Π΄ΠΎ 2.

Π“Π΄Π΅ ΠΊΡƒΠΏΠΈΡ‚ΡŒ i2c 1602 экраны для Π°Ρ€Π΄ΡƒΠΈΠ½ΠΎ

LCD экран 1602 довольно популярСн, поэтому Π²Ρ‹ Π±Π΅Π· ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ смоТСтС Π½Π°ΠΉΡ‚ΠΈ Π΅Π³ΠΎ ΠΊΠ°ΠΊ Π² отСчСствСнных ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚-ΠΌΠ°Π³Π°Π·ΠΈΠ½Π°Ρ…, Ρ‚Π°ΠΊ ΠΈ Π½Π° Π·Π°Ρ€ΡƒΠ±Π΅ΠΆΠ½Ρ‹Ρ… ΠΏΠ»ΠΎΡ‰Π°Π΄ΠΊΠ°Ρ…. ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅ΠΌ нСсколько ссылок Π½Π° Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ доступныС Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹:

  • Π’Π°Ρ€ΠΈΠ°Π½Ρ‚ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠ³ΠΎ дисплСя ΠΎΡ‚ довольно извСстного ΠΏΡ€ΠΎΠ΄Π°Π²Ρ†Π° Wavgat ΠΏΠΎ Ρ†Π΅Π½Π΅ Π½ΠΈΠΆΠ΅ 100 Ρ€ΡƒΠ±Π»Π΅ΠΉ.
  • ΠšΠΎΠΌΠΏΠ»Π΅ΠΊΡ‚ экрана ΠΈ i2c Π°Π΄Π°ΠΏΡ‚Π΅Ρ€Π° (Π½ΡƒΠΆΠ½ΠΎ ΡΠΏΠ°ΡΡ‚ΡŒ самим). Π¦Π΅Π½Π° – Π½ΠΈΠΆΠ΅ 200 Ρ€ΡƒΠ±Π»Π΅ΠΉ
  • Π¨ΠΈΠ»Π΄ i2c экрана – ΠΌΠΎΠ΄ΡƒΠ»ΡŒ LCD 1602 с ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΠΌΠΈ ΠΊΠ½ΠΎΠΏΠΊΠ°ΠΌΠΈ ΠΈ ΠΏΠ»Π°Ρ‚ΠΎΠΉ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ .

ОписаниС ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° I2C

ΠŸΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ ΠΎΠ±ΡΡƒΠΆΠ΄Π°Ρ‚ΡŒ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ дисплСя ΠΊ Π°Ρ€Π΄ΡƒΠΈΠ½ΠΎ Ρ‡Π΅Ρ€Π΅Π· i2c-ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π½ΠΈΠΊ, Π΄Π°Π²Π°ΠΉΡ‚Π΅ Π²ΠΊΡ€Π°Ρ‚Ρ†Π΅ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌ ΠΎ самом ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π΅ i2C.

I2C / IIC (Inter-Integrated Circuit) – это ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ», ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ создававшийся для связи ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Π»ΡŒΠ½Ρ‹Ρ… микросхСм Π²Π½ΡƒΡ‚Ρ€ΠΈ элСктронного устройства. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈΡ‚ Ρ„ΠΈΡ€ΠΌΠ΅ Philips. Π’ основС i2c ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° являСтся использованиС 8-Π±ΠΈΡ‚Π½ΠΎΠΉ ΡˆΠΈΠ½Ρ‹, которая Π½ΡƒΠΆΠ½Π° для связи Π±Π»ΠΎΠΊΠΎΠ² Π² ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰Π΅ΠΉ элСктроникС, ΠΈ систСмС адрСсации, благодаря ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±Ρ‰Π°Ρ‚ΡŒΡΡ ΠΏΠΎ ΠΎΠ΄Π½ΠΈΠΌ ΠΈ Ρ‚Π΅ΠΌ ΠΆΠ΅ ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π°ΠΌ с нСсколькими устройствами. ΠœΡ‹ просто ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅ΠΌ Π΄Π°Π½Π½Ρ‹Π΅ Ρ‚ΠΎ ΠΎΠ΄Π½ΠΎΠΌΡƒ, Ρ‚ΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠΌΡƒ устройству, добавляя ΠΊ ΠΏΠ°ΠΊΠ΅Ρ‚Π°ΠΌ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ Π½ΡƒΠΆΠ½ΠΎΠ³ΠΎ элСмСнта.

Бамая простая схСма I2C ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ ΠΎΠ΄Π½ΠΎ Π²Π΅Π΄ΡƒΡ‰Π΅Π΅ устройство (Ρ‡Π°Ρ‰Π΅ всСго это ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ Ардуино) ΠΈ нСсколько Π²Π΅Π΄ΠΎΠΌΡ‹Ρ… (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, дисплСй LCD). КаТдоС устройство ΠΈΠΌΠ΅Π΅Ρ‚ адрСс Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ ΠΎΡ‚ 7 Π΄ΠΎ 127. Π”Π²ΡƒΡ… устройств с ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΌ адрСсом Π² ΠΎΠ΄Π½ΠΎΠΉ схСмС Π±Ρ‹Ρ‚ΡŒ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ.

ΠŸΠ»Π°Ρ‚Π° Arduino ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ i2c Π½Π° Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΈΠ½Ρ‹ A4 ΠΈ A5 для ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ устройств ΠΏΠΎ Π΄Π°Π½Π½ΠΎΠΌΡƒ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Ρƒ.

Π’ Ρ€Π°Π±ΠΎΡ‚Π΅ I2C ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ нСсколько прСимущСств:

  • Для Ρ€Π°Π±ΠΎΡ‚Ρ‹ трСбуСтся всСго 2 Π»ΠΈΠ½ΠΈΠΈ – SDA (линия Π΄Π°Π½Π½Ρ‹Ρ…) ΠΈ SCL (линия синхронизации).
  • ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ большого количСства Π²Π΅Π΄ΡƒΡ‰ΠΈΡ… ΠΏΡ€ΠΈΠ±ΠΎΡ€ΠΎΠ².
  • УмСньшСниС Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ.
  • Для управлСния всСм Π½Π°Π±ΠΎΡ€ΠΎΠΌ устройств трСбуСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€.
  • Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠ΅ число ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌΡ‹Ρ… микросхСм ΠΊ ΠΎΠ΄Π½ΠΎΠΉ шинС ограничиваСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€Π΅Π΄Π΅Π»ΡŒΠ½ΠΎΠΉ Π΅ΠΌΠΊΠΎΡΡ‚ΡŒΡŽ.
  • Высокая ΡΡ‚Π΅ΠΏΠ΅Π½ΡŒ сохранности Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ·-Π·Π° ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π° ΠΏΠΎΠ΄Π°Π²Π»ΡΡŽΡ‰Π΅Π³ΠΎ всплСски, встроСнного Π² схСмы.
  • ΠŸΡ€ΠΎΡΡ‚Π°Ρ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° диагностики Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‰ΠΈΡ… сбоСв, быстрая ΠΎΡ‚Π»Π°Π΄ΠΊΠ° нСисправностСй.
  • Π¨ΠΈΠ½Π° ΡƒΠΆΠ΅ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Π° Π² саму Arduino, поэтому Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡˆΠΈΠ½Π½Ρ‹ΠΉ интСрфСйс.

НСдостатки:

  • БущСствуСт СмкостноС ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ Π½Π° Π»ΠΈΠ½ΠΈΠΈ – 400 ΠΏΠ€.
  • Π’Ρ€ΡƒΠ΄Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° I2C, Ссли Π½Π° шинС имССтся нСсколько Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… устройств.
  • ΠŸΡ€ΠΈ большом количСствС устройств Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ трудности Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ сбоя, Ссли ΠΎΠ΄Π½ΠΎ ΠΈΠ· Π½ΠΈΡ… ΠΎΡˆΠΈΠ±ΠΎΡ‡Π½ΠΎ устанавливаСт состояниС Π½ΠΈΠ·ΠΊΠΎΠ³ΠΎ уровня.

ΠœΠΎΠ΄ΡƒΠ»ΡŒ i2c для LCD 1602 Arduino

Π‘Π°ΠΌΡ‹ΠΉ быстрый ΠΈ ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΉ способ использования i2c дисплСя Π² Π°Ρ€Π΄ΡƒΠΈΠ½ΠΎ – это ΠΏΠΎΠΊΡƒΠΏΠΊΠ° Π³ΠΎΡ‚ΠΎΠ²ΠΎΠ³ΠΎ экрана со встроСнной ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π°. Но Ρ‚Π°ΠΊΠΈΡ… экранов Π½Π΅ ΠΎΡ‡Π΅Π½ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ истоят ΠΎΠ½ΠΈ Π½Π΅ дСшСво. А Π²ΠΎΡ‚ Ρ€Π°Π·Π½ΠΎΠΎΠ±Ρ€Π°Π·Π½Ρ‹Ρ… стандартных экранов Π²Ρ‹ΠΏΡƒΡ‰Π΅Π½ΠΎ ΡƒΠΆΠ΅ ΠΎΠ³Ρ€ΠΎΠΌΠ½ΠΎΠ΅ количСство. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ самым доступным ΠΈ популярным сСгодня Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠΌ являСтся ΠΏΠΎΠΊΡƒΠΏΠΊΠ° ΠΈ использованиС ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ I2C модуля – ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π½ΠΈΠΊΠ°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ выглядит Π²ΠΎΡ‚ Ρ‚Π°ΠΊ:

Π‘ ΠΎΠ΄Π½ΠΎΠΉ стороны модуля ΠΌΡ‹ Π²ΠΈΠ΄ΠΈΠΌ Π²Ρ‹Π²ΠΎΠ΄Ρ‹ i2c – зСмля, ΠΏΠΈΡ‚Π°Π½ΠΈΠ΅ ΠΈ 2 для ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π΄Π°Π½Π½Ρ‹Ρ…. Π‘ Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π½ΠΈΠΊΠ° Π²ΠΈΠ΄ΠΈΠΌ Ρ€Π°Π·ΡŠΠ΅ΠΌΡ‹ внСшнСго питания. И, СстСствСнно, Π½Π° ΠΏΠ»Π°Ρ‚Π΅ Π΅ΡΡ‚ΡŒ мноТСство Π½ΠΎΠΆΠ΅ΠΊ, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΠΎΠ΄ΡƒΠ»ΡŒ припаиваСтся ΠΊ стандартным Π²Ρ‹Π²ΠΎΠ΄Π°ΠΌ экрана.


Для ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΊ ΠΏΠ»Π°Ρ‚Π΅ Π°Ρ€Π΄ΡƒΠΈΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ i2c Π²Ρ‹Ρ…ΠΎΠ΄Ρ‹. Если Π½ΡƒΠΆΠ½ΠΎ, ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌ внСшнСС ΠΏΠΈΡ‚Π°Π½ΠΈΠ΅ для подствСтки. Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ встроСнного подстроСчного рСзистора ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ настраиваСмыС значСния контрастности J

На Ρ€Ρ‹Π½ΠΊΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΡ‚Ρ€Π΅Ρ‚ΠΈΡ‚ΡŒ LCD 1602 ΠΌΠΎΠ΄ΡƒΠ»ΠΈ с ΡƒΠΆΠ΅ припаянными ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π½ΠΈΠΊΠ°ΠΌΠΈ, ΠΈΡ… использованиС максимально ΡƒΠΏΠΎΡ‰Π΅Π½ΠΎ. Если Π²Ρ‹ ΠΊΡƒΠΏΠΈΠ»ΠΈ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π½ΠΈΠΊ, Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΡ€ΠΈΠΏΠ°ΡΡ‚ΡŒ Π΅Π³ΠΎ ΠΊ ΠΌΠΎΠ΄ΡƒΠ»ΡŽ.

ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π–Πš экрана ΠΊ Ардуино ΠΏΠΎ I2C

Для ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ сама ΠΏΠ»Π°Ρ‚Π° Ардуино, дисплСй, макСтная ΠΏΠ»Π°Ρ‚Π°, ΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π° ΠΈ ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠΎΠΌΠ΅Ρ‚Ρ€.

Если Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ i2c ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π½ΠΈΠΊ, Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ сначала ΠΏΡ€ΠΈΠΏΠ°ΡΡ‚ΡŒ Π΅Π³ΠΎ ΠΊ ΠΌΠΎΠ΄ΡƒΠ»ΡŽ экрана. ΠžΡˆΠΈΠ±ΠΈΡ‚ΡŒΡΡ Ρ‚Π°ΠΌ Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Ρ€ΡƒΠΊΠΎΠ²ΠΎΠ΄ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒΡΡ Ρ‚Π°ΠΊΠΎΠΉ схСмой.


ЖидкокристалличСский ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ с ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ i2c ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ ΠΊ ΠΏΠ»Π°Ρ‚Π΅ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅Ρ… ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΎΠ² – Π΄Π²Π° ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π° для Π΄Π°Π½Π½Ρ‹Ρ…, Π΄Π²Π° ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π° для питания.

  • Π’Ρ‹Π²ΠΎΠ΄ GND ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ ΠΊ GND Π½Π° ΠΏΠ»Π°Ρ‚Π΅.
  • Π’Ρ‹Π²ΠΎΠ΄ VCC – Π½Π° 5V.
  • SCL ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ ΠΊ ΠΏΠΈΠ½Ρƒ A5.
  • SDA ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ ΠΊ ΠΏΠΈΠ½Ρƒ A.

И это всС! Никаких ΠΏΠ°ΡƒΡ‚ΠΈΠ½ ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΎΠ², Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΎΡ‡Π΅Π½ΡŒ Π»Π΅Π³ΠΊΠΎ Π·Π°ΠΏΡƒΡ‚Π°Ρ‚ΡŒΡΡ. ΠŸΡ€ΠΈ этом всю ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ i2C ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ просто Π΄ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°ΠΌ.

Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с i2c LCD дисплССм

Для взаимодСйствиС Arduino c LCD 1602 ΠΏΠΎ шинС I2C Π²Π°ΠΌ ΠΏΠΎΡ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ΡΡ ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ Π΄Π²Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ:

  • Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Wire.h для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с I2C ΡƒΠΆΠ΅ имССтся Π² стандартной ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Arduino IDE.
  • Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° LiquidCrystal_I2C.h, которая Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя большоС Ρ€Π°Π·Π½ΠΎΠΎΠ±Ρ€Π°Π·ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄ для управлСния ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΎΠΌ ΠΏΠΎ шинС I2C ΠΈ позволяСт ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ скСтч ΠΏΡ€ΠΎΡ‰Π΅ ΠΈ ΠΊΠΎΡ€ΠΎΡ‡Π΅. НуТно Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ ПослС ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ дисплСя Π½ΡƒΠΆΠ½ΠΎ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ LiquidCrystal_I2C.h

ПослС ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΊ скСтчу всСх Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ ΠΌΡ‹ создаСм ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΈ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ всС Π΅Π³ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. Для тСстирования Π΄Π°Π²Π°ΠΉΡ‚Π΅ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΠΌ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ стандартный скСтч ΠΈΠ· ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°.

#include #include // ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ //#include // ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ LiquidCrystal_I2C lcd(0x27,16,2); // Π£ΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ I2C адрСс (Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ распространСнноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅), Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ экрана (Π² случаС LCD 1602 - 2 строки ΠΏΠΎ 16 символов Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ //LiquidCrystal_PCF8574 lcd(0x27); // Π’Π°Ρ€ΠΈΠ°Π½Ρ‚ для Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ PCF8574 void setup() { lcd.init(); // Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡ дисплСя lcd.backlight(); // ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ подсвСтки lcd.setCursor(0,0); // Установка курсора Π² Π½Π°Ρ‡Π°Π»ΠΎ ΠΏΠ΅Ρ€Π²ΠΎΠΉ строки lcd.print("Hello"); // Набор тСкста Π½Π° ΠΏΠ΅Ρ€Π²ΠΎΠΉ строкС lcd.setCursor(0,1); // Установка курсора Π² Π½Π°Ρ‡Π°Π»ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΉ строки lcd.print("ArduinoMaster"); // Набор тСкста Π½Π° Π²Ρ‚ΠΎΡ€ΠΎΠΉ строкС } void loop() { }

ОписаниС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ LiquidCrystal_I2C:

  • home() ΠΈ clear() – пСрвая функция позволяСт Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ курсор Π² Π½Π°Ρ‡Π°Π»ΠΎ экрана, вторая Ρ‚ΠΎΠΆΠ΅, Π½ΠΎ ΠΏΡ€ΠΈ этом удаляСт всС, Ρ‡Ρ‚ΠΎ Π±Ρ‹Π»ΠΎ Π½Π° ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€Π΅ Π΄ΠΎ этого.
  • write(ch) – позволяСт вывСсти ΠΎΠ΄ΠΈΠ½ΠΎΡ‡Π½Ρ‹ΠΉ символ ch Π½Π° экран.
  • cursor() ΠΈ noCursor() – ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚/скрываСт курсор Π½Π° экранС.
  • blink() ΠΈ noBlink() – курсор ΠΌΠΈΠ³Π°Π΅Ρ‚/Π½Π΅ ΠΌΠΈΠ³Π°Π΅Ρ‚ (Ссли Π΄ΠΎ этого Π±Ρ‹Π»ΠΎ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎ Π΅Π³ΠΎ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅).
  • display() ΠΈ noDisplay() – позволяСт ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ/ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ дисплСй.
  • scrollDisplayLeft() ΠΈ scrollDisplayRight() – ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‡ΠΈΠ²Π°Π΅Ρ‚ экран Π½Π° ΠΎΠ΄ΠΈΠ½ Π·Π½Π°ΠΊ Π²Π»Π΅Π²ΠΎ/Π²ΠΏΡ€Π°Π²ΠΎ.
  • autoscroll() ΠΈ noAutoscroll() – позволяСт Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ/Π²Ρ‹ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Ρ€Π΅ΠΆΠΈΠΌ автопрокручивания. Π’ этом Ρ€Π΅ΠΆΠΈΠΌΠ΅ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Π½ΠΎΠ²Ρ‹ΠΉ символ записываСтся Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΈ Ρ‚ΠΎΠΌ ΠΆΠ΅ мСстС, вытСсняя Ρ€Π°Π½Π΅Π΅ написанноС Π½Π° экранС.
  • leftToRight() ΠΈ rightToLeft() – Установка Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌΠΎΠ³ΠΎ тСкста – слСва Π½Π°ΠΏΡ€Π°Π²ΠΎ ΠΈΠ»ΠΈ справа Π½Π°Π»Π΅Π²ΠΎ.
  • createChar(ch, bitmap) – создаСт символ с ΠΊΠΎΠ΄ΠΎΠΌ ch (0 – 7), ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ массив Π±ΠΈΡ‚ΠΎΠ²Ρ‹Ρ… масок bitmap для создания Ρ‡Π΅Ρ€Π½Ρ‹Ρ… ΠΈ Π±Π΅Π»Ρ‹Ρ… Ρ‚ΠΎΡ‡Π΅ΠΊ.

ΠΠ»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½Π°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с i2c дисплССм

Π’ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… случаях ΠΏΡ€ΠΈ использовании ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ с устройствами, оснащСнными ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°ΠΌΠΈ PCF8574 ΠΌΠΎΠ³ΡƒΡ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Ρ‚ΡŒ ошибки. Π’ этом случаС Π² качСствС Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠΈΡ‚ΡŒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ LiquidCrystal_PCF8574.h. Она Ρ€Π°ΡΡˆΠΈΡ€ΡΠ΅Ρ‚ LiquidCrystal_I2C, поэтому ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ с Π΅Π΅ использованиСм Π±Ρ‹Ρ‚ΡŒ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ.

ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ i2c lcd дисплСя

Если послС Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ скСтча Ρƒ вас Π½Π΅ появилось Π½ΠΈΠΊΠ°ΠΊΠΎΠΉ надписи Π½Π° дисплСС, ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ дСйствия.

Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ ΠΈΠ»ΠΈ ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚ΡŒ ΠΊΠΎΠ½Ρ‚Ρ€Π°ΡΡ‚Π½ΠΎΡΡ‚ΡŒ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€Π°. Часто символы просто Π½Π΅ Π²ΠΈΠ΄Π½Ρ‹ ΠΈΠ·-Π·Π° Ρ€Π΅ΠΆΠΈΠΌΠ° контрастности ΠΈ подсвСтки.

Если это Π½Π΅ ΠΏΠΎΠΌΠΎΠ³Π»ΠΎ, Ρ‚ΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ΠΎΠ², ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎ Π»ΠΈ ΠΏΠΈΡ‚Π°Π½ΠΈΠ΅ подсвСтки. Если Π²Ρ‹ использовали ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ i2c ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π½ΠΈΠΊ, Ρ‚ΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ Π΅Ρ‰Π΅ Ρ€Π°Π· качСство ΠΏΠ°ΠΉΠΊΠΈ ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ΠΎΠ².

Π”Ρ€ΡƒΠ³ΠΎΠΉ часто Π²ΡΡ‚Ρ€Π΅Ρ‡Π°ΡŽΡ‰Π΅ΠΉΡΡ ΠΏΡ€ΠΈΡ‡ΠΈΠ½ΠΎΠΉ отсутствия тСкста Π½Π° экранС ΠΌΠΎΠΆΠ΅Ρ‚ ΡΡ‚Π°Ρ‚ΡŒ Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ i2c адрСс. ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ спСрва ΠΏΠΎΠΌΠ΅Π½ΡΡ‚ΡŒ Π² скСтчС адрСс устройства с 0x27 0x20 ΠΈΠ»ΠΈ Π½Π° 0x3F. Π£ Ρ€Π°Π·Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»Π΅ΠΉ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π·Π°ΡˆΠΈΡ‚Ρ‹ Ρ€Π°Π·Π½Ρ‹Π΅ адрСса ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ. Если ΠΈ это Π½Π΅ ΠΏΠΎΠΌΠΎΠ³Π»ΠΎ, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ скСтч i2c сканСра, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ просматриваСт всС ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹Π΅ устройства ΠΈ опрСдСляСт ΠΈΡ… адрСс ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€Π°. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ скСтча i2c сканСра .

Если экран всС Π΅Ρ‰Π΅ останСтся Π½Π΅Ρ€Π°Π±ΠΎΡ‡ΠΈΠΌ, ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ ΠΎΡ‚ΠΏΠ°ΡΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π½ΠΈΠΊ ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ LCD ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ.

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ рассмотрСли основныС вопросы использования LCD экрана Π² слоТных ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ… Π°Ρ€Π΄ΡƒΠΈΠ½ΠΎ, ΠΊΠΎΠ³Π΄Π° Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡΠΊΠΎΠ½ΠΎΠΌΠΈΡ‚ΡŒ свободныС ΠΏΠΈΠ½Ρ‹ Π½Π° ΠΏΠ»Π°Ρ‚Π΅. ΠŸΡ€ΠΎΡΡ‚ΠΎΠΉ ΠΈ Π½Π΅Π΄ΠΎΡ€ΠΎΠ³ΠΎΠΉ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π½ΠΈΠΊ i2c ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ LCD экран 1602, занимая всСго 2 Π°Π½Π°Π»ΠΎΠ³ΠΎΠ²Ρ‹Ρ… ΠΏΠΈΠ½Π°. Π’ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… ситуациях это ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‡Π΅Π½ΡŒ Π²Π°ΠΆΠ½Ρ‹ΠΌ. ΠŸΠ»Π°Ρ‚Π° Π·Π° удобство – Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ Π² использовании Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ модуля – ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚Π΅Ρ€Π° ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ. На наш взгляд, совсСм Π½Π΅ высокая Ρ†Π΅Π½Π° Π·Π° удобство ΠΈ ΠΌΡ‹ ΠΊΡ€Π°ΠΉΠ½Π΅ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ эту Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ….

Как ΠΏΠΎΠ΄Ρ€ΡƒΠΆΠΈΡ‚ΡŒ ΠΏΠ»Π°Ρ‚Ρƒ Ардуино с ΡΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½Ρ‹ΠΌ дисплССм? Π”ΠΎΠ²ΠΎΠ»ΡŒΠ½ΠΎ просто! ВсС Π½ΠΈΠΆΠ΅ ΠΏΠΎ порядку ΠΈ с подробностями.

Если Π΅ΡΡ‚ΡŒ ΠΆΠ΅Π»Π°Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎΡ‚ Ардуино Π±Π΅Π· ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΊ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρƒ ΠΈ Π²Ρ‹Π²ΠΎΠ΄Π° Π½Π° сСрийный ΠΏΠΎΡ€Ρ‚, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½Ρ‹ΠΉ дисплСй. Π‘Π΄Π΅Π»Π°Ρ‚ΡŒ это Π½Π΅ Ρ‚Π°ΠΊ слоТно. ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΠΎΠ΅ удобство ΠΎΡ‚ общСния Π½Π΅ΠΎΡ†Π΅Π½ΠΈΠΌΠΎ.
Для Ρ€Π°Π±ΠΎΡ‚Ρ‹ я использовал ΡΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½Ρ‹ΠΉ LCD-дисплСй J204A Π½Π° Π±Π°Π·Π΅ Ρ‡ΠΈΠΏΠ° HD44780, Π½Π° eBay часто встрСчаСтся ΠΊΠ°ΠΊ LCD2004. 4 строки ΠΏΠΎ 20 символов, ΠΈΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ. ΠšΡƒΠΏΠ»Π΅Π½ с ΠΊΡƒΡ‡Π΅ΠΉ Π΄Ρ€ΡƒΠ³ΠΈΡ… Π½Π° eBay, Π·Π° сущиС ΠΊΠΎΠΏΠ΅ΠΉΠΊΠΈ, ΠΎΡ‚ 60 Π΄ΠΎ 100 Ρ€ΡƒΠ±Π»Π΅ΠΉ Π·Π° ΡˆΡ‚ΡƒΠΊΡƒ. Русский язык Π½Π΅ поддСрТиваСтся ΠΏΠΎ-ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, Π½ΠΎ это Ρ€Π΅ΡˆΠ°Π΅ΠΌΠ°Ρ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°, ΠΎΠ± этом ΠΊΠ°ΠΊ Π½ΠΈΠ±ΡƒΠ΄ΡŒ Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Ρ€Π°Π·. И Π΅Ρ‰Π΅ ΠΊΠΎΠ½Π½Π΅ΠΊΡ‚ΠΎΡ€Ρ‹ Π½Π° схСмС Π½Π΅ распаяны, придСтся ΠΏΠΎΡ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ паяльником.
Для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с дисплСями ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° LiquidCrystal.h входящая Π² Π΄Π΅Ρ„ΠΎΠ»Ρ‚Π½ΡƒΡŽ постаку Arduino IDE.

А Π²ΠΎΡ‚ Π΄Π°Ρ‚Π°ΡˆΠΈΡ‚Π° ΠΏΠΎ дисплСю LCD2004 я Π½Π΅ нашСл, Π½ΠΎ Π·Π°Ρ‚ΠΎ Π² ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π°Ρ… ΠΏΠΎΠ»Π½Ρ‹ΠΌ ΠΏΠΎΠ»Π½ΠΎ Ρ‚Π°Π±Π»ΠΈΡ† ΠΏΠΎ дисплСю . Но ΠΎΠ½ΠΈ практичСски Π½Π΅ ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‚ΡΡ Π΄Ρ€ΡƒΠ³ ΠΎΡ‚ Π΄Ρ€ΡƒΠ³Π°. По ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΡŽ ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡŽ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ‡Π½Ρ‹. ΠžΡ‚Π»ΠΈΡ‡ΠΈΠ΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² количСствС строк/символов Π½Π° дисплСС. Но это Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎ Π½Π΅ повлияСт Ссли Ρƒ вас 1602.

Π’ Ρ‚Π°Π±Π»ΠΈΡ†Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Ρ‹ всС ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Ρ‹. Если Π²Π·ΡΡ‚ΡŒ дисплСй ΠΈ ΠΏΠΎΠ²Π΅Ρ€Π½ΡƒΡ‚ΡŒ Π΅Π³ΠΎ ΠΊ сСбС, Ρ‚ΠΎ ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Ρ‹ Π±ΡƒΠ΄ΡƒΡ‚ располоТСны слСва Π½Π°ΠΏΡ€Π°Π²ΠΎ, соотвСтствСнно Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ ΠΈΠ΄ΡƒΡ‚ ΠΏΠΎ ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΡŽ Π½ΠΎΠΌΠ΅Ρ€Π°. Π’ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ΅ ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Ρ‹ Π² скобках ΡƒΠΊΠ°Π·Π°Π½ΠΎ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² Π΄Π°Ρ‚Π°ΡˆΠΈΡ‚Π΅.

# ΠšΠΎΠ½Ρ‚Π°ΠΊΡ‚Ρ‹ Для Ρ‡Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅
1 VSS (VSS) GND. ЗСмля. ΠŸΠΈΡ‚Π°Π½ΠΈΠ΅ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° дисплСя. 0V
2 VDD (VCC) ΠŸΠΈΡ‚Π°ΡŽΡ‰Π΅Π΅ напряТСниС для ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° дисплСя. +5V
3 V0 (VEE) ΠšΠΎΠ½Ρ‚Ρ€Π°ΡΡ‚ символов Π½Π° дисплСС. ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ Π»ΡƒΡ‡ΡˆΠ΅ Ρ‡Π΅Ρ€Π΅Π· ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠΎΠΌΠ΅Ρ‚Ρ€. ΠΎΡ‚ 0v Π΄ΠΎ +5V
4 RS (RS) Π’Ρ‹Π±ΠΎΡ€ рСгистра.
5 RW (R/W) ΠŸΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Ρ€Π΅ΠΆΠΈΠΌΠ° чтСния/записи. УтянСм Π½Π° зСмлю, Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ Π½Π° дисплСй. 0-запись +5V-Ρ‡Ρ‚Π΅Π½ΠΈΠ΅
6 E Π’Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅
7 D0 (DB0) Π”Π°Π½Π½Ρ‹Π΅
8 D1 (DB1) ΠŸΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° Π΄Π°Π½Π½Ρ‹Ρ…. (НС Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ) Π”Π°Π½Π½Ρ‹Π΅
9 D2 (DB2) ΠŸΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° Π΄Π°Π½Π½Ρ‹Ρ…. (НС Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ) Π”Π°Π½Π½Ρ‹Π΅
10 D3 (DB3) ΠŸΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° Π΄Π°Π½Π½Ρ‹Ρ…. (НС Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ) Π”Π°Π½Π½Ρ‹Π΅
11 D4 (DB4) Π”Π°Π½Π½Ρ‹Π΅
12 D5 (DB5) ΠŸΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° Π΄Π°Π½Π½Ρ‹Ρ…. (ЗадСйствуСтся) Π”Π°Π½Π½Ρ‹Π΅
13 D6 (DB6) ΠŸΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° Π΄Π°Π½Π½Ρ‹Ρ…. (ЗадСйствуСтся) Π”Π°Π½Π½Ρ‹Π΅
14 D7 (DB7) ΠŸΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° Π΄Π°Π½Π½Ρ‹Ρ…. (ЗадСйствуСтся) Π”Π°Π½Π½Ρ‹Π΅
15 A (LED+) +5V НапряТСниС, подсвСтка дисплСя, Ρ‡Π΅Ρ€Π΅Π· ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠΎΠΌΠ΅Ρ‚Ρ€ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π΅Π³ΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΡΡ€ΠΊΠΎΡΡ‚ΡŒ дисплСя. +5V
16 K (LED-) GND ЗСмля, подсвСтка дисплСя 0V

v

ΠŸΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° Π΄Π°Π½Π½Ρ‹Ρ… ΠΊ дисплСю Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Π° Π² Π΄Π²ΡƒΡ… Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π°Ρ…: ΠΏΠΎ 8 ΠΈ ΠΏΠΎ 4 Π±ΠΈΡ‚ Π·Π° Ρ‚Π°ΠΊΡ‚. Π’.ΠΊ. Ардуино ΠΈΠΌΠ΅Π΅Ρ‚ ΠΌΠ°Π»ΠΎ ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ΠΎΠ², ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ 4 β€” этого с Π»ΠΈΡ…Π²ΠΎΠΉ Ρ…Π²Π°Ρ‚Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎΠ± ΠΎΠ±Π½ΠΎΠ²Π»ΡΡ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ Π½Π° дисплСС с Π·Π°ΠΏΡ€Π΅Π΄Π΅Π»ΡŒΠ½ΠΎΠΉ для восприятия ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒΡŽ.

Π’ΠΎΡ‚ Ρ‚Π°ΠΊ всС это Π΄Π΅Π»ΠΎ Ρƒ мСня ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎ. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ каТСтся Ρ‡Ρ‚ΠΎ это хаос, Π½ΠΎ Ρ‚ΡƒΡ‚ Π΅ΡΡ‚ΡŒ систСма. МоТно Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ красныС, Π·Π΅Π»Π΅Π½Ρ‹Π΅, ΠΆΠ΅Π»Ρ‚Ρ‹Π΅ ΠΈ ΠΎΡ€Π°Π½ΠΆΠ΅Π²Ρ‹Π΅ ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π°. ΠšΡ€Π°ΡΠ½Ρ‹Π΅ всСгда ΠΈΠ΄ΡƒΡ‚ Π½Π° +5V, Π·Π΅Π»Π΅Π½Ρ‹Π΅ β€” GND, Π° ΠΆΠ΅Π»Ρ‚Ρ‹Π΅ ΠΈ ΠΎΡ€Π°Π½ΠΆΠ΅Π²Ρ‹Π΅ β€” это ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π° для ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΊ Ардуино, ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΠΈΠ΄ΡƒΡ‚ Π΄Π°Π½Π½Ρ‹Π΅.

Бамая ваТная Ρ‡Π°ΡΡ‚ΡŒ β€” физичСскоС ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ дисплСя. По ΠΊΠ»ΠΈΠΊΡƒ открываСтся Π² большом Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΈ, Π³Π΄Π΅ всС Ρ…ΠΎΡ€ΠΎΡˆΠΎ Π²ΠΈΠ΄Π½ΠΎ.
R1 β€” РСзистор 200OM. Π‘ΠΎΠΏΡ€ΠΎΡ‚ΠΈΠ²Π»Π΅Π½ΠΈΠ΅ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°ΡŽΡ‰Π΅Π΅ Ρ‚ΠΎΠΊ, проходящий Ρ‡Π΅Ρ€Π΅Π· подсвСтку дисплСя.
R2 β€” ΠŸΠΎΡ‚Π΅Π½Ρ†ΠΈΠΎΠΌΠ΅Ρ‚Ρ€ с сопротивлСниСм Π΄ΠΎ 10kOM. ΠšΡƒΡ‚ΠΈΠΌ Ρ€ΡƒΡ‡ΠΊΡƒ, ΠΏΠΎΠ΄Π±ΠΈΡ€Π°Π΅ΠΌ контраст символов.


И ΠΊΡ€Π°ΠΉΠ½Π΅ простой скСтч, для Π²Ρ‹Π²ΠΎΠ΄Π° Π½Π° экран ΠΏΠ°Ρ€Ρ‹ строк.

H> // ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с дисплССм. /* Командой LiquidCrystal lcd(rs, enable, d4, d5, d6, d7); создаСм ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ Ρ‚ΠΈΠΏΠ° LiquidCrystal И опрСдСляСм Ρ‡Π΅Ρ€Π΅Π· ΠΊΠ°ΠΊΠΈΠ΅ ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Ρ‹ Ардуино Ρ€Π°Π±ΠΎΠ°Π΅Ρ‚ с дисплССм. ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ ΠΏΡ€ΠΎ эту ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Ρ‚ΡƒΡ‚ http://arduino.cc/en/Reference/LiquidCrystalConstructor */ LiquidCrystal lcd(6, 7, 8, 9, 10, 11); void setup() { lcd.begin(20, 4); // опрСдСляСм характСристики дисплСя (20 Π‘ΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² Π² строкС, 4 строки) // Для дисплСя 1602 Π½Π°Π΄ΠΎ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ lcd.begin(16, 2); lcd.setCursor(1, 1); // Π£ΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ с ΠΊΠ°ΠΊΠΎΠΉ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ Π½Π°Ρ‡Π°Ρ‚ΡŒ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ тСкст. строки ΠΈ символы Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‚ΡΡ с 0!!! // 1 ΡƒΠΆΠ΅ ΠΎΡ‚ΠΎΠ΄Π²ΠΈΠ½Π΅Ρ‚ ΠΊΠ°Ρ€Π΅Ρ‚ΠΊΡƒ Π½Π° ΠΎΠ΄Π½ΠΎ Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΎΡ‚ Π½Π°Ρ‡Π°Π»Π° экрана ΠΈ сдвинСт тСкст Π½Π° ΠΎΠ΄Π½Ρƒ строку Π½ΠΈΠΆΠ΅ lcd.print("compblog.vlukyanov"); // Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌ тСкст начиная с ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ. lcd.setCursor(7, 2); // Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌ с 8Π³ΠΎ символа Π½Π° экранС Π² Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅ΠΉ строкС. lcd.print(".com"); // тСкст для Π²Ρ‹Π²ΠΎΠ΄Π°. } void loop() { // Π² Ρ†ΠΈΠΊΠ»Π΅ Π½ΠΈ Ρ‡Π΅Π³ΠΎ большС Π½Π΅ Π΄Π΅Π»Π°Π΅ΠΌ всС ΡƒΠΆΠ΅ сдСлано Π²ΠΎ врСмя ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΠ»Π°Ρ‚Ρ‹. }

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚. Если Π·Π½Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊ всС это ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ ΠΈ ΠΊΠ°ΠΊ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠΎΠ΄, Ρ‚ΠΎ врСмя Π½Π° всС Ρ€Π°Π±ΠΎΡ‚Ρ‹ 5 ΠΌΠΈΠ½ΡƒΡ‚.

Π’Π°ΠΊΠΆΠ΅ дисплСй ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ, Π° Π΅Ρ‰Π΅ Π΅ΡΡ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π·Π°Π΄Π°Ρ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹.

НапримСр:

  • Π‘ΠΊΡ€ΠΎΠ»ΠΈΡ‚ΡŒ тСкст;
  • ΠœΠΈΠ³Π°Ρ‚ΡŒ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠ΅ΠΉ курсора;
  • Π’ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒΡΡ/Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒΡΡ.

А Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ бонус!
ΠŸΠΎΠ΄ΡΠ²Π΅Ρ‚ΠΊΠ° дисплСя Ρ‚Ρ€Π°Ρ‚ΠΈΡ‚ ΡΠ½Π΅Ρ€Π³ΠΈΡŽ, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ, ΠΏΡ€ΠΈ ΠΏΠΈΡ‚Π°Π½ΠΈΠΈ ΠΎΡ‚ Π±Π°Ρ‚Π°Ρ€Π΅ΠΈ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ…ΠΎΡ‚Π΅Π»ΠΎΡΡŒ Π±Ρ‹ ΡΠΊΠΎΠ½ΠΎΠΌΠΈΡ‚ΡŒ. Π― сдСлал для сСбя Ρ‚Π°ΠΊΠΎΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ β€” ΠΏΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ, Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ подсвСтка дисплСя Π½Π° 5 сСкунд.

H> // ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с дисплССм. int buttonInt = 0; // НомСр прСрывания, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ вызыватся. int screenLed = 4; // НомСр ΠΏΠΈΠ½Π° ΠΊ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ экран. +5V volatile long x = 5000; // пСрСмСнная для хранСния Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ LiquidCrystal lcd(6, 7, 8, 9, 10, 11); void setup() { attachInterrupt(buttonInt, screenon, FALLING); // ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ прСрывания lcd.begin(20, 4); pinMode(screenLed, OUTPUT); digitalWrite(screenLed,HIGH); // Π²ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌ дисплСй lcd.setCursor(0, 0); lcd.print("Start screenon test!"); } // Ѐункция которая Π±ΡƒΠ΄Π΅Ρ‚ выполнятся ΠΏΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ. void screenon() { x = millis()+5000; // Π—Π°ΠΏΠΎΠΌΠΈΠ½Π°Π΅ΠΌ врСмя, ΠΊΠΎΠ³Π΄Π° Π½Π°Π΄ΠΎ Π²Ρ‹ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ подсвСтку. Π’Π΅ΠΊΡƒΡ‰Π΅Π΅ врСмя Ρ€Π°Π±ΠΎΡ‚Ρ‹ +5 сСкунд. digitalWrite(screenLed,HIGH); // ПодаСм напряТСниС Π½Π° подсвСтку дисплСя. } void loop() { lcd.setCursor(0, 2); // ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΠΌ ΠΊ Ρ‚Ρ€Π΅Ρ‚Π΅ΠΉ строкС lcd.print(x); // ΠΈ Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌ врСмя ΠΊΠΎΠ³Π΄Π° дисплСй Π²Ρ‹ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡΡ lcd.setCursor(0, 3); // ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΠΌ ΠΊ Ρ‡Π΅Ρ‚Π²Π΅Ρ€Ρ‚ΠΎΠΉ строкС lcd.print(millis()); // ΠΏΠ΅Ρ‡Π°Ρ‚Π°Π΅ΠΌ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ врСмя Ρ€Π°Π±ΠΎΡ‚Ρ‹ if (x < millis()) // Ссли врСмя Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ наступило > { digitalWrite(screenLed,LOW); // Ρ‚ΠΎ гасим дисплСй } }

И Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚:

ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π΄ΠΈΠΎΠ»ΡŽΠ±ΠΈΡ‚Π΅Π»ΡŒ послС Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ количСства простых самодСлок ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΡ‚ ΠΊ Ρ†Π΅Π»ΠΈ ΡΠΊΠΎΠ½ΡΡ‚Ρ€ΡƒΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π³Ρ€Π°Π½Π΄ΠΈΠΎΠ·Π½ΠΎΠ΅ с использованиС Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΈ ΠΊΠ½ΠΎΠΏΠΎΠΊ. Π’Π΅Π΄ΡŒ Π³ΠΎΡ€Π°Π·Π΄ΠΎ интСрСснСС Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π½Π° дисплСй, Π½Π΅ΠΆΠ΅Π»ΠΈ Π½Π° ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ ΠΏΠΎΡ€Ρ‚Π°. Но Ρ‚ΠΎΠ³Π΄Π° встаСт вопрос: ΠΊΠ°ΠΊΠΎΠΉ дисплСй Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ? И Π²ΠΎΠΎΠ±Ρ‰Π΅, ΠΊΠ°ΠΊ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ Π΅Π³ΠΎ, Ρ‡Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ для ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ? ΠžΡ‚Π²Π΅Ρ‚Ρ‹ Π½Π° эти вопросы Π±ΡƒΠ΄ΡƒΡ‚ рассмотрСны Π² этой ΡΡ‚Π°Ρ‚ΡŒΠ΅.

LCD 1602

Π‘Ρ€Π΅Π΄ΠΈ мноТСства Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² срСди дисплССв ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ хочСтся ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ ΠΈΠΌΠ΅Π½Π½ΠΎ дисплСй LCD1602 Π½Π° Π±Π°Π·Π΅ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° HD4478. БущСствуСт этот дисплСй Π² Π΄Π²ΡƒΡ… Ρ†Π²Π΅Ρ‚Π°Ρ…: Π±Π΅Π»Ρ‹Π΅ Π±ΡƒΠΊΠ²Ρ‹ Π½Π° синСм Ρ„ΠΎΠ½Π΅, Ρ‡Π΅Ρ€Π½Ρ‹Π΅ Π±ΡƒΠΊΠ²Ρ‹ Π½Π° ΠΆΠ΅Π»Ρ‚ΠΎΠΌ Ρ„ΠΎΠ½Π΅. ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ LCD 1602 ΠΊ Arduino Ρ‚Π°ΠΊΠΆΠ΅ Π½Π΅ Π²Ρ‹Π·ΠΎΠ²Π΅Ρ‚ Π½ΠΈΠΊΠ°ΠΊΠΈΡ… ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π΅ΡΡ‚ΡŒ встроСнная Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°, ΠΈ Π½ΠΈΡ‡Π΅Π³ΠΎ ΡΠΊΠ°Ρ‡ΠΈΠ²Π°Ρ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ. ДисплСи ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‚ΡΡ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ†Π΅Π½ΠΎΠΉ, Π½ΠΎ ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ. Π—Π°Ρ‡Π°ΡΡ‚ΡƒΡŽ Ρ€Π°Π΄ΠΈΠΎΠ»ΡŽΠ±ΠΈΡ‚Π΅Π»ΡΠΌΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ 16 x 2, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ 2 строки ΠΏΠΎ 16 символов. Но сущСствуСт Ρ‚Π°ΠΊΠΆΠ΅ ΠΈ 20 x 4, Π³Π΄Π΅ 4 строки ΠΏΠΎ 20 символов. Π Π°Π·ΠΌΠ΅Ρ€Ρ‹ ΠΈ Ρ†Π²Π΅Ρ‚ Π½Π΅ ΠΈΠ³Ρ€Π°ΡŽΡ‚ Π½ΠΈΠΊΠ°ΠΊΠΎΠΉ Ρ€ΠΎΠ»ΠΈ Π² ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ дисплСя lcd 1602 ΠΊ Arduno, ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ΡΡ ΠΎΠ½ΠΈ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎ. Π£Π³ΠΎΠ» ΠΎΠ±Π·ΠΎΡ€Π° составляСт 35 градусов, врСмя ΠΎΡ‚ΠΊΠ»ΠΈΠΊΠ° дисплСя - 250 мс. Π Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈ Ρ‚Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€Π°Ρ… ΠΎΡ‚ -20 Π΄ΠΎ 70 градусов ΠΏΠΎ ЦСльсию. ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ 4 мА Π½Π° экран ΠΈ Π½Π° подсвСтку 120 мА.

Π“Π΄Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ?

Π”Π°Π½Π½Ρ‹ΠΉ дисплСй ΠΈΠΌΠ΅Π΅Ρ‚ свою ΠΏΠΎΠΏΡƒΠ»ΡΡ€Π½ΠΎΡΡ‚ΡŒ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρƒ Ρ€Π°Π΄ΠΈΠΎΠ»ΡŽΠ±ΠΈΡ‚Π΅Π»Π΅ΠΉ, Π½ΠΎ ΠΈ Ρƒ ΠΊΡ€ΡƒΠΏΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»Π΅ΠΉ. НапримСр, ΠΏΡ€ΠΈΠ½Ρ‚Π΅Ρ€Ρ‹, ΠΊΠΎΡ„Π΅ΠΉΠ½Ρ‹Π΅ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Ρ‹ Ρ‚Π°ΠΊ ΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ LCD1602. Π­Ρ‚ΠΎ обусловлСно Π΅Π΅ Π½ΠΈΠ·ΠΊΠΎΠΉ Ρ†Π΅Π½ΠΎΠΉ, стоит этот дисплСй Π½Π° китайских ΠΏΠ»ΠΎΡ‰Π°Π΄ΠΊΠ°Ρ… 200-300 Ρ€ΡƒΠ±Π»Π΅ΠΉ. ΠŸΠΎΠΊΡƒΠΏΠ°Ρ‚ΡŒ стоит ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ‚Π°ΠΌ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π² Π½Π°ΡˆΠΈΡ… ΠΌΠ°Π³Π°Π·ΠΈΠ½Π°Ρ… Π½Π°Ρ†Π΅Π½ΠΊΠΈ Π½Π° этот дисплСй ΠΎΡ‡Π΅Π½ΡŒ высокиС.

ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΊ Arduino

ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ LCD 1602 ΠΊ Arduino Nano ΠΈ Uno Π½Π΅ отличаСтся. Π‘ дисплССм ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π² Π΄Π²ΡƒΡ… Ρ€Π΅ΠΆΠΈΠΌΠ°Ρ…: 4 Π±ΠΈΡ‚Π° ΠΈ 8. ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с 8-Π±ΠΈΡ‚Π½Ρ‹ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΈ младшиС, ΠΈ ΡΡ‚Π°Ρ€ΡˆΠΈΠ΅ Π±ΠΈΡ‚Ρ‹, Π° с 4-Π±ΠΈΡ‚Π½Ρ‹ΠΌ - Ρ‚ΠΎΠ»ΡŒΠΊΠΎ младшиС. Π Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с 8-Π±ΠΈΡ‚Π½Ρ‹ΠΌ особого смысла Π½Π΅Ρ‚, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ добавится для ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π΅Ρ‰Π΅ 4 ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Π°, Ρ‡Ρ‚ΠΎ Π½Π΅ цСлСсообразно, вСдь скорости Π²Ρ‹ΡˆΠ΅ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚, ΠΏΡ€Π΅Π΄Π΅Π» ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΉ дисплСя - 10 Ρ€Π°Π· Π² сСкунду. Π’ΠΎΠΎΠ±Ρ‰Π΅, для ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ lcd 1602 ΠΊ Arduino ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΎΠ², Ρ‡Ρ‚ΠΎ доставляСт Π½Π΅ΠΊΠΈΠ΅ нСудобства, Π½ΠΎ сущСствуСт особыС ΡˆΠΈΠ»Π΄Ρ‹, Π½ΠΎ ΠΎΠ± этом ΠΏΠΎΠ·ΠΆΠ΅. На Ρ„ΠΎΡ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΠΈ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ дисплСя ΠΊ Arduino Uno:

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°:

#include // ДобавляСм Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡƒΡŽ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ LiquidCrystal lcd(7, 6, 5, 4, 3, 2); // (RS, E, DB4, DB5, DB6, DB7) void setup(){ lcd.begin(16, 2); // Π—Π°Π΄Π°Π΅ΠΌ Ρ€Π°Π·ΠΌΠ΅Ρ€Π½ΠΎΡΡ‚ΡŒ экрана lcd.setCursor(0, 0); // УстанавливаСм курсор Π² Π½Π°Ρ‡Π°Π»ΠΎ 1 строки lcd.print("Hello, world!"); // Π’Ρ‹Π²ΠΎΠ΄ΠΈΠΌ тСкст lcd.setCursor(0, 1); // УстанавливаСм курсор Π² Π½Π°Ρ‡Π°Π»ΠΎ 2 строки lcd.print("сайт"); // Π’Ρ‹Π²ΠΎΠ΄ΠΈΠΌ тСкст } void loop(){ }

Π§Ρ‚ΠΎ ΠΆΠ΅ Π΄Π΅Π»Π°Π΅Ρ‚ ΠΊΠΎΠ΄? ΠŸΠ΅Ρ€Π²Ρ‹ΠΌ Π΄Π΅Π»ΠΎΠΌ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с дисплССм. Как ΡƒΠΆΠ΅ Π³ΠΎΠ²ΠΎΡ€ΠΈΠ»ΠΎΡΡŒ Π²Ρ‹ΡˆΠ΅, эта Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° ΡƒΠΆΠ΅ Π²Ρ…ΠΎΠ΄ΠΈΡ‚ Π² состав Arduino IDE ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡΠΊΠ°Ρ‡ΠΈΠ²Π°Ρ‚ΡŒ ΠΈ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ Π΅Π΅ Π½Π΅ Π½Π°Π΄ΠΎ. Π”Π°Π»Π΅Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ΡΡ ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹ ΠΊ Π²Ρ‹Π²ΠΎΠ΄Π°ΠΌ: RS, E, DB4, DB5, DB6, DB7 соотвСтствСнно. ПослС Ρ‡Π΅Π³ΠΎ задаСтся Ρ€Π°Π·ΠΌΠ΅Ρ€Π½ΠΎΡΡ‚ΡŒ экрана. Π’Π°ΠΊ ΠΊΠ°ΠΊ ΠΌΡ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅ΠΌ с вСрсиСй, Π³Π΄Π΅ 16 символов ΠΈ 2 строки, Ρ‚ΠΎ пишСм Ρ‚Π°ΠΊΠΈΠ΅ значСния. УстанавливаСм курсор Π² Π½Π°Ρ‡Π°Π»ΠΎ ΠΏΠ΅Ρ€Π²ΠΎΠΉ строки ΠΈ Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌ наш ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ тСкст Hello World. Π”Π°Π»Π΅Π΅ ставим курсор Π½Π° Π²Ρ‚ΠΎΡ€ΡƒΡŽ строку ΠΈ Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ сайта. Π’ΠΎΡ‚ ΠΈ всС! Π‘Ρ‹Π»ΠΎ рассмотрСно ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ lcd 1602 ΠΊ Arduino Uno.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ I2C ΠΈ Π·Π°Ρ‡Π΅ΠΌ ΠΎΠ½ Π½ΡƒΠΆΠ΅Π½?

Как ΡƒΠΆΠ΅ Π³ΠΎΠ²ΠΎΡ€ΠΈΠ»ΠΎΡΡŒ Π²Ρ‹ΡˆΠ΅, ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ дисплСя Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ ΠΎΡ‡Π΅Π½ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ΠΎΠ². НапримСр, ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с нСсколькими Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠ°ΠΌΠΈ ΠΈ дисплССм LCD 1602 ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ‚ просто Π½Π΅ Ρ…Π²Π°Ρ‚ΠΈΡ‚ΡŒ. Π—Π°Ρ‡Π°ΡΡ‚ΡƒΡŽ Ρ€Π°Π΄ΠΈΠΎΠ»ΡŽΠ±ΠΈΡ‚Π΅Π»ΡΠΌΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ вСрсии Uno ΠΈΠ»ΠΈ Nano, Π³Π΄Π΅ Π½Π΅ Ρ‚Π°ΠΊ ΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ΠΎΠ². Π’ΠΎΠ³Π΄Π° люди ΠΏΡ€ΠΈΠ΄ΡƒΠΌΠ°Π»ΠΈ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ ΡˆΠΈΠ»Π΄Ρ‹. НапримСр, I2C. Он позволяСт ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ дисплСй всСго Π² 4 ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Π°. Π­Ρ‚ΠΎ Π² Π΄Π²Π° Ρ€Π°Π·Π° мСньшС. ΠŸΡ€ΠΎΠ΄Π°Π΅Ρ‚ΡΡ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ I2C ΠΊΠ°ΠΊ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ, Π³Π΄Π΅ самому Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€ΠΈΠΏΠ°ΠΈΠ²Π°Ρ‚ΡŒ, Ρ‚Π°ΠΊ ΠΈ ΡƒΠΆΠ΅ припаянный ΠΊ дисплСю LCD 1602.

ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ I2C модуля

ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ LCD 1602 ΠΊ Arduino Nano с I2C Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ ΠΌΠ°Π»ΠΎ мСста, всСго 4 ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Π°: зСмля, ΠΏΠΈΡ‚Π°Π½ΠΈΠ΅ ΠΈ 2 Π²Ρ‹Ρ…ΠΎΠ΄Π° для ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π΄Π°Π½Π½Ρ‹Ρ…. ΠŸΠΈΡ‚Π°Π½ΠΈΠ΅ ΠΈ зСмлю ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌ Π½Π° 5V ΠΈ GND Π½Π° Arduino соотвСтствСнно. ΠžΡΡ‚Π°Π²ΡˆΠΈΠ΅ΡΡ Π΄Π²Π° ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Π°: SCL ΠΈ SDA ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌ ΠΊ Π»ΡŽΠ±Ρ‹ΠΌ Π°Π½Π°Π»ΠΎΠ³ΠΎΠ²Ρ‹ΠΌ ΠΏΠΈΠ½Π°ΠΌ. На Ρ„ΠΎΡ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ lcd 1602 ΠΊ arduino с I2C ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΌ:

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄

Если для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с дисплССм Π±Π΅Π· модуля Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π±Ρ‹Π»ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΎΠΉ, Ρ‚ΠΎ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π΄Π²Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ. Одна ΠΈΠ· Π½ΠΈΡ… ΡƒΠΆΠ΅ Π΅ΡΡ‚ΡŒ Π² составС Arduino IDE - Wire. Π”Ρ€ΡƒΠ³ΡƒΡŽ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ, LiquidCrystal I2C, Π½Π°Π΄ΠΎ ΡΠΊΠ°Ρ‡ΠΈΠ²Π°Ρ‚ΡŒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ ΠΈ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ. Для установки Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Π² Arduino содСрТимоС скачанного Π°Ρ€Ρ…ΠΈΠ²Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ Π² ΠΊΠΎΡ€Π½Π΅Π²ΡƒΡŽ ΠΏΠ°ΠΏΠΊΡƒ Libraries. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° с использованиСм I2C:

#include #include LiquidCrystal_I2C lcd(0x27,16,2); // УстанавливаСм дисплСй void setup() { lcd.init(); lcd.backlight();// Π’ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌ подсвСтку дисплСя lcd..setCursor(8, 1); lcd.print("LCD 1602"); } void loop() { // УстанавливаСм курсор Π½Π° Π²Ρ‚ΠΎΡ€ΡƒΡŽ строку ΠΈ Π½ΡƒΠ»Π΅Π²ΠΎΠΉ символ. lcd.setCursor(0, 1); // Π’Ρ‹Π²ΠΎΠ΄ΠΈΠΌ Π½Π° экран количСство сСкунд с ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° запуска Π°Ρ€Π΄ΡƒΠΈΠ½Ρ‹ lcd.print(millis()/1000); }

Как ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ, ΠΊΠΎΠ΄ ΠΏΠΎΡ‡Ρ‚ΠΈ Π½Π΅ отличаСтся.

Как Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ свой символ?

ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠΎΠΉ этих дисплССв являСтся Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π½Π΅Ρ‚ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ ΠΊΠΈΡ€ΠΈΠ»Π»ΠΈΡ†Ρ‹ ΠΈ символов. НапримСр, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π²Π°ΠΌ ΠΊΠ°ΠΊΠΎΠΉ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ символ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ Π² дисплСй, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ ΠΌΠΎΠ³ Π΅Π³ΠΎ ΠΎΡ‚Ρ€Π°ΠΆΠ°Ρ‚ΡŒ. Для этого дисплСй позволяСт ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π΄ΠΎ 7 своих символов. ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²ΡŒΡ‚Π΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ:

0 0 0 1 0
0 0 0 0 1
1 1 0 0 1
0 0 0 0 1
1 1 0 0 1
0 0 0 0 1
0 0 0 1 0
0 0 0 0 0

Если 0 - Ρ‚Π°ΠΌ Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅Ρ‚, Ссли 1 - это Π·Π°ΠΊΡ€Π°ΡˆΠ΅Π½Π½Ρ‹ΠΉ участок. Π’ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Π²Ρ‹ΡˆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ созданиС символа "ΡƒΠ»Ρ‹Π±Π°ΡŽΡ‰ΠΈΠΉΡΡ смайл". На ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² Arduino это Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

#include #include // ЛобавляСм Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡƒΡŽ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ // Битовая маска символа ΡƒΠ»Ρ‹Π±ΠΊΠΈ byte smile = { B00010, B00001, B11001, B00001, B11001, B00001, B00010, }; LiquidCrystal lcd(7, 6, 5, 4, 3, 2); // (RS, E, DB4, DB5, DB6, DB7) void setup(){ lcd.begin(16, 2); // Π—Π°Π΄Π°Π΅ΠΌ Ρ€Π°Π·ΠΌΠ΅Ρ€Π½ΠΎΡΡ‚ΡŒ экрана lcd.createChar(1, smile); // Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ символ ΠΏΠΎΠ΄ Π½ΠΎΠΌΠ΅Ρ€ΠΎΠΌ 1 lcd.setCursor(0, 0); // УстанавливаСм курсор Π² Π½Π°Ρ‡Π°Π»ΠΎ 1 строки lcd.print("\1"); // Π’Ρ‹Π²ΠΎΠ΄ΠΈΠΌ смайлик (символ ΠΏΠΎΠ΄ Π½ΠΎΠΌΠ΅Ρ€ΠΎΠΌ 1) - "\1" } void loop(){ }

Как ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ, Π±Ρ‹Π»Π° создана битовая маска такая ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°. ПослС создания Π΅Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΊΠ°ΠΊ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ Π² дисплСй. ΠŸΠΎΠΌΠ½ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ Π² памяти ΠΌΠΎΠΆΠ½ΠΎ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ лишь 7 символов. Π’ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ΅, этого ΠΈ Π±Ρ‹Π²Π°Π΅Ρ‚ достаточно. НапримСр, Ссли Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ символ градуса.

ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ ΠΏΡ€ΠΈ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… дисплСй ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ

Π‘Ρ‹Π²Π°ΡŽΡ‚ Ρ‚Π°ΠΊΠΈΠ΅ случаи, ΠΊΠΎΠ³Π΄Π° дисплСй Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚. НапримСр, Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ, Π½ΠΎ Π½Π΅ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ символы. Или вовсС Π½Π΅ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ. Π‘Π½Π°Ρ‡Π°Π»Π° посмотритС, ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ Π»ΠΈ Π²Ρ‹ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΠ»ΠΈ ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Ρ‹. Если Π²Ρ‹ использовали ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ lcd 1202 ΠΊ Arduino Π±Π΅Π· I2C, Ρ‚ΠΎ ΠΎΡ‡Π΅Π½ΡŒ Π»Π΅Π³ΠΊΠΎ Π·Π°ΠΏΡƒΡ‚Π°Ρ‚ΡŒΡΡ Π² ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π°Ρ…, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΡ‚Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΡ‡ΠΈΠ½ΠΎΠΉ Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ дисплСя. Π’Π°ΠΊΠΆΠ΅ слСдуСт ΡƒΠ΄ΠΎΡΡ‚ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠ½Ρ‚Ρ€Π°ΡΡ‚Π½ΠΎΡΡ‚ΡŒ дисплСя ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½Π°, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΏΡ€ΠΈ минимальной контрастности Π΄Π°ΠΆΠ΅ Π½Π΅ Π²ΠΈΠ΄Π½ΠΎ, Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ Π»ΠΈ LCD 1602 ΠΈΠ»ΠΈ Π½Π΅Ρ‚. Если это Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚, Ρ‚ΠΎ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° ΠΌΠΎΠΆΠ΅Ρ‚ кроСтся Π² ΠΏΠ°ΠΉΠΊΠ΅ ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ΠΎΠ², это ΠΏΡ€ΠΈ использовании модуля I2C. Π’Π°ΠΊΠΆΠ΅ частой ΠΏΡ€ΠΈΡ‡ΠΈΠ½ΠΎΠΉ, ΠΏΡ€ΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ дисплСй ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ, являСтся Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Π°Ρ установка I2C адрСса. Π”Π΅Π»ΠΎ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»Π΅ΠΉ ΠΌΠ½ΠΎΠ³ΠΎ, ΠΈ ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Ρ€Π°Π·Π½Ρ‹ΠΉ адрСс, ΠΈΡΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ Π½ΡƒΠΆΠ½ΠΎ Ρ‚ΡƒΡ‚:

LiquidCrystal_I2C lcd(0x27,16,2);

Π’ скобках ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Π΄Π²Π° значСния, 0x27 ΠΈ 16,2 (16, 2 - являСтся Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ дисплСя, Π° 0x27 ΠΊΠ°ΠΊ Ρ€Π°Π· Ρ‚Π°ΠΊΠΈ адрСс I2C). ВмСсто этих Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ 0x37 ΠΈΠ»ΠΈ 0x3F. Ну ΠΈ Π΅Ρ‰Π΅ ΠΎΠ΄Π½ΠΎΠΉ ΠΏΡ€ΠΈΡ‡ΠΈΠ½ΠΎΠΉ являСтся просто нСисправный LCD 1602. Учитывая, Ρ‡Ρ‚ΠΎ практичСски всС для Arduino изготавливаСтся Π² ΠšΠΈΡ‚Π°Π΅, Ρ‚ΠΎ нСльзя Π±Ρ‹Ρ‚ΡŒ ΡƒΠ²Π΅Ρ€Π΅Π½Π½Ρ‹ΠΌ Π½Π° 100%, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠΎΠ±Ρ€Π΅Ρ‚Π΅Π½Π½Ρ‹ΠΉ Ρ‚ΠΎΠ²Π°Ρ€ Π½Π΅ являСтся Π±Ρ€Π°ΠΊΠΎΠΌ.

ΠŸΠ»ΡŽΡΡ‹ ΠΈ минусы LCD 1602

Рассмотрим ΠΏΠ»ΡŽΡΡ‹ ΠΈ минусы дисплСя LCD 1602.

  • Π¦Π΅Π½Π°. Π­Ρ‚ΠΎΡ‚ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ ΠΌΠΎΠΆΠ½ΠΎ приобрСсти совсСм ΠΏΠΎ Π΄Π΅ΠΌΠΎΠΊΡ€Π°Ρ‚ΠΈΡ‡Π½ΠΎΠΉ Ρ†Π΅Π½Π΅ Π² китайских ΠΌΠ°Π³Π°Π·ΠΈΠ½Π°Ρ…. Π¦Π΅Π½Π° составляСт 200-300 Ρ€ΡƒΠ±Π»Π΅ΠΉ. Иногда продаСтся Π΄Π°ΠΆΠ΅ вмСстС с I2C ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΌ.
  • Π›Π΅Π³ΠΊΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ. ВСроятно, Π½ΠΈΠΊΡ‚ΠΎ сСйчас Π½Π΅ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ LCD 1602 Π±Π΅Π· I2C. А с этим ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΌ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ всСго 4 ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Π°, Π½ΠΈΠΊΠ°ΠΊΠΈΡ… "ΠΏΠ°ΡƒΡ‚ΠΈΠ½" ΠΈΠ· ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΎΠ² Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚.
  • ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. Благодаря Π³ΠΎΡ‚ΠΎΠ²Ρ‹ΠΌ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°ΠΌ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с этим ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΌ Π»Π΅Π³ΠΊΠΎ, всС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΡƒΠΆΠ΅ прописаны. А ΠΏΡ€ΠΈ нСобходимости Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ свой символ затрачиваСтся всСго ΠΏΠ°Ρ€Ρƒ ΠΌΠΈΠ½ΡƒΡ‚.
  • Π—Π° врСмя использования тысячами Ρ€Π°Π΄ΠΈΠΎΠ»ΡŽΠ±ΠΈΡ‚Π΅Π»ΡΠΌΠΈ Π½ΠΈΠΊΠ°ΠΊΠΈΡ… Π±ΠΎΠ»ΡŒΡˆΠΈΡ… минусов выявлСно Π½Π΅ Π±Ρ‹Π»ΠΎ, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π±Ρ‹Π²Π°ΡŽΡ‚ случаи ΠΏΠΎΠΊΡƒΠΏΠΊΠΈ Π±Ρ€Π°ΠΊΠ°, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π² основном ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ китайскиС Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ дисплССв.

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ Π±Ρ‹Π»ΠΎ рассмотрСно ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ 1602 ΠΊ Arduino, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π±Ρ‹Π»ΠΈ прСдставлСны ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с этим дисплССм. Он Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ являСтся Π² своСй ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· Π»ΡƒΡ‡ΡˆΠΈΡ…, Π½Π΅ просто Ρ‚Π°ΠΊ Π΅Π³ΠΎ Π²Ρ‹Π±ΠΈΡ€Π°ΡŽΡ‚ тысячи Ρ€Π°Π΄ΠΈΠΎΠ»ΡŽΠ±ΠΈΡ‚Π΅Π»ΠΈ для своих ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ²!