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

I2C үүргэвчтэй 1602 LCD товчлууртай бамбай модуль: 6 алхам
I2C үүргэвчтэй 1602 LCD товчлууртай бамбай модуль: 6 алхам

Видео: I2C үүргэвчтэй 1602 LCD товчлууртай бамбай модуль: 6 алхам

Видео: I2C үүргэвчтэй 1602 LCD товчлууртай бамбай модуль: 6 алхам
Видео: Солонгос сургуульд "Өөрийн танилцуулга" бичих CV 2024, Долдугаар сарын
Anonim
I2C үүргэвчтэй 1602 LCD товчлуурын бамбай модуль
I2C үүргэвчтэй 1602 LCD товчлуурын бамбай модуль

Илүү том төслийн нэг хэсэг болохын тулд би LCD дэлгэц, зарим энгийн цэсийг удирдах товчлууртай болохыг хүсч байсан. Би Arduino дээрх оролт/гаралтын портуудыг бусад ажилд ашиглах болно, тиймээс би LCD -ийн I2C интерфэйсийг хүсч байсан. Тиймээс би DFRobot -ийн 1602 LCD товчлууртай бамбай модуль болон LCD -д зориулсан нэргүй I2C серийн модулаас бүрдсэн тоног төхөөрөмж худалдаж авлаа. Би эдгээрийг Arduino Nano -той ашиглахыг хүсч байна. Дараа нь эдгээр бүрэлдэхүүн хэсгүүдийг хамтран ажиллахад зарим бэрхшээл тулгарч байгааг олж мэдсэн боловч энэ нь боломжтой юм. Тиймээс би туршлагаа хуваалцахыг хүсч, магадгүй бусад хүмүүст туслахыг хүсч байна.

Энэ зураг нь зурвасыг LCD дэлгэц дээр харуулах, товчлуур даралтыг тодорхойлох боломжтой ажлын талбар юм. LCD дэлгэцийг I2C интерфэйсээр хянадаг бөгөөд үүнд LCD арын гэрэлтүүлэг орно. Түлхүүр даралтыг Arduino A0 зүү дээр хүлээн авдаг (энэ нь I2C интерфэйсд холбогдсон A4 ба A5 -ээс бусад ижил төстэй зүү байж болно).

Алхам 1: Эд ангиудын тодорхойлолт - LCD товчлуурын бамбай модуль

Хэсгийн тодорхойлолт - LCD товчлуурын бамбай модуль
Хэсгийн тодорхойлолт - LCD товчлуурын бамбай модуль

LCD товчлуурын бамбай модуль нь товчлуурыг хадгалдаг хэлхээний самбар дээр суурилуулсан 1602 LCD -ээс бүрдэх бөгөөд LCD холболтын дэд хэсгийг авч, хэлхээний самбарын доод талд байрлах толгойн зүүгээр ашиглах боломжтой болгодог. Энэ самбарыг Arduino Uno эсвэл үүнтэй төстэй төхөөрөмж дээр суурилуулахаар төлөвлөж байгаа бөгөөд энэ орчинд ажиллахын тулд зөв зүү байрлуулах боломжтой гэдгийг би ойлгож байна. Би энэ модулийг Хятад дахь борлуулагчаас Ebay дээр худалдаж авсан. Самбарын доод (товчлуур) талын толгойн зүүг ихэвчлэн шошготой боловч дээд талын LCD интерфэйс болох зүүг тэмдэглээгүй болно. Гэсэн хэдий ч LCD дээрх зүүг өөрөө шошготой байна.

Алхам 2: эд ангиудын тодорхойлолт - I2C цуваа модуль

Хэсгийн тодорхойлолт - I2C цуваа модуль
Хэсгийн тодорхойлолт - I2C цуваа модуль

Цуваа модуль нь I2C-ийн ердийн 4 зүү толгойтой бөгөөд LCD модулийн доод хэсэгт шууд залгах зориулалттай, ойлгосон шошгогүй толгойн голтой. LCD дэлгэц дээрх шошгыг судалснаар би цуваа модуль дээрх тээглүүрүүдийн үүргийг тодорхойлж чадсан юм.

Энэхүү модуль нь IC PCF8574T дээр суурилсан бөгөөд энэ нь I2C протоколыг цуцалдаг, хаягийг хянахад зориулагдсан 3 зүүтэй (20-27), P0 -P7 хүртэлх 8 дижитал оролт/гаралтын зүүтэй. PCF8574T -ийн мэдээллийн хуудаснаас үзэхэд I/O зүү бүр нь LOW төлөвт оруулахын тулд FET -тэй бөгөөд дор хаяж 20 м -ийг живүүлэх боломжтой. Өндөр төлөвт энэ нь түр зуурын идэвхтэй татах ба дараа нь 0.1 мА орчим үргэлжилсэн татах гүйдэлтэй байдаг.

Энэ модуль дээр P3 -ээс бусад бүх дижитал оролт/гаралтын залгуурыг толгойн зүү рүү (зураг дээрх баруун талд) оруулна. P3 -ийн хувьд энэ нь транзисторын суурьтай холбогдсон байдаг ("LED" шошгоны доор баруун дээд хэсэгт байгаа зураг дээр харагдаж байна). Тэр транзисторын ялгаруулагч нь Vss (газардуулгатай), коллектор нь толгойн зүү 16 -тай холбогдсон бөгөөд үүнийг LCD арын гэрлийг удирдахад ашиглаж болно. Транзисторын улмаас логик төлөв нь програм хангамжийн номын сангийнхтай харьцуулахад урвуу байна. Өөрөөр хэлбэл, P3 зүү бага байх үед LCD арын гэрлийг асааж, P3 зүү өндөр байх үед унтраана.

Транзистор дээрх шошгон дээр L6 гэж бичсэн байдаг бөгөөд энэ нь миний хийсэн судалгаагаар MMBC1623L6 болгож магадгүй бөгөөд хамгийн бага гүйдлийн ашиг нь 200. 0.1 мА үндсэн гүйдэлтэй бол коллекторынхоо LOW нөхцлийг хадгалах чадвартай байх ёстой (Pin Pin 16) хамгийн багадаа 20мА коллекторын гүйдэлтэй.

Нэмж дурдахад энэ модуль нь +5 ба Ground хооронд холбогдсон 10K потенциометртэй бөгөөд хувьсах тугалгыг 3 -р зүү рүү (зургийн доороос гурав дахь) авчирдаг. LCD дэлгэцтэй шууд холбогдсон үед энэ тогоо нь LCD -ийн ялгааг хянах болно. Гэсэн хэдий ч энэ функцийг LCD бамбай дээрх тусдаа ижил төстэй тогооноор хангадаг тул цуваа модуль дээрх энэ тогоо нь ямар ч үүрэг гүйцэтгэдэггүй.

PCF8574T -ийн INT зүүтэй холболт олж чадсангүй.

2019 оны 8 -р сарын 22 -ны өдөр шинэчилнэ үү

Дээр дурдсанчлан, PCF8574 нь 3 хаягийн хяналтын голтой. Эдгээрийг үүргэвчний тавцан дээр A0, A1, A2 гэж тэмдэглэсэн дэвсгэр дээр авчирсан бололтой. Тэднийг зурган дээрээс харж болно. Би үүнийг туршиж үзээгүй боловч эдгээр зүүг нэг буюу хэд хэдэн зэргэлдээ дэвсгэрт холбосноор I2C хаягийг 20-27 хооронд хянах боломжтой болох нь бараг тодорхой юм шиг байна. PCF8574A нь PCF8574 -тэй ижил ажиллагаатай боловч 0x38 -аас 0x3F хүртэлх хаягийн хүрээг хамардаг.

Таны төхөөрөмж үнэхээр ашигладаг хаягийг I2CScanner ашиглан шалгаж болно. Янз бүрийн эх сурвалжаас авах боломжтой хэд хэдэн энгийн I2C сканнер байдаг. Https://github.com/farmerkeith/I2CScanner дээрх энэ нь олдсон зарим төхөөрөмжийг тодорхойлдог.

Алхам 3: Холболтууд

Холболтууд
Холболтууд

Доор тайлбарласан холболтыг дүрсэлсэн Fritzing диаграмыг өгсөн ChaitanyaM17 -д баярлалаа.

Эрчим хүч:

LCD модуль нь доод талд "5.0V" гэсэн шошготой байна. Баруун талд, түүний хажууд хоёулаа газардсан хоёр шошго зүү байна.

I2C интерфэйстэй цуваа модулийг зүүн гар талд нь барьж, доод ирмэг дээр 16 зүү байна. Эдгээрийн эхнийх нь газардуулга, хоёр дахь нь +5v байна. Өөр нэг сонголт бол I2C интерфэйс дээрх доод хоёр тээглүүрийг хүчээр ашиглах явдал юм, гэхдээ дээр дурдсанчлан тээглүүрийг ашиглах нь илүү тохиромжтой гэж би үзсэн.

I2C интерфэйс. Цуваа модуль дээр дээд зүү нь SCL (цаг) бөгөөд энэ нь Arduino A5 руу ордог. Хоёрдахь зүү нь SDA (өгөгдөл) бөгөөд энэ нь Arduino A4 руу ордог.

LCD хэвлэх интерфейс. Цуваа модуль болон LCD товчлуурын бамбай хооронд 6 холболт байдаг бөгөөд бүгд шошгогүй зүү хооронд байрладаг. Би тэдгээрийг LCD модуль дээр Баруунаас зүүн тийш тоолох замаар таних болно, эхний зүү нь 1 гэж байна. 8 -ийн 2 блок байдаг, тиймээс тэд 1 -ээс 16 хүртэл явдаг. Би тэднийг I2C сериал модуль дээр зүүнээс тоолох замаар тодорхойлдог. Зөв, бас эдгээр 16 байна. Нэмж дурдахад би цуваа модульгүйгээр шууд холбогдсон тохиолдолд утас бүрт шошго өгдөг бөгөөд энэ нь Arduino дээрх ижил үүрэгтэй холбоотой байдаг.

Тиймээс 6 өгөгдлийн холболт нь:

Arduino эквивалент // Цуваа модулийн зүү // LCD товчлуурын модулийн зүү

D4 // 11 // 5 D5 // 12 // 6 D6 // 13 // 7 D7 // 14 // 8 D8 // 4 // 9D9 // 6 // 10

LCD арын гэрлийн хяналт: Энэ нь өөр нэг холболтыг ашигладаг.

Arduino эквивалент // Цуваа модулийн зүү // LCD товчлуурын модулийн зүү

D10 // 16 // 11

Товчлуурын интерфэйс: Энэ нь доод талын "A0" гэсэн тэмдэглэгээтэй LCD модулийн зүүгээс ганц утсыг ашиглан Arduino дээр A0 зүү хийдэг. Наад зах нь энэ нь маш хялбар байсан!

Алхам 4: RST түлхүүрийг бусад 5 түлхүүртэй адил ашиглах боломжтой болгох

RST -ийг Arduino Nano -ийн RESTART оролттой шууд холбож болно.

Хэрэв та RST түлхүүрийг бусад зүйлд програм хангамжид ашиглахыг хүсч байвал LCD товчлуурын бамбайны доод талд байрлах RST зүү ба A0 зүү хоёрын хооронд 15K эсэргүүцэл холбож болно.

Энэ нь дараах байдлаар ажилладаг: +5V ба баруун товчлуурын хооронд 2K эсэргүүцэл байдаг. Дараа нь бусад товчлууруудын хувьд аажмаар том резисторуудын гинж (UP товчлуур руу 330R, DOWN товчлуур руу 620R, LEFT товчлуур руу 1K, SELECT товчлуур руу 3K3. Бүх түлхүүрүүд (RST түлхүүрийг оруулаад) холбогдоно. 10 битийн A/D хөрвүүлэгчтэй холбогдсон үед (Arduino Nano A0 -ийн хувьд) ойролцоогоор дараах утгыг өгдөг.

Баруун = 0; Дээш = 100; Доош = 260; Зүүн = 410; = 640 -ийг сонгоно уу.

15 к резистортой RST нь ойролцоогоор 850 дамжуулдаг.

Програм хангамж нь эдгээр товчлууруудын дундах цэгүүдийн ойролцоо утгыг ашиглан аль товчлуур дарагдсан болохыг шийдэх болно.

Алхам 5: Програм хангамж

Ашигтай програм хангамж бол мэдээж уншигчдад зориулсан дасгал юм. Гэхдээ эхлүүлэхийн тулд та миний туршилтын програмыг үзэх боломжтой. Би I2C интерфэйсийг дэмждэг NewLiquidCrystal номын санг ашигласан. Номын санг зөв суулгасны дараа энэ бүхэн зүгээр л ажилласан.

Гол зорилго нь арын гэрэлтүүлгийг унтраах ба асаах командын туйлыг өөрчлөх явдал байв (хэсгүүдийн тайлбар хэсэгт тайлбарласан I2C модуль дээрх транзисторын улмаас).

2019 оны 8 -р сарын 22 -ны өдөр шинэчилнэ үү

Хэрэв танд LCD дэлгэц ажиллахгүй байгаа бол I2C скан хийгчийн тусламжтайгаар үүргэвчнийхээ I2C хаягийг шалгана уу. Тохиромжтой сканнер хавсаргасан болно. Дараа нь шаардлагатай бол мэдэгдлийн эхний параметрийг тохируулна уу

LiquidCrystal_I2C lcd (0x27, 2, 1, 0, 4, 5, 6, 7);

Алхам 6: Хяналт, хэлэлцүүлэг

Таны харж байгаагаар надад үндсэн функцууд ажиллаж байна.

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

Хэцүү зүйл бол энэхүү LCD товчлуурын модулийг хайрцагт суулгахаар тохируулаагүй явдал юм. Ямар ч төрлийн хайрцаг. 6 товчлуурын товчлуур нь LCD дэлгэцийн түвшингээс доогуур байдаг тул хэрэв модулийг LCD хэлхээний самбарын дээд хэсгийг тагны доор байрлуулсан хайрцагт (жишээлбэл таган дээр) суурилуулсан бол орой нь Түлхүүрүүд нь тагны дээд талд 7 мм орчим байдаг.

Боломжит шийдлүүд нь:

a) Үүнийг тэвчих. Тагны нүхийг өрөмдөж, багаж хэрэгслийг (жишээлбэл тохиромжтой диаметртэй сүлжмэл зүү) ашиглан товчлуурыг дарна уу.

b) Модулийн хэлхээний самбараас LCD -ийг салгаж, товчлуур дээр мэс засал хийснээр хоёр бүрэлдэхүүн хэсгийг төслийн хайрцгийн таганд бие даан бэхлэх боломжтой (товчлуурууд хэт богино байхад асуудал байсаар байх болно гэж бодож байна)

в) одоо байгаа товчлууруудыг аваад өндөр товчлуураар солино. Шинэ товчлуурууд нь төслийн хайрцгийн тагийг ажиллуулахын тулд ойролцоогоор 13 мм өндөр байх ёстой). Солих товчлуурын унтраалга нь 13мм гэх мэт өндөрт бэлэн байдаг.

d) LCD товчлуурын бамбай модулийг хаяж, тусдаа LCD болон товчлуурын нэгж ашиглах (өөрөөр хэлбэл дахин эхлүүлэх). Маш олон төрлийн товчлуурууд байдаг боловч би энэ модуль дээрх 6 товчлууртай загварыг хараагүй байна (өөрөөр хэлбэл сонгох, зүүн, дээш, доош, баруун, дахин асаах). Энэ нь тийм ч том асуудал биш байж магадгүй, гэхдээ энэ модулийг эхлүүлэх болсон шалтгаануудын нэг бол энэ түлхүүрийн зохион байгуулалтыг миний хүссэн зүйл гэж бодсон явдал юм.

Би дээрх c) шийдэлтэй явж, яаж явахаа харахаар төлөвлөж байна.

Сонирхуулж болох өөр нэг мэдээллийн хэсэг:

Арын гэрэлтүүлэг асаалттай байгаа энэ төслийн одоогийн хэрэглээ нь: Arduino Nano 21.5 ma; Цуваа модуль 3.6 ма; LCD модуль 27.5 мА; Нийт 52 мА.

Арын гэрэл унтарсан үед энэхүү төслийн одоогийн хэрэглээ нь: Arduino Nano 21.5 ma; Цуваа модуль 4.6 ма; LCD модуль 9.8 мА; Нийт 36 мА.

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