мСню Π½Π° Π°Ρ€Π΄ΡƒΠΈΠ½ΠΎ lcd 1602 i2c с энкодСром

Π­Π½ΠΊΠΎΠ΄Π΅Ρ€ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ мСню Π½Π° дисплСС

мСню Π½Π° Π°Ρ€Π΄ΡƒΠΈΠ½ΠΎ lcd 1602 i2c с энкодСром. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ мСню Π½Π° Π°Ρ€Π΄ΡƒΠΈΠ½ΠΎ lcd 1602 i2c с энкодСром. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ мСню Π½Π° Π°Ρ€Π΄ΡƒΠΈΠ½ΠΎ lcd 1602 i2c с энкодСром. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ мСню Π½Π° Π°Ρ€Π΄ΡƒΠΈΠ½ΠΎ lcd 1602 i2c с энкодСром. Π€ΠΎΡ‚ΠΎ мСню Π½Π° Π°Ρ€Π΄ΡƒΠΈΠ½ΠΎ lcd 1602 i2c с энкодСром

Рассмотрим, ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ мСню с энкодСром Ардуино Π½Π° дисплСС LCD 1602 I2C. ΠœΡ‹ прСдставим Π΄Π²Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°: мСню для Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ свСтодиодов ΠΈ мСню Π½Π° дисплСС с ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΎΡ‚ энкодСра ΡΡ€ΠΊΠΎΡΡ‚ΡŒΡŽ свСтодиодов. Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅ΠΌ Π²Π°ΠΌ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚ΡŒΡΡ с ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ ΠΊ Arduino дисплСя LCD 1602 Arduino ΠΈ модуля энкодСр Ардуино. Если Π²Ρ‹ ΡƒΠΆΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π»ΠΈ Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ, Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈΡΡ‚ΡƒΠΏΠ°Ρ‚ΡŒ ΠΊ этому ΠΌΠΈΠ½ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρƒ.

МСню Π½Π° Ардуино LCD 1602 с энкодСром

мСню Π½Π° Π°Ρ€Π΄ΡƒΠΈΠ½ΠΎ lcd 1602 i2c с энкодСром. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ мСню Π½Π° Π°Ρ€Π΄ΡƒΠΈΠ½ΠΎ lcd 1602 i2c с энкодСром. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ мСню Π½Π° Π°Ρ€Π΄ΡƒΠΈΠ½ΠΎ lcd 1602 i2c с энкодСром. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ мСню Π½Π° Π°Ρ€Π΄ΡƒΠΈΠ½ΠΎ lcd 1602 i2c с энкодСром. Π€ΠΎΡ‚ΠΎ мСню Π½Π° Π°Ρ€Π΄ΡƒΠΈΠ½ΠΎ lcd 1602 i2c с энкодСром

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ мСню с ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΌ энкодСра ΠΈ ΠΆΠΊ дисплССм, Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½Π½Ρ‹Π΅ Π½Π° этой страницС, Π²Ρ‹ смоТСтС Π°Π΄Π°ΠΏΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ΄ свои Π½ΡƒΠΆΠ΄Ρ‹. Π’ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ… Π½Π° Ардуино трСбуСтся для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ для настройки ΠΈΠ»ΠΈ управлСния устройством Π½Π° ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π΅. Π­Π½ΠΊΠΎΠ΄Π΅Ρ€ позволяСт ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ простоС ΠΈ Π½Π°Ρ‚ΠΈΠ²Π½ΠΎΠ΅ мСню Π½Π° LCD дисплСС для управлСния свСтодиодами, ΠΌΠΈΠΊΡ€ΠΎ сСрво Ардуино ΠΈΠ»ΠΈ для Π΄Ρ€ΡƒΠ³ΠΈΡ… Π·Π°Π΄Π°Ρ‡.

Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ мСню с энкодСром Π½Π° дисплСС

Для этого ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π½Π°ΠΌ потрСбуСтся:

Π‘ΠΊΠ΅Ρ‚Ρ‡. Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ энкодСром мСню дисплСя LCD

Π’ ΠΏΠ΅Ρ€Π²ΠΎΠΌ, Π±ΠΎΠ»Π΅Π΅ простом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅, Π² мСню дисплСя имССтся Ρ‚Ρ€ΠΈ ΠΏΡƒΠ½ΠΊΡ‚Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΌΠ΅Π½ΡΡ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ вращСния Ρ€ΡƒΡ‡ΠΊΠΈ энкодСра. ΠŸΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ Π½Π° Ρ‚Π°ΠΊΡ‚ΠΎΠ²ΡƒΡŽ ΠΊΠ½ΠΎΠΏΠΊΡƒ энкодСра, Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹ΠΉ Ρ†Π²Π΅Ρ‚ RGB свСтодиода. Π’ зависимости ΠΎΡ‚ полоТСния курсора Π½Π° дисплСС, ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ условного ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° if Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π½ΡƒΠΆΠ½Ρ‹ΠΉ Ρ†Π²Π΅Ρ‚. Π‘ΠΎΠ±Π΅Ρ€ΠΈΡ‚Π΅ схСму, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ΅ Π²Ρ‹ΡˆΠ΅ ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ.

ПояснСния ΠΊ ΠΊΠΎΠ΄Ρƒ:

Π‘ΠΊΠ΅Ρ‚Ρ‡. Π”Π²ΡƒΡ…ΡƒΡ€ΠΎΠ²Π½Π΅Π²ΠΎΠ΅ мСню с энкодСром Ардуино

Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ мСню ΠΈΠΌΠ΅Π΅Ρ‚ Π²Ρ‚ΠΎΡ€ΠΎΠΉ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ для Ρ€Π΅Π³ΡƒΠ»ΠΈΡ€ΠΎΠ²ΠΊΠΈ яркости ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ свСтодиода ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ. ΠŸΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ мСню Π² Π΄Ρ€ΡƒΠ³ΠΎΠ΅ происходит ΠΏΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΈ энкодСра, ΠΏΡ€ΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ мСняСтся Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ глобальной ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ w Π² скСтчС. Π‘Ρ…Π΅ΠΌΠ° ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ свСтодиодов ΠΈ ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ ΠΊ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρƒ остаСтся ΠΏΡ€Π΅ΠΆΠ½Π΅ΠΉ, ΠΊΠ°ΠΊ Π½Π° ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ΅ Π²Ρ‹ΡˆΠ΅, слСдуСт лишь Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ Π² ΠΏΠ»Π°Ρ‚Ρƒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ΄ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

ПояснСния ΠΊ ΠΊΠΎΠ΄Ρƒ:

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅. ΠœΡ‹ рассмотрСли Π΄Π²Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° создания мСню с энкодСром Π½Π° дисплСС 1602 IIC Arduino. Если Π²Ρ‹ ΡƒΠ»ΠΎΠ²ΠΈΠ»ΠΈ всю ΡΡƒΡ‚ΡŒ управлСния мСню с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ энкодСра (Π΄Π°Ρ‚Ρ‡ΠΈΠΊ ΡƒΠ³Π»Π° ΠΏΠΎΠ²ΠΎΡ€ΠΎΡ‚Π°), Ρ‚ΠΎ Π»Π΅Π³ΠΊΠΎ смоТСтС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ прСдставлСнныС ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Π² своих собствСнных ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ… с дисплССм Π½Π° Ардуино. Если Ρƒ вас Π΅Ρ‰Π΅ ΠΎΡΡ‚Π°Π»ΠΈΡΡŒ вопросы ΠΏΠΎ Π΄Π°Π½Π½ΠΎΠΉ Ρ‚Π΅ΠΌΠ΅, Ρ‚ΠΎ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡ… ΠΎΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ Π² коммСнтариях ΠΊ этой записи.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

ΠŸΡ€ΠΎΡΡ‚ΠΎΠ΅ мСню Π½Π° Arduino ΠΈ Π–Πš дисплСС

Π’ Ρ€Π°Π·Π½ΠΎΠΎΠ±Ρ€Π°Π·Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ… Π½Π° основС ΠΏΠ»Π°Ρ‚Ρ‹ Arduino достаточно часто Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ Π·Π°Π΄Π°Ρ‡Π° создания мСню, ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΠΎΠ³ΠΎ Π½Π° экранС Π–Πš дисплСя 16Ρ…2 ΠΈ управляСмого с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠ½ΠΎΠΏΠΎΠΊ. Π’ Π΄Π°Π½Π½ΠΎΠΉ ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ рассмотрим ΠΎΠ΄ΠΈΠ½ ΠΈΠ· самых простых способов создания ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ мСню (ΠΊΠ°ΠΊΠΎΠΉ я Ρ‚ΠΎΠ»ΡŒΠΊΠΎ нашСл Π² ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π΅). Π’ этом ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ ΠΌΡ‹ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π΄Π°Π½Π½ΠΎΠ³ΠΎ мСню Π±ΡƒΠ΄Π΅ΠΌ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ свСтодиодом, Π½ΠΎ Π΅Π³ΠΎ Π»Π΅Π³ΠΊΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π°Π΄Π°ΠΏΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ΄ Π»ΡŽΠ±Ρ‹Π΅ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ элСктронныС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹ Π½Π° основС ΠΏΠ»Π°Ρ‚Ρ‹ Arduino.

НСобходимыС ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹

Π’Π½Π΅ΡˆΠ½ΠΈΠΉ Π²ΠΈΠ΄ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ², Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… для сборки ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, ΠΏΠΎΠΊΠ°Π·Π°Π½ Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ рисункС.

Π‘Ρ…Π΅ΠΌΠ° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°

Π‘Ρ…Π΅ΠΌΠ° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° мСню Π½Π° основС ΠΏΠ»Π°Ρ‚Ρ‹ Arduino ΠΈ Π–Πš дисплСя 16Ρ…2 прСдставлСна Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ рисункС.

мСню Π½Π° Π°Ρ€Π΄ΡƒΠΈΠ½ΠΎ lcd 1602 i2c с энкодСром. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ мСню Π½Π° Π°Ρ€Π΄ΡƒΠΈΠ½ΠΎ lcd 1602 i2c с энкодСром. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ мСню Π½Π° Π°Ρ€Π΄ΡƒΠΈΠ½ΠΎ lcd 1602 i2c с энкодСром. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ мСню Π½Π° Π°Ρ€Π΄ΡƒΠΈΠ½ΠΎ lcd 1602 i2c с энкодСром. Π€ΠΎΡ‚ΠΎ мСню Π½Π° Π°Ρ€Π΄ΡƒΠΈΠ½ΠΎ lcd 1602 i2c с энкодСромНа ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ рисункС эта схСма ΠΏΠΎΠΊΠ°Π·Π°Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΊ Π΅Π΅ сборкС Π½Π° ΠΌΠ°ΠΊΠ΅Ρ‚Π½ΠΎΠΉ ΠΏΠ»Π°Ρ‚Π΅.

мСню Π½Π° Π°Ρ€Π΄ΡƒΠΈΠ½ΠΎ lcd 1602 i2c с энкодСром. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ мСню Π½Π° Π°Ρ€Π΄ΡƒΠΈΠ½ΠΎ lcd 1602 i2c с энкодСром. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ мСню Π½Π° Π°Ρ€Π΄ΡƒΠΈΠ½ΠΎ lcd 1602 i2c с энкодСром. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ мСню Π½Π° Π°Ρ€Π΄ΡƒΠΈΠ½ΠΎ lcd 1602 i2c с энкодСром. Π€ΠΎΡ‚ΠΎ мСню Π½Π° Π°Ρ€Π΄ΡƒΠΈΠ½ΠΎ lcd 1602 i2c с энкодСром

Π”Π°Π»Π΅Π΅ Π½Π° Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… рисунках ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ прСдставлСн процСсс сборки этой схСмы Π½Π° ΠΌΠ°ΠΊΠ΅Ρ‚Π½ΠΎΠΉ ΠΏΠ»Π°Ρ‚Π΅.

Π‘Π½Π°Ρ‡Π°Π»Π° ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌ Π–Πš дисплСй – ΠΏΠΈΡ‚Π°Π½ΠΈΠ΅ ΠΈ ΠΎΠ±Ρ‰ΠΈΠΉ ΠΏΡ€ΠΎΠ²ΠΎΠ΄.

Π—Π°Ρ‚Π΅ΠΌ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌ ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Ρ‹ для ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π΄Π°Π½Π½Ρ‹Ρ… Π–Πš дисплСя. Π—Π΄Π΅ΡΡŒ использован 8-Π±ΠΈΡ‚Π½Ρ‹ΠΉ способ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π–Πš дисплСя ΠΊ ΠΏΠ»Π°Ρ‚Π΅ Arduino, Π½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΏΡ€ΠΎΡΡ‚ΠΈΡ‚ΡŒ схСму, использовав 4-Π±ΠΈΡ‚Π½Ρ‹ΠΉ Ρ€Π΅ΠΆΠΈΠΌ.

ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌ ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ 16 Π–Πš дисплСя Π½Π° зСмлю, Π° ΠΊ ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Ρƒ 15 дисплСя ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌ рСзистор сопротивлСниСм 1 Ом. Автор ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° (ссылка Π½Π° ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π» ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π° Π² ΠΊΠΎΠ½Ρ†Π΅ ΡΡ‚Π°Ρ‚ΡŒΠΈ) рассчитал сопротивлСниС Π΄Π°Π½Π½ΠΎΠ³ΠΎ рСзистора исходя ΠΈΠ· Π΄Π°Ρ‚Π°ΡˆΠΈΡ‚Π° Π½Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡƒΡŽ ΠΈΠΌ модСль Π–Πš дисплСя (LMB 162ABC). Если фоновая подсвСтка дисплСя (Backlight) Π²Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ½Π°, Ρ‚ΠΎ эти ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π½Π΅ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Π½Ρ‹ΠΌΠΈ.

Π”Π°Π»Π΅Π΅ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌ свСтодиод ΠΊ ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Ρƒ 9 ΠΏΠ»Π°Ρ‚Ρ‹ Arduino Ρ‡Π΅Ρ€Π΅Π· Ρ‚ΠΎΠΊΠΎΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠΉ рСзистор 220 Ом.

Π”Π°Π»Π΅Π΅ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌ ΠΊΠ½ΠΎΠΏΠΎΡ‡Π½ΡƒΡŽ панСль согласно Ρ€Π°Π½Π΅Π΅ прСдставлСнной схСмы, Π»ΠΈΠ±ΠΎ ΠΆΠ΅ вмСсто Π½Π΅Π΅ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ 3 ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Π΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ. Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ внСшний Π²ΠΈΠ΄ собранной конструкции ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.

Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ (скСтча)

Автор ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π» Π΅Π³ΠΎ ΠΊΠΎΠ΄ Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Π»Π΅Π³ΠΊΠΎ Π°Π΄Π°ΠΏΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ (ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ) ΠΏΠΎΠ΄ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹. Π‘Ρ…Π΅ΠΌΠ° мСню, рСализуСмая ΠΊΠΎΠ΄ΠΎΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΏΠΎΠΊΠ°Π·Π°Π½Π° Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ рисункС.

ΠŸΡ€ΠΈ ΠΏΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΌ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΈ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΏΡƒΠ½ΠΊΡ‚ Navigate (навигация) ΠΈΠ»ΠΈ Execute (исполнСниС).

ΠŸΡƒΠ½ΠΊΡ‚ Execute (исполнСниС) : Π² этом ΠΏΡƒΠ½ΠΊΡ‚Π΅ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ свСтодиодом – Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ/Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ, ΠΏΠ»Π°Π²Π½ΠΎ ΡƒΠ³Π°ΡΠ°Ρ‚ΡŒ ΠΈΠ»ΠΈ ΠΌΠΈΠ³Π°Ρ‚ΡŒ.

ΠŸΡƒΠ½ΠΊΡ‚ Navigate (навигация) : этот ΠΏΡƒΠ½ΠΊΡ‚ мСню ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠ½ΠΎΠΏΠΎΠΊ.

На ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ рисункС Π²ΠΈΠ΄Π½ΠΎ ΠΊΠ°ΠΊ Π°Π²Ρ‚ΠΎΡ€ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π»Π΅Π½Ρ‚Ρ‹ подписал названия ΠΊΠ½ΠΎΠΏΠΎΠΊ для упрощСния Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΈ ΠΏΠΎ мСню.

Π”Π°Π»Π΅Π΅ прСдставлСн исходный ΠΊΠΎΠ΄ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ мСню.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

ΠŸΡ€ΠΎ Ардуино ΠΈ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ

Ρ‡Π΅Ρ‚Π²Π΅Ρ€Π³, 4 января 2018 Π³.

ВСкстовоС мСню Π½Π° Ардуино

мСню Π½Π° Π°Ρ€Π΄ΡƒΠΈΠ½ΠΎ lcd 1602 i2c с энкодСром. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ мСню Π½Π° Π°Ρ€Π΄ΡƒΠΈΠ½ΠΎ lcd 1602 i2c с энкодСром. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ мСню Π½Π° Π°Ρ€Π΄ΡƒΠΈΠ½ΠΎ lcd 1602 i2c с энкодСром. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ мСню Π½Π° Π°Ρ€Π΄ΡƒΠΈΠ½ΠΎ lcd 1602 i2c с энкодСром. Π€ΠΎΡ‚ΠΎ мСню Π½Π° Π°Ρ€Π΄ΡƒΠΈΠ½ΠΎ lcd 1602 i2c с энкодСром

мСню Π½Π° Π°Ρ€Π΄ΡƒΠΈΠ½ΠΎ lcd 1602 i2c с энкодСром. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ мСню Π½Π° Π°Ρ€Π΄ΡƒΠΈΠ½ΠΎ lcd 1602 i2c с энкодСром. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ мСню Π½Π° Π°Ρ€Π΄ΡƒΠΈΠ½ΠΎ lcd 1602 i2c с энкодСром. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ мСню Π½Π° Π°Ρ€Π΄ΡƒΠΈΠ½ΠΎ lcd 1602 i2c с энкодСром. Π€ΠΎΡ‚ΠΎ мСню Π½Π° Π°Ρ€Π΄ΡƒΠΈΠ½ΠΎ lcd 1602 i2c с энкодСром

МСню Π²Π΅Ρ€Ρ…Π½Π΅Π³ΠΎ уровня Π² Π΄Π°Π½Π½ΠΎΠΌ скСтчС содСрТит 2 элСмСнта: ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Ρ… ΡƒΡ€Π°Π²Π½Π΅Π½ΠΈΠΉ, Π²Ρ‚ΠΎΡ€ΠΎΠΉ просто ΠΊΠ°ΠΊ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ построСния ΠΌΠ½ΠΎΠ³ΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π³ΠΎ мСню. ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ ReturnFromMenu установлСн Π² 0 ΠΈ ΠΏΡ€ΠΈ Π²Ρ‹Π±ΠΎΡ€Π΅ ΠΏΡƒΠ½ΠΊΡ‚ΠΎΠ² мСню Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ. Π’Π°ΠΊ осущСствляСтся Π·Π°Π΄Π°Π½ΠΈΠ΅ коэффициСнтов ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ уравнСния ΠΈ Π½Π°Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ Π΅Π³ΠΎ ΠΊΠΎΡ€Π½Π΅ΠΉ (Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ InputA, InputB, InputC, Solve). Π’ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°Ρ… слСдуСт ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ ΠΎΠ± ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠΈ подсвСткой дисплСя, для этого рСгулярно вызываСтся функция LCDBacklight. Ѐункция loop содСрТит СдинствСнный Π²Ρ‹Π·ΠΎΠ² DrawMenu. Вся дальнСйшая Ρ€Π°Π±ΠΎΡ‚Π° Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒΡΡ Π² отрисовкС мСню ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ-ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ².

Π’ΠΎΡ‚ Π² ΠΎΠ±Ρ‰Π΅ΠΌ-Ρ‚ΠΎ ΠΈ всё, ΠΎΡΡ‚Π°Π»ΡŒΠ½ΠΎΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ понятно ΠΈΠ· ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°. Ну ΠΈ Π² Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π΄ΠΎΡ‡ΠΈΡ‚Π°Π²ΡˆΠΈΠΌ Π΄ΠΎ ΠΊΠΎΠ½Ρ†Π° ΠΏΡ€Π΅Π΄Π»Π°Π³Π°ΡŽ Π²ΠΈΠ΄Π΅ΠΎ Ρ€Π°Π±ΠΎΡ‚Ρ‹ этого мСню:

мСню Π½Π° Π°Ρ€Π΄ΡƒΠΈΠ½ΠΎ lcd 1602 i2c с энкодСром. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ мСню Π½Π° Π°Ρ€Π΄ΡƒΠΈΠ½ΠΎ lcd 1602 i2c с энкодСром. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ мСню Π½Π° Π°Ρ€Π΄ΡƒΠΈΠ½ΠΎ lcd 1602 i2c с энкодСром. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ мСню Π½Π° Π°Ρ€Π΄ΡƒΠΈΠ½ΠΎ lcd 1602 i2c с энкодСром. Π€ΠΎΡ‚ΠΎ мСню Π½Π° Π°Ρ€Π΄ΡƒΠΈΠ½ΠΎ lcd 1602 i2c с энкодСром

90 ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π²:

ЗдравствуйтС Ρ‚Ρ‘Π·ΠΊΠ°. Π― «ΠΏΠΎΠ»Π½Ρ‹ΠΉ Π½ΠΎΠ²ΠΈΡ‡ΠΎΠΊ» Π² Π°Ρ€Π΄ΡƒΠΈΠ½ΠΎ, ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½Π°ΠΊΠΈΠ΄Π°Ρ‚ΡŒ ΠΌΠ΅Π½ΡŽΡˆΠΊΡƒ с ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ энкодСром, для мСня, ΠΊΠ°ΠΊ-Ρ‚ΠΎ слоТновато. Поиск Π΄Π°Π» ΠΊΡƒΡ‡Ρƒ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ².
Но Π’Π°ΡˆΠ° Ρ€Π°Π±ΠΎΡ‚Π° Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ качСствСнная, ΠΈ Ρ„ΠΈΡˆΠΊΠΈ Π² Π²ΠΈΠ΄Π΅ Π±Π΅Π³ΡƒΡ‰Π΅Π³ΠΎ тСкста, Π²ΠΎΠΎΠ±Ρ‰Π΅ супСр.
Но, сходу ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ скСтч, Π½Π΅ ΠΏΡ€ΠΎΠΊΠ°Ρ‚ΠΈΠ»ΠΎ.
На вСрсии IDE 1.6.7 (Uno R3) Π·Π°Ρ€ΡƒΠ³Π°Π»Π°ΡΡŒ Π½Π° строку «eMenuKey DrawMenu(eMenuKey Key)» словами «does not name a type». ΠŸΠΎΠ΄ΡΠΊΠ°ΠΆΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ? И ΠΎΠΉ, Ρ‡ΡƒΠ²ΡΡ‚Π²ΡƒΡŽ, вопросов Π±ΡƒΠ΄Π΅Ρ‚ ΠΊΡƒΡ‡Π°.

ΠŸΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Π» ΠΎΠ±Π° Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π° ΠΏΡƒΡ‚Π΅ΠΉ ΠΊ скСтчу, ΠΈ с «C:\Новая ΠΏΠ°ΠΏΠΊΠ°\Arduino_KY040_Menu» ΠΈ просто ΠΈΠ· ΠΊΠΎΡ€Π½Π΅Π²ΡƒΡ…ΠΈ Π‘:\Arduino_KY040_Menu. НС Π²Ρ‹Ρ…ΠΎΠ΄ΠΈΡ‚. Π’Ρ‹Π΄Π°Π΅Ρ‚ Ρ†Π΅Π»Ρ‹ΠΉ список «Π½Π΅Π΄ΠΎΠ²ΠΎΠ»ΡŒΡΡ‚Π²»:

Arduino: 1.6.7 (Windows 7), ΠŸΠ»Π°Ρ‚Π°:»Arduino/Genuino Uno»
Arduino_KY040_Menu:192: error: ‘eMenuKey’ does not name a type

eMenuKey DrawMenu(eMenuKey Key) < // ΠžΡ‚Ρ€ΠΈΡΠΎΠ²ΠΊΠ° ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ уровня мСню ΠΈ навигация ΠΏΠΎ Π½Π΅ΠΌΡƒ
^
Arduino_KY040_Menu:172: error: invalid conversion from ‘void* (*)()’ to ‘void (*)()’ [-fpermissive]

>;
^
Arduino_KY040_Menu:172: error: invalid conversion from ‘void* (*)()’ to ‘void (*)()’ [-fpermissive]

Arduino_KY040_Menu:172: error: invalid conversion from ‘void* (*)()’ to ‘void (*)()’ [-fpermissive]

Arduino_KY040_Menu:172: error: invalid conversion from ‘void* (*)()’ to ‘void (*)()’ [-fpermissive]

Arduino_KY040_Menu:172: error: invalid conversion from ‘void* (*)()’ to ‘void (*)()’ [-fpermissive]

Arduino_KY040_Menu:172: error: invalid conversion from ‘void* (*)()’ to ‘void (*)()’ [-fpermissive]

Arduino_KY040_Menu:172: error: invalid conversion from ‘void* (*)()’ to ‘void (*)()’ [-fpermissive]

Arduino_KY040_Menu:172: error: invalid conversion from ‘void* (*)()’ to ‘void (*)()’ [-fpermissive]

Arduino_KY040_Menu:172: error: invalid conversion from ‘void* (*)()’ to ‘void (*)()’ [-fpermissive]

C:\Users\foto\AppData\Local\Temp\arduino_0e105e996471fbde0dc2a2dfa2384703\Arduino_KY040_Menu.ino: In function ‘void LCDBacklight(byte)’:

Arduino_KY040_Menu:175: error: default argument given for parameter 1 of ‘void LCDBacklight(byte)’ [-fpermissive]

^
Arduino_KY040_Menu:30: error: after previous specification in ‘void LCDBacklight(byte)’ [-fpermissive]

void LCDBacklight(byte v = 2);
^
exit status 1
‘eMenuKey’ does not name a type

Π― ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ 1.6.12. Она Ρ‚Π°ΠΊΠΈΡ… ошибок Π½Π΅ Π²Ρ‹Π΄Π°Π²Π°Π»Π°, ΠΊΠ°ΠΊ ΠΈ web Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ create.arduino.cc.
Π‘ΠΊΠ°Ρ‡Π°Π» 1.6.7, Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ» скСтч, ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Π»ΠΎΡΡŒ Π±Π΅Π· ошибок. ΠŸΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅.

Но это всё Ρ‚Π°ΠΊ, навскидку.
РазумССтся, Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‡ΠΈΠ²Π°Ρ‚ΡŒΡΡ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚, это Π½Π°Π΄ΠΎ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ. Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΡƒ ΠΌΠΎΠΆΠ½ΠΎ, Π½ΠΎ, ΠΌΠ½Π΅ каТСтся, это ΠΏΠ΅Ρ€Π΅Π³Ρ€ΡƒΠ·ΠΈΡ‚ мСню.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

LiquidMenu: Arduino Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° для создания мСню Π½Π° LCD дисплСС

Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° LiquidMenu ΠΎΠ±Π΅Ρ€Ρ‚Ρ‹Π²Π°Π΅Ρ‚ Arduino Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ LiquidCrystal с Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ создания мСню. Она ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ процСсс создания мСню, абстрагируя элСмСнты мСню Π² иСрархичСски ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Π΅ классы.

мСню Π½Π° Π°Ρ€Π΄ΡƒΠΈΠ½ΠΎ lcd 1602 i2c с энкодСром. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ мСню Π½Π° Π°Ρ€Π΄ΡƒΠΈΠ½ΠΎ lcd 1602 i2c с энкодСром. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ мСню Π½Π° Π°Ρ€Π΄ΡƒΠΈΠ½ΠΎ lcd 1602 i2c с энкодСром. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ мСню Π½Π° Π°Ρ€Π΄ΡƒΠΈΠ½ΠΎ lcd 1602 i2c с энкодСром. Π€ΠΎΡ‚ΠΎ мСню Π½Π° Π°Ρ€Π΄ΡƒΠΈΠ½ΠΎ lcd 1602 i2c с энкодСром мСню Π½Π° Π°Ρ€Π΄ΡƒΠΈΠ½ΠΎ lcd 1602 i2c с энкодСром. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ мСню Π½Π° Π°Ρ€Π΄ΡƒΠΈΠ½ΠΎ lcd 1602 i2c с энкодСром. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ мСню Π½Π° Π°Ρ€Π΄ΡƒΠΈΠ½ΠΎ lcd 1602 i2c с энкодСром. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ мСню Π½Π° Π°Ρ€Π΄ΡƒΠΈΠ½ΠΎ lcd 1602 i2c с энкодСром. Π€ΠΎΡ‚ΠΎ мСню Π½Π° Π°Ρ€Π΄ΡƒΠΈΠ½ΠΎ lcd 1602 i2c с энкодСром ΠŸΡ€ΠΈΠΌΠ΅Ρ€ использования Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ LiquidMenu

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅

ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΠΈ

ВрСбования

Π—Π°Π³Ρ€ΡƒΠ·ΠΊΠ°

Π‘ΠΊΠ°Ρ‡Π°Ρ‚ΡŒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎ ссылкС Π½ΠΈΠΆΠ΅:

Быстрый старт

ΠžΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΡ классов

Для прСдставлСния Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… элСмСнтов мСню данная Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ иСрархичСски структурированныС классы.

мСню Π½Π° Π°Ρ€Π΄ΡƒΠΈΠ½ΠΎ lcd 1602 i2c с энкодСром. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ мСню Π½Π° Π°Ρ€Π΄ΡƒΠΈΠ½ΠΎ lcd 1602 i2c с энкодСром. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ мСню Π½Π° Π°Ρ€Π΄ΡƒΠΈΠ½ΠΎ lcd 1602 i2c с энкодСром. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ мСню Π½Π° Π°Ρ€Π΄ΡƒΠΈΠ½ΠΎ lcd 1602 i2c с энкодСром. Π€ΠΎΡ‚ΠΎ мСню Π½Π° Π°Ρ€Π΄ΡƒΠΈΠ½ΠΎ lcd 1602 i2c с энкодСром Базовая схСма ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠΈ классов мСню Π½Π° Π°Ρ€Π΄ΡƒΠΈΠ½ΠΎ lcd 1602 i2c с энкодСром. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ мСню Π½Π° Π°Ρ€Π΄ΡƒΠΈΠ½ΠΎ lcd 1602 i2c с энкодСром. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ мСню Π½Π° Π°Ρ€Π΄ΡƒΠΈΠ½ΠΎ lcd 1602 i2c с энкодСром. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ мСню Π½Π° Π°Ρ€Π΄ΡƒΠΈΠ½ΠΎ lcd 1602 i2c с энкодСром. Π€ΠΎΡ‚ΠΎ мСню Π½Π° Π°Ρ€Π΄ΡƒΠΈΠ½ΠΎ lcd 1602 i2c с энкодСром Полная схСма ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠΈ классов

Класс LiquidLine прСдставляСт собой строку тСкста/чисСл Π½Π° дисплСС. Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ LiquidLine ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ конструктор.

Класс LiquidScreen прСдставляСт собой Π½Π°Π±ΠΎΡ€ строк, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‚ΡΡ Π½Π° дисплСС (Ρ‚.Π΅. «Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ экран»).

Класс LiquidMenu ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ экраны для формирования мСню. Π”Π°Π½Π½Ρ‹ΠΉ класс ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для управлСния мСню (ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ экранов, Π²Ρ‹Π±ΠΎΡ€ строк, Π²Ρ‹Π·ΠΎΠ² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΈ Ρ‚.Π΄.).

БозданиС мСню

Навигация ΠΏΠΎ мСню

Навигация ΠΏΠΎ мСню осущСствляСтся ΠΈΠ· ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° LiquidMenu ΠΈΠ»ΠΈ, Ссли имССтся нСсколько мСню, ΠΈΠ· ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° LiquidSystem. Π­ΠΊΡ€Π°Π½Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π·Π°Ρ†ΠΈΠΊΠ»Π΅Π½Ρ‹ Π²ΠΏΠ΅Ρ€Π΅Π΄ ΠΈ Π½Π°Π·Π°Π΄ ΠΈΠ»ΠΈ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ экран ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΡƒΠΊΠ°Π·Π°Π½ Π΅Π³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ ΠΈΠ»ΠΈ Π½ΠΎΠΌΠ΅Ρ€ΠΎΠΌ:

Ѐокус ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ Π²Ρ‹Π·ΠΎΠ²Π°

Π‘Ρ‚Ρ€ΠΎΠΊΠΈ тСкста/чисСл, ΠΏΠΎΠΊΠ°Π·Π°Π½Π½Ρ‹Π΅ Π½Π° дисплСС, ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΌΠΈ. КаТдая строка ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ‚ ΠΏΡ€ΠΈΠΊΡ€Π΅ΠΏΠ»Π΅Π½Π½Ρ‹ΠΌΠΈ ΠΊ Π½Π΅ΠΉ функциями ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ Π²Ρ‹Π·ΠΎΠ²Π° (ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π΄ΠΎ 8 ΡˆΡ‚ΡƒΠΊ). Они ΠΏΡ€ΠΈΠΊΡ€Π΅ΠΏΠ»ΡΡŽΡ‚ΡΡ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ числа, ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ:

Π§Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠΊΡ€Π΅ΠΏΠ»Π΅Π½Π½ΡƒΡŽ ΠΊ строкС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π° строку Π±Ρ‹Π» Π½Π°Π²Π΅Π΄Π΅Π½ фокус (строка Π±Ρ‹Π»Π° Π²Ρ‹Π±Ρ€Π°Π½Π°). Для цикличСского пСрСмСщСния фокуса ΠΏΠΎ строкам, ΠΏΠΎΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΌ Π½Π° экранС, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄:

Когда строка Π²Ρ‹Π±Ρ€Π°Π½Π°, ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹Π·Π²Π°Π½Π° ΠΎΠ΄Π½Π° ΠΈΠ· ΠΏΡ€ΠΈΠΊΡ€Π΅ΠΏΠ»Π΅Π½Π½Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ:

number ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, какая ΠΈΠ· ΠΏΡ€ΠΈΠΊΡ€Π΅ΠΏΠ»Π΅Π½Π½Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Π΄ΠΎΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹Π·Π²Π°Π½Π°.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

ΠŸΡ€ΠΎ Ардуино ΠΈ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ

пятница, 12 октября 2018 Π³.

Π― ΠΎΠ±Ρ€Π°Ρ‚ΠΈΠ» Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ Ρ‚Π΅ΠΌΠ° создания мСню Π½Π° Ардуино ΠΈ Π–Πš дисплСС вСсьма популярна. И Π΅ΠΉ ΡƒΠΆΠ΅ посвящСна ΠΎΠ΄Π½Π° ΠΈΠ· ΠΌΠΎΠΈΡ… ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΉ. Но я понимаю, Ρ‡Ρ‚ΠΎ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ² адаптация ΠΌΠΎΠ΅Π³ΠΎ скСтча ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ Π½Π΅Ρ‚Ρ€ΠΈΠ²ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ Π·Π°Π΄Π°Ρ‡Π΅ΠΉ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ я Ρ€Π΅ΡˆΠΈΠ» Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ для создания мСню Π½Π° Ардуино ΠΈ Π–Πš дисплСС с I2C ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π±Ρ‹Π»ΠΎ Π±Ρ‹ Π»Π΅Π³ΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π°ΠΆΠ΅ Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰Π΅ΠΌΡƒ Π°Ρ€Π΄ΡƒΠΈΠ½Ρ‰ΠΈΠΊΡƒ.

Π’ ΠΌΠΎΠ΅ΠΌ распоряТСнии имССтся Π–Πš дисплСй 20×4 с I2C интСрфСйсом, ΠΊ соТалСнию, Π±Π΅Π· ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ ΠΊΠΈΡ€ΠΈΠ»Π»ΠΈΡ†Ρ‹. Для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π½ΠΈΠΌ Π½ΡƒΠΆΠ½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°, я ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ LiquidCrystal_I2C. И, Ρ‡Ρ‚ΠΎΠ±Ρ‹ моя Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Π½Π΅ Π±Ρ‹Π»Π° ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΉ надстройкой, завязанной Π½Π° LiquidCrystal_I2C, я Ρ€Π΅ΡˆΠΈΠ» Π΄ΠΎΡ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ послСднюю, Π΄ΠΎΠ±Π°Π²ΠΈΠ² Π² Π½Π΅Π΅ Π½ΠΎΠ²Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. И Ρ€Π΅Ρ‡ΡŒ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎ создании мСню: я Π΄ΠΎΠ±Π°Π²ΠΈΠ» Π² Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Π½Π°Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, накопившиСся Ρƒ мСня Π·Π° врСмя Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π΄Π°Π½Π½Ρ‹ΠΌ дисплССм.

Как ΠΈ ΠΏΡ€Π΅ΠΆΠ΄Π΅ для Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΈ ΠΏΠΎ мСню Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌ ΠΈΠ½ΠΊΡ€Π΅ΠΌΠ΅Π½Ρ‚Π½Ρ‹ΠΉ энкодСр с ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, KY-040. Код для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π½ΠΈΠΌ Π±Ρ‹Π» ΠΏΠΎΠΌΠ΅Ρ‰Π΅Π½ нСпосрСдствСнно Π² Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ. НСобходимо лишь ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΊ ΠΊΠ°ΠΊΠΈΠΌ Π²Ρ‹Π²ΠΎΠ΄Π°ΠΌ Ардуино ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ энкодСр.

printAt, printf, printfAt

Ѐункция printAt ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Ρ‚Π΅ ΠΆΠ΅ Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ…, Ρ‡Ρ‚ΠΎ ΠΈ print: Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ Π½Π° дисплСй Ρ†Π΅Π»Ρ‹Π΅ ΠΈ Π΄Ρ€ΠΎΠ±Π½Ρ‹Π΅ числа, тСкстовыС строки (Π±ΡƒΠ΄ΡŒ Ρ‚ΠΎ массив символов ΠΈΠ»ΠΈ пСрСмСнная Ρ‚ΠΈΠΏΠ° String). А ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с функциями Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Π²Ρ‹Π²ΠΎΠ΄Π° Π½Π΅ Π·Π°Π±Ρ‹Π²Π°ΠΉΡ‚Π΅, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ Ρ‚ΠΈΠΏ String ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ ΠΈΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½Π° строку Π² стилС Π‘ΠΈ. Для этого достаточно Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ c_str() класса String, Π² ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Π²Ρ‹ΡˆΠ΅ это ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ.

Говоря ΠΎ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΌ Π²Ρ‹Π²ΠΎΠ΄Π΅, Ρ…ΠΎΡ‡Ρƒ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ Π΅Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ ΠΌΠΎΠΌΠ΅Π½Ρ‚. РСализация Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ сСмСйства printf Π½Π° Ардуино ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Π½Π΅ всС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ форматирования. Π­Ρ‚ΠΎ Π±Ρ‹Π»ΠΎ сдСлано с Ρ†Π΅Π»ΡŒΡŽ ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ€ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ. Π›ΠΈΡ‡Π½ΠΎ я столкнулся с Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ printf значСния width ΠΈ precision Ρ‡Π΅Ρ€Π΅Π· ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ (Ρ‚.Π΅. Ρ‡Π΅Ρ€Π΅Π· символ *).

attachEncoder, getEncoderState

Π’ Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ выполняСтся ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ энкодСра ΠΈ опрос Π΅Π³ΠΎ состояния Π² Ρ†ΠΈΠΊΠ»Π΅. ΠŸΡ€ΠΈ Π²Ρ€Π°Ρ‰Π΅Π½ΠΈΠΈ энкодСра измСняСтся Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ x ΠΈ выводится Π½Π° дисплСй. НаТатиС Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ ΠΎΠ±Π½ΡƒΠ»Π΅Π½ΠΈΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ.

printMultiline

Π•Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ размСщСния строки Π² памяти ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ – это использованиС макроса F() нСпосрСдствСнно Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ printMultiline. Π’ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ это Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ.

inputVal, inputValAt

inputValBitwise

Π’ Π΄Π°Π½Π½ΠΎΠΌ скСтчС для Π²Π²ΠΎΠ΄Π° значСния ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ функция inputValBitwise. Π’ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ присутствуСт Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ, пСрСмСнная, Π² ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠΌΠ΅Ρ‰Π΅Π½ΠΎ Π²Π²Π΅Π΄Π΅Π½Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΠΈ количСство разрядов для Π²Π²ΠΎΠ΄Π°. ΠŸΡ€ΠΈ ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΈΠΈ Π²Π²ΠΎΠ΄Π° Π½Π° дисплСй выводится ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π΅ сообщСниС.

inputStrVal

Π—Π΄Π΅ΡΡŒ функция inputStrVal ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для Π²Π²ΠΎΠ΄Π° IP адрСса. ΠŸΡ€ΠΈ Π²Ρ‹Π·ΠΎΠ²Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ содСрТимоС ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π±ΡƒΡ„Π΅Ρ€Π° рассматриваСтся ΠΊΠ°ΠΊ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΈ выводится Π½Π° дисплСй. ПослСдний ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ опрСдСляСт Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½Π½Ρ‹Π΅ для Π²Π²ΠΎΠ΄Π° символы, Π² Π΄Π°Π½Π½ΠΎΠΌ случаС Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ†ΠΈΡ„Ρ€Ρ‹. Если Π±ΡƒΡ„Π΅Ρ€ содСрТит символы, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π²Π²Π΅Π΄Π΅Π½Ρ‹, Ρ‚ΠΎ ΠΈΡ… Π½Π΅ удастся ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ маскированный Π²Π²ΠΎΠ΄.

selectVal

Ѐункция selectVal ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΠ»Π΅Π·Π½Π° ΠΏΡ€ΠΈ Π²Ρ‹Π±ΠΎΡ€Π΅ значСния ΠΈΠ· списка. Π­Ρ‚Π° Π·Π°Π΄Π°Ρ‡Π° ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ€Π΅ΡˆΠ΅Π½Π° ΠΈ с использованиСм мСню, Π½ΠΎ прСимущСство Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ selectVal состоит Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠ½Π° Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ позволяСт Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Π½ΠΎ Π΅Ρ‰Π΅ ΠΈ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. Ѐункция Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ с массивами Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Ρ‚ΠΈΠΏΠ° char*, String ΠΈΠ»ΠΈ int ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ индСкс Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠ³ΠΎ элСмСнта.

showMenu

Ну ΠΈ, Π½Π°ΠΊΠΎΠ½Π΅Ρ†, послСдняя функция – showMenu, которая Π±Π΅Ρ€Π΅Ρ‚ Π½Π° сСбя отрисовку мСню ΠΈ Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΡŽ ΠΏΠΎ Π½Π΅ΠΌΡƒ. Π Π°Π±ΠΎΡ‚Ρƒ с Π½Π΅ΠΉ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ Π½Π° 3 этапа. Π‘Π½Π°Ρ‡Π°Π»Π° Π½ΡƒΠΆΠ½ΠΎ ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ мСню. Для этого Π² Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π° структура sMenuItem:

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ parent ΠΈ key слуТат для задания ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠΈ, caption – ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½Π° Π½Π°Π·Π²Π°Π½ΠΈΠ΅ элСмСнта мСню. Π’ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ, ΠΊΠ°ΠΊ описываСтся мСню Π² Π²ΠΈΠ΄Π΅ массива элСмСнтов sMenuItem.

Π’ качСствС parent ΠΈ key ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Ρ‹ цСлочислСнныС значСния, начиная с 1. Но Π³ΠΎΡ€Π°Π·Π΄ΠΎ ΡƒΠ΄ΠΎΠ±Π½Π΅Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ для Π½ΠΈΡ… ΡΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½Ρ‹Π΅ ΠΈΠΌΠ΅Π½Π°, Ρ‚.Π΅. Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с пСрСчислСниСм. ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ Π² пСрСчислСнии ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ mkBack, Π΅ΠΌΡƒ соотвСтствуСт Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 0. Π”Π°Π½Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ являСтся слуТСбным ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для ΠΏΡƒΠ½ΠΊΡ‚ΠΎΠ² мСню, ΠΎΡ‚Π²Π΅Ρ‡Π°ΡŽΡ‰ΠΈΡ… Π·Π° Π²ΠΎΠ·Π²Ρ€Π°Ρ‚ Π½Π° ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ Π²Ρ‹ΡˆΠ΅.

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ этап – Π²Ρ‹Π·ΠΎΠ² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ showMenu. Π•Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ ΡΠ²Π»ΡΡŽΡ‚ΡΡ описанноС Ρ€Π°Π½Π΅Π΅ мСню, Π΅Π³ΠΎ Π΄Π»ΠΈΠ½Π° ΠΈ ΠΏΡ€ΠΈΠ·Π½Π°ΠΊ ΠΎΡ‚Π²Π΅Ρ‡Π°ΡŽΡ‰ΠΈΠΉ Π·Π° Π²Ρ‹Π²ΠΎΠ΄ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ°.

ΠŸΡ€ΠΈ Π²Ρ‹Π±ΠΎΡ€Π΅ ΠΏΡƒΠ½ΠΊΡ‚Π° мСню, Π½Π΅ ΠΈΠΌΠ΅ΡŽΡ‰Π΅Π³ΠΎ подмСню, функция Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π΅ Π΅ΠΌΡƒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ key. И остаСтся послСдний этап – ΠΏΡ€ΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π²Π΅Ρ€Π½ΡƒΠ²ΡˆΠ΅Π΅ΡΡ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ if ΠΈΠ»ΠΈ case ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π΅ Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠΌΡƒ элСмСнту дСйствиС.

По-ΠΌΠΎΠ΅ΠΌΡƒ, ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»Π°ΡΡŒ интСрСсная Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°. Π•ΡΡ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Π΅Ρ‰ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ…ΠΎΡ‚Π΅Π»ΠΎΡΡŒ Π±Ρ‹ Π΄ΠΎΡ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² мСню Π½Π΅Ρ‚ ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠΈ Π΄Π»ΠΈΠ½Π½Ρ‹Ρ… Π½Π°Π·Π²Π°Π½ΠΈΠΉ), Π½ΠΎ я Ρ€Π΅ΡˆΠΈΠ» ΠΈΡ… ΠΏΠΎΠΊΠ° ΠΎΡ‚Π»ΠΎΠΆΠΈΡ‚ΡŒ, Ρ‚.ΠΊ. сСйчас занимаюсь Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°ΠΌΠΈ. Π’ ΠΎΠ±Ρ‰Π΅ΠΌ скачивайтС, ΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅, оставляйтС ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *