LCD 1602-г Arduino-д холбох: тайлбар, функц, заавар, онцлог, асуудал, шийдэл

Агуулгын хүснэгт:

LCD 1602-г Arduino-д холбох: тайлбар, функц, заавар, онцлог, асуудал, шийдэл
LCD 1602-г Arduino-д холбох: тайлбар, функц, заавар, онцлог, асуудал, шийдэл
Anonim

Радио сонирхогч бүр энгийн гар хийцийн ажил хийснийхээ дараа мэдрэгч болон товчлууруудыг ашиглан ямар нэг гайхалтай зүйл бүтээх зорилгод хүрдэг. Эцсийн эцэст портын дэлгэцээс илүү дэлгэц дээр өгөгдлийг харуулах нь илүү сонирхолтой юм. Гэхдээ дараа нь асуулт гарч ирнэ: аль дэлгэцийг сонгох вэ? Тэгээд ер нь яаж холбох вэ, холбоход юу хэрэгтэй вэ? Эдгээр асуултын хариултыг энэ нийтлэлд авч үзэх болно.

Arduino-д холбогдох LCD 1602 дэлгэц
Arduino-д холбогдох LCD 1602 дэлгэц

LCD 1602

Дэлгэцүүдийн олон сонголтын дотроос HD4478 хянагч дээр суурилсан LCD1602 дэлгэцийг онцлохыг хүсч байна. Энэ дэлгэц нь цэнхэр дэвсгэр дээр цагаан үсэг, шар дэвсгэр дээр хар үсэг гэсэн хоёр өнгөтэй байна. LCD 1602-г Arduino-д холбоход ямар ч асуудал гарахгүй, учир нь энд суурилагдсан номын сан байгаа бөгөөд нэмэлт зүйл татаж авах шаардлагагүй. Дэлгэцүүд нь зөвхөн үнийн хувьд төдийгүй хэмжээгээрээ ялгаатай байдаг. Ихэнхдээ радио сонирхогчид 16 ашигладагx 2, өөрөөр хэлбэл 16 тэмдэгтээс бүрдэх 2 мөр. Гэхдээ бас 20 х 4, 20 тэмдэгтийн 4 мөр байдаг. Хэмжээ болон өнгө нь lcd 1602 дэлгэцийг Arduno-той холбоход ямар ч үүрэг гүйцэтгэдэггүй бөгөөд тэдгээр нь ижил аргаар холбогдсон байдаг. Харах өнцөг нь 35 градус, дэлгэцийн хариу өгөх хугацаа 250 мс. -20-70 хэмийн температурт ажиллах боломжтой. Ажиллаж байхдаа дэлгэцэнд 4 мА, арын гэрэлтүүлэгт 120 мА зарцуулна.

LCD 1602 дэлгэцийн залгуур
LCD 1602 дэлгэцийн залгуур

Хаана хэрэглэдэг вэ?

Энэ дэлгэц нь радио сонирхогчдын дунд төдийгүй томоохон үйлдвэрлэгчдийн дунд алдартай. Жишээлбэл, принтер, кофены машинууд LCD1602 ашигладаг. Энэ нь хямд үнэтэй учраас энэ дэлгэц нь Хятадын сайтууд дээр 200-300 рубль байдаг. Манай дэлгүүрүүдэд энэ дэлгэцийн захын хэмжээ маш өндөр байдаг тул тэндээс худалдаж авах нь зүйтэй.

Arduino-д холбогдох

LCD 1602-г Arduino Nano болон Uno-д холбох нь ялгаагүй. Та дэлгэцтэй 4 бит ба 8 гэсэн хоёр горимоор ажиллах боломжтой. 8 битийн дэлгэцтэй ажиллахдаа доод ба дээд битийг хоёуланг нь, 4 битийн хувьд зөвхөн доод битийг ашигладаг. 8 биттэй ажиллахад онцгой ач холбогдол байхгүй, учир нь холбогдохын тулд 4 контакт нэмж оруулах нь зохимжгүй, хурд нь илүү өндөр биш тул дэлгэцийн шинэчлэлтийн хязгаар нь секундэд 10 удаа байна. Ерөнхийдөө lcd 1602-г Arduino-д холбоход маш олон утас ашигладаг бөгөөд энэ нь зарим нэг таагүй байдал үүсгэдэг, гэхдээ тусгай хамгаалалтууд байдаг, гэхдээ дараа нь энэ талаар илүү ихийг хэлэх болно. Зураг нь дэлгэцийг Arduino Uno-той холбож байгааг харуулж байна:

Дэлгэцийг arduino-д холбож байна
Дэлгэцийг arduino-д холбож байна

Кодны жишээ:


оруулах //Шаардлагатай LiquidCrystal lcd(7, 6, 5, 4, 3, 2) номын санг нэмнэ үү; // (RS, E, DB4, DB5, DB6, DB7) хүчингүй тохиргоо(){ lcd.begin(16, 2); // Дэлгэцийн хэмжээг тохируулах lcd.setCursor(0, 0); // 1-р мөрийн эхэнд курсорыг тавих lcd.print("Сайн уу, дэлхий!"); // Текстийг дэлгэцээр харуулах lcd.setCursor(0, 1); // Курсорыг 2-р мөрийн эхэнд тавих lcd.print("fb.ru"); // Гаралтын текст } хүчингүй давталт(){ }

Код юу хийдэг вэ? Юуны өмнө дэлгэцтэй ажиллах номын сан холбогдсон байна. Дээр дурдсанчлан энэ номын сан нь 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.

LCD дэлгэцийн I2C модуль 1602
LCD дэлгэцийн I2C модуль 1602

I2C модультай холболт

LCD 1602-г Arduino Nano-д I2C-ээр холбоход бага зай эзэлнэ, ердөө 4 пин: газар, цахилгаан болон 2 дата гаралт. Бид Arduino дээрх 5V ба GND-д цахилгаан ба газардуулга холбодог. Үлдсэн хоёр контакт: SCL ба SDA нь ямар ч аналог зүүтэй холбогддог. Зураг дээр та lcd 1602-г arduino руу I2C модулаар холбох жишээг харж болно:

I2C модулийг ашиглан холболтуудыг харуулах
I2C модулийг ашиглан холболтуудыг харуулах

Програмын код

Модульгүй дэлгэцтэй ажиллахын тулд зөвхөн нэг номын сан ашиглах шаардлагатай байсан бол модультай ажиллахад хоёр номын сан хэрэгтэй болно. Тэдний нэг нь Arduino IDE - Wire-д аль хэдийн орсон байна. Өөр нэг номын сан болох LiquidCrystal I2C-ийг тусад нь татаж аваад суулгах шаардлагатай. Arduino-д номын санг суулгахын тулд татаж авсан архивын агуулгыг Libraries-ийн үндсэн хавтсанд байршуулах ёстой. I2C ашиглан кодын жишээ:


include include LiquidCrystal_I2C lcd(0x27, 16, 2); // Display void setup() { lcd.init(); lcd.backlight();// Дэлгэцийн арын гэрлийг асаах lcd.print("FB.ru"); lcd.setCursor(8, 1); lcd.print("LCD 1602"); } void loop() { // Курсорыг хоёр дахь мөр болон хоосон тэмдэгт рүү тохируулна уу. lcd.setCursor(0, 1); // Arduino ажиллаж эхэлснээс хойшхи хэдэн секундын тоог хэвлэ 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 // Шаардлагатай номын санг оруулах // Инээмсэглэлийн тэмдэг бит маск байт инээмсэглэл[8]={ B00010, B00001, B11001, B00001, B11001, B00001, B00010,}; LiquidCrystal lcd(7, 6, 5, 4, 3, 2); // (RS, E, DB4, DB5, DB6, DB7) хүчингүй тохиргоо(){ lcd.begin(16, 2); // Дэлгэцийн хэмжээг тохируулах lcd.createChar(1, инээмсэглэл); // 1-р тэмдэгт үүсгэх lcd.setCursor(0, 0); // Курсорыг 1-р мөрийн эхэнд тавих lcd.print("\1"); // Инээмсэглэл харуулах (тэмдэгтийн дугаар 1) - "\1" } хүчингүй давталт(){ }

Таны харж байгаагаар бүтээгдсэнбит маск нь хүснэгттэй ижил байна. Үүнийг үүсгэсний дараа дэлгэцэнд хувьсагч болгон гаргаж болно. Санах ойд зөвхөн 7 тэмдэгт хадгалах боломжтой гэдгийг санаарай. Зарчмын хувьд энэ нь хангалттай юм. Жишээлбэл, хэрэв та зэргийн тэмдгийг харуулахыг хүсвэл.

LCD 1602 дээр захиалгат тэмдэгтүүдийг нэмж байна
LCD 1602 дээр захиалгат тэмдэгтүүдийг нэмж байна

Дэлгэц ажиллахгүй байж болзошгүй асуудлууд

Дэлгэц ажиллахгүй байх үе байдаг. Жишээлбэл, энэ нь асаалттай боловч тэмдэгтүүдийг харуулахгүй. Эсвэл огт асахгүй байна. Эхлээд та харилцагчдыг зөв холбосон эсэхээ шалгаарай. Хэрэв та 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 модультай хамт зарагддаг.
  • Холбоход хялбар. Өнөөдөр хэн ч I2C-гүй LCD 1602-г холбодоггүй байх. Мөн энэ модулийн тусламжтайгаар холболт нь ердөө 4 тээглүүр авдаг бөгөөд утаснуудын "сүлжээ" байхгүй болно.
  • Програмчлал. Бэлэн номын сангуудын ачаар энэ модультай ажиллахад хялбар, бүх функцууд аль хэдийн бүртгэгдсэн байна. Хэрэв та дүрээ нэмэх шаардлагатай бол хэдхэн минут л болно.

Сул тал

Мянга мянган радио сонирхогчид ашиглах явцад ямар ч том дутагдал илрээгүй, зөвхөн хятад дэлгэцийн сонголтыг голчлон ашигладаг тул гэр бүл худалдаж авах тохиолдол байдаг

Энэ нийтлэлд LCD 1602 дэлгэцийг Arduino-д хэрхэн холбох талаар ярилцаж, мөн энэ дэлгэцтэй ажиллах жишээ програмуудыг танилцуулсан. Энэ бол үнэхээр төрөлдөө хамгийн шилдэгүүдийн нэг бөгөөд зөвхөн олон мянган радио сонирхогчид үүнийг төсөлдөө сонгодоггүй!

Зөвлөмж болгож буй: