Агуулгын хүснэгт:
- Алхам 1: Бүх бүрэлдэхүүн хэсгүүдийг угсрах
- Алхам 2: Номын сан нэмэх
- Алхам 3: Нэмэлт функцууд
- Алхам 4: Ноорог байршуулах
- Алхам 5: Үр дүн
Видео: Arduino MAX7219 7 сегментийн дэлгэцийн заавар: 5 алхам
2024 Зохиолч: John Day | [email protected]. Хамгийн сүүлд өөрчлөгдсөн: 2024-01-30 11:02
MAX7219 бол 7 сегментийн LED (8 хүртэлх оронтой), блок дэлгэц (бар дэлгэц), катодын 64 бие даасан LED хөтлөхөд ашигладаг IC юм. Микроконтроллертой холбогдохын тулд MAX7219 нь SPI холбооны системийг ашигладаг. Тиймээс 64 LED жолоодохын тулд микроконтроллерийн 3 порттой байх шаардлагатай.
Энэ нийтлэлд би IC MAX7219-ийг драйвер болгон ашигладаг 7 сегмент модулийг хэрхэн ашиглахыг танд үзүүлэх болно.
Шаардлагатай бүрэлдэхүүн хэсгүүд:
- MAX7219 7 сегментийн модуль
- Ардуино Нано
- утас холбогч
- USB мини
Шаардлагатай номын сан:
LedControl
Энэхүү гарын авлагад би Arduino Nano хавтанг ашиглаж байна. Хэрэв та үүнийг хэзээ ч ашиглаж байгаагүй бол. Би өмнөх нийтлэлээ "Arduino Nano -г хэрхэн ашиглах талаар" уншихыг санал болгож байна.
Алхам 1: Бүх бүрэлдэхүүн хэсгүүдийг угсрах
Arduino самбарыг 7 сегмент модульд холбоно уу. Миний доор бичсэн зураг эсвэл зааврыг үзнэ үү.
Arduino-аас 7 сегмент хүртэл
+5V => VCC
GND => GND
D12 => DIN
D11 => CLK
D10 => CS/LOAD
Алхам 2: Номын сан нэмэх
Хэлхээ дууссаны дараа. "LedControl" номын санг Arduino IDE дээр нэмнэ үү.
Ардуинод номын сан нэмэхийн тулд та үүнийг миний өмнө хийсэн "Гадаад номын санг Arduino -д хэрхэн нэмэх вэ" нийтлэлээс уншиж болно.
Алхам 3: Нэмэлт функцууд
LedControl номын санг нэмсний дараа. Та 7 сегмент модулийг удирдахын тулд нэмэлт функцуудыг ашиглаж болно.
Маргаан
addr - дэлгэцийн хаяг
цифр - дэлгэц дээрх цифрийн байрлал (0..7) утга - харуулах утга. (0x00..0x0F)
dp нь аравтын бутархай цэгийг тохируулдаг.
Чиг үүрэг
setChar (addr, оронтой, утга.dp); // 7 битийн ASCII кодчилолд char төрлийн утгыг харуулах
setDigit (addr, оронтой тоо, утга, bolean dp); // тоонууд болон тэмдэгтүүдийг нэг функцээр харуулах setRow (addr, digit, value, boolean dp); // объектыг хүссэн цифрээр харуулах
Дэлгэрэнгүй мэдээллийг эндээс уншина уу.
Алхам 4: Ноорог байршуулах
Би энэ 7 сегментийн модулийн туршилтын зургийг зурсан. Та доорх кодыг хуулж аваад ноорог дээрээ буулгаж болно.
// Бид номын санг үргэлж оруулах ёстой
#"LedControl.h" -ийг оруулна уу
/*
Одоо бидэнд ажиллах LedControl хэрэгтэй байна. ***** Эдгээр зүү дугаар нь таны техник хангамжтай ажиллахгүй байж магадгүй юм *****
зүү 12 нь DataIn -тэй холбогдсон байна
зүү 11 нь CLK -тэй холбогдсон байна
зүү 10 нь LOAD -тэй холбогдсон байна
Бидэнд ганцхан MAX72XX байна.
*/
LedControl lc = LedControl (12, 11, 10, 1);
/ * бид дэлгэцийн шинэчлэлтийн хооронд жаахан хүлээдэг */
гарын үсэг зураагүй урт саатал = 500;
хүчингүй тохиргоо () {
/ * MAX72XX асаахад эрчим хүч хэмнэх горимд байгаа тул бид сэрээх дуудлага хийх ёстой */
lc.shutdown (0, худал);
/ * Гэрэлтүүлгийг дунд зэрэг болгох */
lc.setIntensity (0, 8);
/ * болон дэлгэцийг цэвэрлэ */
lc.clearDisplay (0);}
хүчингүй байна уу () {
lc.setChar (0, 7, 'H', худал);
lc.setChar (0, 6, 'E', худал);
lc.setChar (0, 5, 'L', худал);
lc.setChar (0, 4, 'L', худал);
lc.setChar (0, 3, '0', худал);
lc.setChar (0, 2, '.', худал);
lc.setChar (0, 1, '.', худал);
lc.setChar (0, 0, '.', худал);
саатал (саатал+1000);
lc.clearDisplay (0);
саатал (саатал);
lc.setDigit (0, 7, 1, худал);
саатал (саатал);
lc.setDigit (0, 6, 2, худал);
саатал (саатал);
lc.setDigit (0, 5, 3, худал);
саатал (саатал);
lc.setDigit (0, 4, 4, худал);
саатал (саатал);
lc.setDigit (0, 3, 5, худал);
саатал (саатал);
lc.setDigit (0, 2, 6, худал);
саатал (саатал);
lc.setDigit (0, 1, 7, худал);
саатал (саатал);
lc.setDigit (0, 0, 8, худал);
саатал (1500);
lc.clearDisplay (0);
саатал (саатал);
}
void loop () {сайн уу ();
}
Эсвэл доорх файлыг татаж авна уу.
Алхам 5: Үр дүн
Үр дүнг нь баярлуул.
Асуулт байвал коммент хэсэгт бичээрэй.
Дараагийн нийтлэлээр уулзацгаая.
Зөвлөмж болгож буй:
Механик долоон сегментийн дэлгэцийн цаг: 7 алхам (зурагтай)
Механик долоон сегментийн дэлгэцийн цаг: Хэдэн сарын өмнө би хоёр оронтой 7 сегментийн дэлгэцийг бүтээсэн бөгөөд үүнийг тоолох тоолуур болгон хувиргасан. Энэ нь маш сайн гарч ирсэн бөгөөд олон хүмүүс цаг гаргахын тулд дэлгэц дээр хоёр дахин нэмэгдүүлэхийг санал болгов. Асуудал нь би аль хэдийн гүйж байсан
Arduino 7 сегментийн дэлгэцийн дижитал Ludo шоо төсөл: 3 алхам
Arduino 7 сегментийн дэлгэцийн төсөл бүхий дижитал людо шоо: Энэхүү төсөлд 7 товчлууртай дэлгэц нь товчлуур дарах бүрт 1-6 хүртэлх тоог санамсаргүй байдлаар харуулдаг. Энэ бол хүн бүрийн хийх дуртай төслүүдийн нэг юм. 7 сегментийн дэлгэцтэй хэрхэн ажиллах талаар энд дарж үзнэ үү: -7 сегмент
Shift бүртгэлтэй 7 сегментийн дэлгэцийн тоолуур: 3 алхам
7 сегментийн дэлгэцийн тоолуур нь ээлжийн бүртгэлтэй: Хэрэв та ээлжийн бүртгэлийг хэрхэн ашиглах, кодоор хэрхэн ажиллах талаар дөнгөж сурч байгаа бол энэ бол төгс эхлэгч төсөл юм. Нэмж дурдахад, хэрэв та 7 сегментийн дэлгэцтэй танилцаж байгаа бол энэ төсөл маш сайн эхлэл болно. Энэ төслийг эхлүүлэхийн өмнө та дараах зүйлсийг хийх хэрэгтэй:
7 сегментийн дэлгэцийн массив: 6 алхам (зурагтай)
7 сегментийн дэлгэцийн массив: Би arduino наногоор удирддаг 7 сегментийн 144 дэлгэцээс бүрдсэн LED дэлгэц бүтээсэн. Сегментүүд нь 18 ширхэг MAX7219 ic -ээр хянагддаг бөгөөд 64 хүртэлх LED эсвэл 8 7 сегментийн дэлгэцийг хянах боломжтой. Массив нь тус бүрээс бүрдсэн 144 дэлгэцтэй
Arduino Max7219 Led Matrix дэлгэцийн заавар: 4 алхам
Arduino Max7219 Led Matrix дэлгэцийн заавар: Сайн байна уу залуусаа, бид энэхүү LED матрицын дэлгэц дээр анимаци болон текстийг харуулахын тулд Arduino -той max7219 дэлгэцийн драйвер бүхий LED матриц дэлгэцийг хэрхэн ашиглах талаар сурах болно