Агуулгын хүснэгт:
- Алхам 1: Цуваа дэлгэц
- Алхам 2: Матрицын гар
- Алхам 3: угсрах
- Алхам 4: Эх код
- Алхам 5: Командыг харуулах
- Алхам 6: Гарын ажиллагаа
- Алхам 7: Нууц үг тохируулах
- Алхам 8: Тохиргоо
- Алхам 9: Гогцоо
Видео: LCD дэлгэц, Arduino Uno бүхий хяналтын самбарын гар: 9 алхам
2024 Зохиолч: John Day | [email protected]. Хамгийн сүүлд өөрчлөгдсөн: 2024-01-30 11:04
Энэ бол LCD дэлгэц, Arduino Uno -той хамт ажилладаг матриц гар бөгөөд өнөөгийн хамгийн энгийн зүйл юм. Энэхүү тохиргооны зорилго нь матрицын гар дээр бичсэн нууц үгийг хүлээн авч, зөв нууц үгээр харьцуулж, дэлгэц дээр баталгаажуулах зурвас харуулдаг програмыг бий болгох явдал юм.
Матрицын гар болон энэ дэлгэц хоёулаа ESP8266 ба ESP32 дээр ажилладаг гэдгийг санах нь чухал юм.
Таны харж байгаагаар бид гадны эх үүсвэр ашиглаагүй байгаа тул хэлхээг USB -ээр Arduino ашиглан тэжээдэг. Arduino портууд руу маш энгийн байдлаар холбогдсон найман утас нь бидний гарны холболтыг бий болгодог. Энэхүү гар нь хүчгүй бөгөөд идэвхгүй тул холболтыг ихээхэн хөнгөвчилдөг.
Дэлгэц нь Arduino -тэй UART -ээр холбогддог бөгөөд энэ нь төхөөрөмжийг хүчдэлээр хангадаг.
Жагсаал хийхдээ бид гар дээр бичсэн нууц үг зөв эсвэл буруу эсэхийг шалгаж буй хэлхээгээ харуулдаг.
Видеонд ашигласан, энд байгаа PDF дээр бид ашиглаж байгаа чипний бүрэн холболтыг олж авсан болно.
Алхам 1: Цуваа дэлгэц
Энэ бол UX -тэй холбогддог цуврал дэлгэц бөгөөд RS нь TXRX юм. Энэ нь I2C хувилбаруудад байдаг боловч удахгүй болох угсралтад бусад загварууд үлдэх болно. Энэ тохиолдолд энэ дэлгэц нь UART by RS дээр ажилладаг.
Алхам 2: Матрицын гар
Бидний ашиглаж буй матриц гарны жишээ бол зургийнх бөгөөд энэ нь баруун талд байна. Энэ нь хэрхэн ажилладагийг харуулсан диаграмтай. Үнэндээ энэ нь зөвхөн 4х4 хэмжээтэй байна. Тиймээс утсыг хамгийн бага хэмжээгээр ашигладаг; мөр, багана тус бүрт нэг утас, ингэснээр нийт найман утас байна.
Дараах байдлаар ажилладаг тул хүч шаардагдахгүй: 7 дарахад гар нь 7 -г аваад шугам, багана руу холбодог бөгөөд энэ нь алгоритмыг автоматаар сканнердах замаар таних боломжийг олгодог.
Дот матрицтай 4х4 хэмжээтэй ямар ч гар энэ чуулганд ажиллах болно гэдгийг санах нь чухал юм.
Алхам 3: угсрах
Ерөнхий схемийн хувьд гар нь хүчгүй тул бид найман утсыг Arduino порт руу шууд холбодог. Дэлгэц дээр RS 232 дохио, эерэг ба сөрөг хүч байна. Арын гэрэлтүүлэг хэвээр байгаа бөгөөд энэ нь аль хэдийн холбогдсон байна (BKL -ээр тодорхойлогдсон).
Алхам 4: Эх код
Энэ төслийн эх кодод та цуваа болон товчлуурыг оруулах ёстой. Энэ нь цуваа програм хангамжид шаардлагатай RX_PIN болон TX_PIN багцтай, мөн INVERTED 1. Үүнийг урвуу логиктой оролтыг ашигладаг дохиог олшруулахын тулд доор байрлуулсан болно.
// biblioteca responsável pela comunicação com o display LCD #include // biblioteca answerável a captur to a press of a press of a no keylades #include // pino invalido apenas usado no contrutor do SoftwareSerial #define RX_PIN 255 // pino TX da nossa ligaç LCD дэлгэц #define TX_PIN 3 // inverte a lógica dos pinos Rx e Tx, tratando LOW como HIGH e эсрэгээр #define INVERTED 1
Алхам 5: Командыг харуулах
Чухал: Энэ дэлгэц дээр зүгээр л мөр тавих нь хангалтгүй юм. Та хяналтын тэмдэгтүүдийг илгээх хэрэгтэй. PDF нь танд энэ дэлгэцийн гарын авлага байгаа сайтын холбоосыг агуулдаг. Гэхдээ хэрэв та өөр брендийн цуврал дэлгэцтэй бол эдгээртэй холбоотой хяналтын кодыг харах нь зүйтэй юм. Энэ загварт, жишээлбэл, бид тодорхой хяналтыг илгээх үед (жишээ нь энэ дэлгэцийн мэдээлэл) бид харилцаа холбоог идэвхжүүлэхийн тулд 254 дугаартай угтварыг илгээх шаардлагатай болдог.
Тиймээс бид аливаа зүйлийг хөнгөвчлөх зорилгоор ARRAY -ийг байгуулсан бөгөөд энэ нь тоон индексээр ханддаг хувьсагчдын цуглуулга юм. Үүнийг анхны тохиргоогоор дэлгэц рүү илгээх болно.
// comando para limpar toda to display a displayconst char limparTela = {254, 1}; // comandos de configuração inicial/ * 254, 254 эсвэл арын гэрэлтүүлэг 254, 1 лимфа 254, 253, 1 тохиргоо эсвэл тодосгогч 254, 13 лига эсвэл курсор paraficar piscando */const char configInicial = {254, 254, 254, 1, 254, 253, 1, 254, 13};
Алхам 6: Гарын ажиллагаа
Гар хэрхэн ажилладаг вэ? Нэгдүгээрт, энэ нь массивыг холбодог. Энэ массив нь тэнд харуулах дүрийнх юм. Тиймээс хэрэв би X тавьвал дээд талын зүүн талын эхний товчлуурыг дарахад тэр гарч ирнэ. Энэ бол гарын агуулга бөгөөд үүнийг тушаах болно.
Бидний тодорхойлсон бусад зүйл бол энэ гарын ARRAY тохиолдолд 4 -р мөр, 4 -р баганын дугаар юм. Бидэнд одоо ч гэсэн Arduino тээглүүр, баганын тээглүүрүүд байгаа. Бидэнд тэмдэг, зүү, мөр, баганын параметр бүхий customKeypad Keypad бүтээгч байсаар байна.
const байт LINHAS = 4; // numero de linhas do tecladoconst байт COLUNAS = 4; // ямар ч туршлага байхгүй // тодорхойлно уу. 'B', '4', '5', '6'}, {'C', '7', '8', '9'}, {'D', 'c', '0', 'e '}}; байт PINOS_LINHA [LINHAS] = {8, 9, 10, 11}; // pinos que indicam линхас хийдэг шиг PINOS_COLUNA [COLUNAS] = {4, 5, 6, 7}; // товчлуурууд нь товчлуурууд шиг ажилладаг // товчлуурууд, хариултууд нь товчлууруудыг дарахад түлхүүрийн customKeypad = товчлуурууд (makeKeymap (SIMBOLOS), PINOS_LINHA, PINOS_COLUNA, LINHAS, COLUNAS);
Алхам 7: Нууц үг тохируулах
Энэ хэсэгт бид нууц үгээ тодорхойлж, дараа нь хоосон мөр болох нууц үг оруулах шаардлагатай болно. Доор бид softwareSerial -ийн жишээг оруулав.
// variáveis resposnsáveis por armazenar string ssenhasconst String SENHA_ESPERADA = "1234ABCD"; Мөр SENHA_DIGITADA = ""; // Instantia de SoftwareSerial para nos comunicar com o Цуваа SoftwareSerial displaySerial = SoftwareSerial -ээр дамжуулан харуулах (RX_PIN, TX_PIN, INVERTED);
Алхам 8: Тохиргоо
Тохиргооны хувьд хурдны ойролцоо байгаа displaySerial.begin (2, 400) энд байна. Манай тохиолдолд энэ нь байт илгээхэд хангалттай. Үүнийг дагаад 700 миллисекунд хүлээх болно. Бид DisplaySerial.print (initialConfig) -ийг анхны тохиргооноос 10 миллисекундын шинэ хоцролттой оруулж, эхлэх функц руу орно. Эхлэх функц дээр бид displaySerial.print ("нууц үг:") оруулна.
void setup () {Serial.begin (2400); // comunicação com o display цувралын албан ёсны хувилбар // 2400 displaySerial.begin (2400); // temp de de espera pela inicialização дэлгэцийн саатал (700); // DisplaySerial.print (configInicial) албан ёсны тохиргоог хийх; саатал (10); inicio (); } // função Respável нь ямар ч асуудалд хариулах болно. void inicio () {displaySerial.print ("Senha:"); }
Алхам 9: Гогцоо
Гогцоонд бид customKey = customKeypad.getKey () үүсгэж, дарааллаар нь Switch командыг оруулна.
// товчлуурыг дарах нь customKey = customKeypad.getKey (); // caso alguma tecla foi pressionada if (customKey) {Serial.println (customKey); сэлгэх (customKey) { /… /}}
Loop Switch 1 -р хэсэг
Switch командын дотор: энэ нь дарагдсан тохиолдолд хэвлэх товчлууруудын боломжит жагсаалтыг харуулдаг бөгөөд нууц үгийг нэмэгдүүлдэг: customKey -ийг аваад оруулсан нууц үгээ нэгтгэдэг. Дараа нь displaySerial.print (customKey) түлхүүрийн агуулгыг харуулна.
switch (customKey) {// caso alguma das teclas uncimprimíveis foi pressionada case 'A': case 'B': case 'C': case 'D': case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': // concatena or novo símbolo a senha que estamos digitando SENHA_DIGITADA+= customKey; Serial.println (SENHA_DIGITADA); // imrpime эсвэл дэлгэц дээр хэвлэх DisplaySerial.print (customKey); завсарлага;
Loop Switch 2 -р хэсэг
Энэ кодонд CLEAR товчлуур дарагдсан тохиолдолд бид сценарийг харуулна. Хэрэв та С үсгийг бичээд, нууц үгээ оруулсан хувьсагчийг арилгавал дэлгэцийг цэвэрлэх командыг дуудаж дахин эхлүүлнэ.
// caso a tecla CLEAR tenha sido pressionada case 'c': // limpa a variável que guarda a senha que está sendo digitada SENHA_DIGITADA = ""; // chama o comando para limpar a tela displaySerial.print (limparTela); // тохиргоог хийх нь чухал юм (); завсарлага;
Loop Switch 3 -р хэсэг
Өөр нэг боломж бол хэрэв та Е үсгийг бичвэл энэ тохиолдолд оруулсан нууц үг зөв эсвэл буруу байвал дэлгэцийг цэвэрлэж, дүн шинжилгээ хийх болно. Дараа нь бид 2 секундын хоцролтыг өгч, дэлгэцийг цэвэрлэж, нууц үгийн хувьсагчийг дахин тохируулж, эхэнд нь буцаана.
// caso a tecla ENTER дарна уу, devemos -ийг 'e' жишээгээр харьцуулна уу: // limpa a tela displaySerial.print (limparTela); // se senha digitada foi igual a ESPERADA if (SENHA_ESPERADA == SENHA_DIGITADA) {Serial.println ("Senha Correta!"); // pretime mensagem de senha correta displaySerial.print ("Senha Correta !!!"); } // caso senha esteja errada else {Serial.println ("Senha Incorreta!"); // pretime mensagem de senha incorreta displaySerial.print ("Senha Incorreta!"); } // 2 -р сарын 2 -ны өдөр, хойшлуулшгүй хугацаа (2000); displaySerial.print (limparTela);
Зөвлөмж болгож буй:
Машины хяналтын самбарын ЧУЛУУ LCD дэлгэц: 5 алхам
Автомашины хяналтын самбарын ЧУЛУУ LCD дэлгэц: Эдийн засаг хурдацтай хөгжиж, хүмүүсийн хэрэглээний хүч аажмаар сайжирч байгаатай холбогдуулан автомашинууд энгийн гэр бүлийн өдөр тутмын хэрэглээ болж, хүн бүр автомашины тав тухтай, аюулгүй байдалд илүү их анхаарал хандуулдаг
Magicbit [Magicblocks] ашиглан хяналтын самбарын виджетүүдийг ашиглах: 5 алхам
Magicbit [Magicblocks] ашиглан хянах самбарын виджетүүдийг ашиглах: Энэхүү заавар нь Magicblocks хяналтын самбарын хэрэгслүүдийг Magicbit дээрээ ашиглахыг заах болно. Бид ESP32 дээр суурилсан энэхүү төсөлд magicbit -ийг хөгжлийн самбар болгон ашиглаж байна. Тиймээс энэ төсөлд ESP32 хөгжүүлэх самбарыг ашиглаж болно
I2C: 7 алхам бүхий 20х4 хэмжээтэй LCD дэлгэц ашиглан гар Arduino цаасан рок хайч тоглоом
I2C -тэй 20х4 хэмжээтэй LCD дэлгэц ашиглан гар аргаар хийдэг Arduino цаасан рок хайч тоглоом: Бүгдээрээ сайн уу, эсвэл би "Сайн уу ертөнц!" Гэж хэлэх нь зүйтэй болов уу, Arduino -ийн олон зүйлд миний оруулсан төслийг тантай хуваалцах нь үнэхээр таатай байх болно. Энэ бол I2C 20x4 LCD дэлгэц ашиглан гар аргаар хийдэг Arduino Paper Rock Scissors тоглоом юм. Би
I2C / IIC LCD дэлгэц - Arduino ашиглан SPI -IIC модулийг ашиглан I2C LCD дэлгэц рүү SPI LCD ашиглах: 5 алхам
I2C / IIC LCD дэлгэц | IUC LCD дэлгэц дээр SPI LCD дэлгэцийг SPI -ийг IIC модулийг ашиглан Arduino ашиглан ашиглаарай: Сайн байна уу залуусаа, ердийн SPI LCD 1602 -ийг холбоход хэт олон утас байдаг тул үүнийг arduino -той холбоход маш хэцүү боловч зах зээл дээр боломжтой нэг модуль байдаг. SPI дэлгэцийг IIC дэлгэц болгон хөрвүүлэх тул та зөвхөн 4 утас холбох хэрэгтэй
I2C / IIC LCD дэлгэц - SPI LCD дэлгэцийг I2C LCD дэлгэц болгон хөрвүүлэх: 5 алхам
I2C / IIC LCD дэлгэц | SPI LCD дэлгэцийг I2C LCD дэлгэц болгон хөрвүүлэх: spi lcd дэлгэцийг ашиглахад хэт олон холболт шаардлагатай бөгөөд үүнийг хийх нь үнэхээр хэцүү тул i2c lcd -ийг spi lcd болгон хөрвүүлэх модулийг оллоо