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

Ротари кодлогч ашиглан Nokia 5110 Lcd дээрх Arduino цэс: 6 алхам (зурагтай)
Ротари кодлогч ашиглан Nokia 5110 Lcd дээрх Arduino цэс: 6 алхам (зурагтай)

Видео: Ротари кодлогч ашиглан Nokia 5110 Lcd дээрх Arduino цэс: 6 алхам (зурагтай)

Видео: Ротари кодлогч ашиглан Nokia 5110 Lcd дээрх Arduino цэс: 6 алхам (зурагтай)
Видео: debounce - bounce filtering - seribu satu jalan ke roma (Subtittled) 2024, Арваннэгдүгээр
Anonim
Image
Image
Ротари кодлогч ашиглан Nokia 5110 Lcd дээрх Arduino цэс
Ротари кодлогч ашиглан Nokia 5110 Lcd дээрх Arduino цэс

Эрхэм хүндэт найзуудаа өөр нэг хичээлд тавтай морил! Энэхүү видеоноос бид төслүүдээ хэрэглэгчдэд илүү ээлтэй, чадварлаг болгох үүднээс алдартай Nokia 5110 LCD дэлгэцийн цэсийг хэрхэн бүтээх талаар сурах болно. Эхэлцгээе!

Энэ бол бидний барих гэж буй төсөл юм. Дэлгэц дээр энгийн цэс гарч ирэх бөгөөд эргэлтэт кодлогчийн тусламжтайгаар би дээш, доош чиглүүлж, эргэдэг кодлогч товчийг дарж цэсийн зүйлийг сонгож болно. Эргэдэг кодлогчийн дунд товчлуурыг дарахад өөр дэлгэц гарч ирэх бөгөөд бид хувьсагчийн утгыг өөрчилж болно. Хэрэв бид эргэлддэг кодлогч товчлуурыг дахин дарвал үндсэн цэсийн дэлгэц рүү буцна. Цэс нь 6 зүйлтэй бөгөөд бид цэсийг дээш доош гүйлгэх боломжтой бөгөөд дэлгэц дээрх зүйлүүд өөрчлөгдөх болно. Энэ цэс яг хэрхэн ажилладаг талаар хавсаргасан видеог үзнэ үү. Мэдээжийн хэрэг, хэрэв та хүсвэл үүнийг илүү нарийн төвөгтэй цэсийг бий болгохын тулд өөрчилж болно.

Энэ төслийг хэрхэн бүтээхийг одоо үзье.

Алхам 1: Бүх эд ангиудыг авах

Бүх эд ангиудыг аваарай
Бүх эд ангиудыг аваарай

Энэхүү төслийг бүтээхэд дараахь хэсгүүд шаардлагатай болно.

  • An Arduino Uno ▶
  • Nokia 5110 LCD дэлгэц ▶
  • Ротари кодлогч ▶
  • Жижиг талхны самбар ▶
  • Зарим утас ▶
  • Power Bank ▶

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

Алхам 2: Nokia 5110 LCD дэлгэц

Image
Image
Төслийг барьж байгуулах
Төслийг барьж байгуулах

Nokia 5110 бол миний Arduino төслүүдийн хамгийн дуртай дэлгэц юм.

Nokia 5110 нь үндсэн гар утасны дэлгэц болох зориулалттай үндсэн LCD дэлгэц юм. Энэ нь бага хүчин чадалтай CMOS LCD хянагч/драйвер болох PCD8544 хянагчийг ашигладаг. Үүний ачаар энэхүү дэлгэц нь гайхалтай эрчим хүчний хэрэглээтэй байдаг. Энэ нь асаалттай байхад зөвхөн 0.4mA ашигладаг боловч арын гэрэл идэвхгүй болно. Унтах горимд байх үед 0.06 мА -аас бага зарцуулдаг! Энэ бол энэ дэлгэцийг миний дуртай болгох нэг шалтгаан юм. PCD8544 нь микроконтроллертой цуваа автобусны интерфейсээр холбогддог. Энэ нь дэлгэцийг Arduino -той ашиглахад маш хялбар болгодог. Та зөвхөн 8 утас холбох хэрэгтэй.

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

Та эндээс авах боломжтой: ▶

Алхам 3: Ротари кодлогч

Image
Image

Босоо кодлогч гэж нэрлэгддэг эргэдэг кодлогч нь босоо ам, тэнхлэгийн өнцгийн байрлал эсвэл хөдөлгөөнийг аналог эсвэл тоон код болгон хувиргадаг цахилгаан механик төхөөрөмж юм. Ротари кодлогч нь босоо амны хязгааргүй эргэлтийг шаарддаг олон програмуудад хэрэглэгддэг бөгөөд үүнд үйлдвэрлэлийн удирдлага, робот техник, тусгай зориулалтын гэрэл зургийн линз, компьютерийн оролтын төхөөрөмж (оптик механик хулгана, трекбол), хяналттай стресс реометр, радар платформ орно.

Энэ төсөлд ашиглах гэж буй эргэлтэт кодлогч нь маш хямд кодлогч юм. Энэ нь мөн товчлуурыг суулгасан бөгөөд үүнийг ажиллуулахын тулд бид зөвхөн 5 утас холбох хэрэгтэй. Би эргэдэг кодлогч хэрхэн ашиглах талаар нарийвчилсан заавар бэлдсэн. Та энд хавсаргасан видеог олж болно.

Энэхүү эргэлдэгч кодлогчийн өртөг маш бага байна. Энэ нь ойролцоогоор 1.5 долларын үнэтэй байдаг.

Та эндээс авах боломжтой ▶

Алхам 4: Төслийг бий болгох

Image
Image
Төслийг барьж байгуулах
Төслийг барьж байгуулах
Төслийг барьж байгуулах
Төслийг барьж байгуулах

Одоо бүх хэсгүүдийг хооронд нь холбож үзье. Энэ төслийг бүтээхээс өмнө, хэрэв та өмнө нь эргэлтэт кодлогч ашиглаагүй байсан бол эргэлтэт кодлогчийн талаар миний бэлтгэсэн хичээлийг үзэхийг танд зөвлөж байна. Энэ нь эргэлтэт кодлогч хэрхэн ажилладагийг ойлгоход туслах бөгөөд та тэдэнтэй туршлага хуримтлуулах болно. Энэ видеог энд хавсаргасан болно.

Би дэлгэцийг жижиг талхны тавцан дээр байрлуулсан. Эхлээд дэлгэцийг холбоно уу. Дахин тохируулах дэлгэцийн эхний зүү нь Arduino Uno -ийн дижитал зүү 3, хоёр дахь зүү нь дижитал зүү 4, гурав дахь зүү дижитал зүү 5, дөрөв дэх зүү дижитал зүү 11, тав дахь зүү тоон руу орно. зүү 13. Дараагийн зүү нь Vcc юм. Бид Vcc -ийг талхны эерэг төмөр замд, талхны хавтангийн эерэг төмөр замыг Arduino -ийн 3.3V гаралттай холбодог. Дараагийн зүү нь дэлгэцийн арын гэрэлтүүлэг юм. Бид үүнийг програм хангамжаар хянахыг хүсч байгаа тул дижитал зүү 7 -т холбодог. Сүүлийн зүү нь GND юм. Бид GND -ийг талхны сөрөг төмөр замд, талхны сөрөг төмөр замыг Arduino GND -тэй холбодог.

Одоо бидний хийх ёстой зүйл бол эргэлддэг кодлогчийг холбох явдал юм. Эхний зүү нь GND бөгөөд бид үүнийг талхны сөрөг төмөр замд холбодог. Дараагийн зүү нь Vcc бөгөөд бид үүнийг талхны хавтангийн эерэг төмөр замд холбодог. Дараагийн зүү нь SW бөгөөд бид үүнийг аналог Pin 2 -т холбодог. Дараагийн зүүг DT гэж нэрлэдэг ба бид үүнийг аналог Pin 1 -т холбодог. Эцэст нь CLK pin нь аналог Pin 0 -тэй холбогдсон болно. Та энэ төслийн схемийг эндээс олж болно. доорх видеоны тайлбар.

Одоо бид төслийг идэвхжүүлэхэд бэлэн байна. Таны харж байгаагаар төсөл хэвийн ажиллаж, цэс хүлээгдэж буй байдлаар ажиллаж байна! Гайхалтай, одоо төслийн програм хангамжийг үзье.

Алхам 5: Төслийн код

Төслийн код
Төслийн код

Энэ төсөлд бид 4 номын сан ашигладаг. Бид дэлгэцийн хувьд хоёр номын сан, эргэдэг кодлогчын хоёр номын санг ашигладаг.

  1. Adafruit GFX:
  2. Nokia 5110:
  3. Кодлогч номын сан:
  4. TimerOne номын сан:

Эхлээд бид drawMenu функцийг авч үзэх болно. Энэ функц нь дэлгэц дээрх Цэсийг зурах үүрэгтэй. Энэ функцийг хэдэн миллисекунд тутамд дууддаг тул цэсэнд өөрчлөлт орсон тохиолдолд дэлгэц дээрх цэсийг шинэчлэх үүрэгтэй.

int menuitem = 1; int frame = 1; int хуудас = 1; int lastMenuItem = 1;

Мөн 3 маш чухал дэлхийн хувьсагч байдаг, хувьсах хуудас, хувьсах menuitem болон хувьсагчийн хүрээ. Хувьсах хуудас нь ямар UI дэлгэцийг дэлгэц дээр харуулсныг санаж байна. Тиймээс, хэрэв хуудасны хувьсагч 1 байвал бид UI үндсэн дэлгэц дээр, хэрэв хувьсагч 2 бол хувьсагчийн утгыг тохируулах хоёрдогч UI дэлгэц дээр байна. Цэсийн зүйл сонгосон цэсийн зүйлийг санаж байна. Тиймээс, хэрэв түүний утга 1 байвал цэсийн эхний зүйлийг сонгосон тул drawMenu функц нь энэ цэсийг цагаан үсгээр хараар зурах ёстой. Хэрэв цэс 2 бол хоёр дахь цэсийг сонгоно гэх мэт. Хүрээний хувьсагч нь цэсийн аль хэсгийг дэлгэц дээр харуулсныг санаж байна. Бидний үүсгэсэн цэс нь 6 зүйл агуулж байгаа бөгөөд бид нэг удаад зөвхөн 3 -ыг нь харуулах боломжтой тул дэлгэц дээр ямар зүйлс гарч байгааг мэдэх шаардлагатай. Хүрээний хувьсагч нь яг үүнийг бидэнд хэлдэг. Хэрэв хүрээ хувьсагч нь 1 гэсэн утгатай бол бид цэсний эхний гурван зүйлийг харуулдаг, хэрэв 2 бол 2, 3, 4 гэх мэт зүйлсийг харуулдаг.

Би кодыг өөрчлөхөд аль болох хялбар болгохыг хичээсэн тул цэсийн зүйлсийн нэрийг агуулсан зарим дэлхийн хувьсагчийг үүсгэсэн. Ингэснээр та код хайхгүйгээр өөрийн цэсийг хялбархан үүсгэх боломжтой болно.

String menuItem1 = "Contrast"; String menuItem2 = "Эзлэхүүн"; String menuItem3 = "Хэл"; String menuItem4 = "Хэцүү байдал"; String menuItem5 = "Light: ON"; String menuItem6 = "Дахин тохируулах";

boolean арын гэрэлтүүлэг = үнэн;

int тодосгогч = 60; int эзлэхүүн = 50;

String хэл [3] = {"EN", "ES", "EL"};

int selectedLanguage = 0;

Утасны хүндрэл [2] = {"EASY", "HARD"};

int selectedDifficulty = 0;

Эхэндээ бид кодонд шаардлагатай бүх дэлхийн хувьсагчдыг эхлүүлдэг. Дараа нь бид дэлгэцийг эхлүүлнэ. Циклийн функц дээр бид эхлээд drawMenu функцийг дуудаж дэлгэц дээрх цэсийг зурдаг. Дараа нь бид Ротари кодлогчоос утгыг уншиж, товчлуур дарагдсан эсэхийг шалгана. Жишээлбэл, хэрэв бид UI үндсэн дэлгэц дээр байгаа бөгөөд цэсийн эхний зүйлийг сонгосон бол эргэдэг кодлогчын утга нэмэгдсэн бол menuitem хувьсагч нэмэгдэх бөгөөд дараагийн давталтад drawMenu функц нь цэсийн хоёр дахь зүйлийг сонгосон байдлаар зурна. Хэрэв бид одоо эргэлддэг кодлогчийн товчлуурыг дарвал хоёрдахь хуудас руу очоод хувьсагчийн утгыг тохируулна уу. Дахин эргэлддэг кодлогч ашиглан бид хувьсагчийн утгыг нэмэгдүүлэх эсвэл бууруулах боломжтой. Хэрэв бид товчлуурыг дарвал үндсэн цэс рүү буцах бөгөөд хуудасны хувьсагч буурах болно.

Энэ бол энэ цэсийн үндсэн санаа юм. Бид цэсийн бүх зүйл, хуудасны хувьд ижил процедурыг дагаж мөрддөг. Код нь нарийн төвөгтэй бөгөөд 400 гаруй мөрөөс бүрддэг. Энэ нь төвөгтэй мэт санагдаж байна, гэхдээ хэрэв та өөрөө үүнийг туршиж үзвэл үүнийг илүү хялбар ойлгох болно, та үүнийг өөрчилж, өргөжүүлж, өөрийн төсөл дээрээ ашиглах боломжтой болно. Үргэлж эндээс хавсаргасан кодыг олж болно.

Алхам 6: Төслийг турших

Төслийг туршиж байна
Төслийг туршиж байна

Хэрэв бид кодыг ачаалвал төсөл хүлээгдэж буй байдлаар ажиллаж байгааг харж болно. Бид босоо амыг ашиглан цэсийг дээш, доош чиглүүлж, эргэдэг кодлогч товчийг дарж цэсийн аль ч зүйлийг сонгох боломжтой. Энэ ямар дажгүй юм бэ!

Nokia 5110 LCD дэлгэцийн цэсийг хэрхэн бүтээхээ мэддэг болсон тул бид төслүүддээ илүү олон онцлог шинж чанаруудыг нэмж, хэрэглэгчдэд ээлтэй болгож чадна. Өнөөдөр бидний бүтээсэн энэхүү энгийн цэсийг сайжруулах боломжтой. Бид товчлуурын төлөв байдлыг байнга шалгахын оронд тасалдал ашиглаж болно. Ингэснээр бид төслийн эрчим хүчний хэрэглээг бууруулж, кодыг илүү цэвэр болгож чадна. Би удахгүй тасалдлын талаар видео бэлдэх болно, тиймээс биднийг хүлээж байгаарай. Энэхүү цэсийн төслийн талаархи таны сэтгэгдлийг сонсох дуртай. Танд хэрэгтэй гэж бодож байна уу, аль ч төсөлдөө цэс ашиглахаар төлөвлөж байна уу. Санал, бодлоо доор бичээрэй, баярлалаа!

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