Мазмуну:
- 1 -кадам: Сизге керектүү материалдар
- 2 -кадам: Кабелдөө
- 3 -кадам: Код
- 4 -кадам: Колдонмо
- 5 -кадам: Android тиркемеси
- 6 -кадам: Көбүрөөк билүү үчүн видеону текшериңиз
Video: P10 LED дисплейи менен DMDди колдонуу менен Score Board долбоору: 6 кадам (Сүрөттөр менен)
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:42
Көбүнчө биз футбол стадионунда жолугушабыз; табло катары кызмат кылган алп LED тактасы бар. Башка спорттук талаада да, биз көбүнчө LEDден жасалган дисплейдин таблосун билебиз. Мүмкүн болбосо да, дагы эле кол тактасын колдонгон талаа бар.
Бул долбоордо биз контролдоочу катары Bluetooth негизделген Android смартфонун колдонуп, Dot-matrix Display дисплейин түзөбүз.
1 -кадам: Сизге керектүү материалдар
Сага керек болот:
- Arduino Uno
- SFE DMD туташтыргычы
- P10 Тышкы/ Жарым Ачык
- HC-05 Bluetooth модулу
- Электр менен камсыздоо 5 Вольт
- Tact Switch
- Нан тактасы
- Jumper Wires
2 -кадам: Кабелдөө
Компоненттер чогултулгандан кийин, ар бир компонентти жогорудагы схемага ылайык туташтырыңыз.
3 -кадам: Код
Ар бир компонент туташкандан кийин, аны иштетүүдөн мурун компоненттин туура орнотулганын текшериңиз. Ошондой эле DMD туташтыргычы ПКБда көрсөтүлгөн пинге ылайык тиркелет. Ардуинону компьютериңизге / ноутбукка туташтырып, төмөндөгү программаны жүктөңүз.
// Файл китепканасын кыстаруу #камтыйт #кошуу #кошуу
// Функцияны аныктоо
#define bCLEAR A1 #define bRIGHT A2 #define bLEFT A0 #Define Panjang 2 // Дисплейдин P10 бийиктигинин саны #Лебарды аныктоо 1 // P10 дисплейинин туурасынын саны
SoftDMD dmd (Панжанг, Лебар);
// Декларация Variable байт Brightness; байт дебунга = 100; int rightScore = 0; int leftScore = 0; int i; char dmdBuff [10]; char BT; // Орнотуу функциясы, бир жолу аткарылган arduino void setup () {Brightness = EEPROM.read (0); dmd.setBrightness (10); dmd.selectFont (MyBigFont); dmd.begin (); dmd.clearScreen (); Serial.begin (9600); pinMode (bCLEAR, INPUT_PULLUP); pinMode (bRIGHT, INPUT_PULLUP); pinMode (bLEFT, INPUT_PULLUP);
blinkDisplay ();
} // Blink Display Function, дисплейди жарк этип жок кылуу blinkDisplay () {dmd.clearScreen (); кечигүү (300); sprintf (dmdBuff, "%d", leftScore); dmd.drawString (0, 0, dmdBuff); dmd.drawString (29, 0, "-"); sprintf (dmdBuff, "%2d", rightScore); dmd.drawString (43, 0, dmdBuff); кечигүү (300); dmd.clearScreen (); кечигүү (300); sprintf (dmdBuff, "%d", leftScore); dmd.drawString (0, 0, dmdBuff); dmd.drawString (29, 0, "-"); sprintf (dmdBuff, "%2d", rightScore); dmd.drawString (43, 0, dmdBuff); кечигүү (300); dmd.clearScreen (); кечигүү (300); } // GOAL Функциясы, киргизилгенде GOAL текстин көрсөтүү GOAL () {dmd.clearScreen (); кечигүү (400); dmd.drawString (5, 0, "ГОЛ !!!"); кечигүү (400); dmd.clearScreen (); кечигүү (400); dmd.drawString (5, 0, "ГОЛ !!!"); кечигүү (3000); } // Loop Function, бир нече жолу аткарылган void loop () {if (Serial.available ()) {BT = Serial.read (); } if (digitalRead (bCLEAR) == LOW || BT == 'X') {delay (debounce); leftScore = 0; rightScore = 0; dmd.clearScreen (); BT = 0; } if (digitalRead (bLEFT) == LOW || BT == 'A') {delay (debounce); leftScore ++; ГОЛ (); blinkDisplay (); BT = 0; } if (digitalRead (bRIGHT) == LOW || BT == 'B') {delay (debounce); rightScore ++; ГОЛ (); blinkDisplay (); BT = 0; }sprintf (dmdBuff, "%d", leftScore); dmd.drawString (0, 0, dmdBuff); dmd.drawString (29, 0, "-"); sprintf (dmdBuff, "%2d", rightScore); dmd.drawString (43, 0, dmdBuff); кечигүү (300); if (digitalRead (bLEFT) == LOW && digitalRead (bRIGHT) == LOW) {dmd.clearScreen (); кечиктирүү (четтетүү); setBrightness: Жарыктык = EEPROM.read (0); if (digitalRead (bLEFT) == LOW) {кечиктирүү (чыгаруу); Жарыктык ++;} if (digitalRead (bRIGHT) == LOW) {кечиктирүү (ажыратуу); Жарыктык--;} EEPROM.write (0, Жарыктык); dmd.setBrightness (Жарыктык); sprintf (dmdBuff, "%3d", Жарыктык); dmd.drawString (16, 0, dmdBuff); кечиктирүү (50);
if (digitalRead (bCLEAR) == 0) {dmd.clearScreen (); кечиктирүү (четтетүү); цикл ();}
башка {goto setBrightness;}}}
4 -кадам: Колдонмо
Программаны жүктөө учурунда ката кетсе, табло дисплейин колдоо үчүн кошумча шрифттердин бар DMD китепканасы керек, DMD2 китепканаларын жүктөп алыңыз. Жогорудагы сүрөт Scoreboard дисплейи.
5 -кадам: Android тиркемеси
SFE Scoreboard андроид тиркемелерин бул жерден көчүрүп алса болот. Бул жерде SFE Score Board колдонмосунун негизги көрүнүшү.
Аны кантип колдонуу керек, төмөнкүчө:
- Колдонмону Android смартфонуңузга орнотуңуз.
- Колдонмону ачыңыз, эгер bluetoothду иштетүү жөнүндө эскертүү болсо, ооба дегенди басыңыз.
- Bluetooth модулуна туташуу үчүн, колдонмонун жогору жагындагы Bluetooth сөлөкөтүн чыкылдатыңыз, ал сиздин түзмөгүңүз менен теңдеш болгон bluetooth тизмесин көрсөтөт.
- Бирок, эгерде сиздин Bluetooth модулуңуздун аталышы түзмөктө жок болсо, алгач түзмөгүңүздөгү bluetooth орнотуулары менюсуна кирүү менен жупташууну жасашыңыз керек. Скандоо процесси аяктагандан кийин жана Bluetooth модулуңуздун аты пайда болгондон кийин, жупташтырыңыз. Эгер сырсөздү киргизүү суралса, модуль стандарты үчүн 1234 паролду киргизиңиз, эгер ал алмаштырылбаса.
- Колдонмо туташкан болсо, сиз буга чейин Android түзмөгүңүздү колдонуп, таблого кире аласыз.
6 -кадам: Көбүрөөк билүү үчүн видеону текшериңиз
Сунушталууда:
P10 DMD дисплейи Arduino жана RTC DS3231 менен: 4 кадам (сүрөттөр менен)
P10 DMD дисплейи Arduino жана RTC DS3231 менен: P10 дисплейлери чекит матрицалуу LED диапазону. P10 LED жалпысынан Dot Matrix Display же DMD дисплейи катары белгилүү. Бул нөөмөт реестрлерине негизделген, жалпысынан 74595 смена регистрлери колдонулат. Аларды окшош тактайлардын көбүрөөк саны менен каскаддаштырса болот. А
Ардуино менен 2.4Ghz NRF24L01 модулун колдонуу менен зымсыз алыстан башкаруу - Nrf24l01 4 каналы / 6 каналды берүүчү Quadcopter үчүн алуучу - Rc Helicopter - Rc учагы Arduino колдонуу: 5 кадам (сүрөттөр менен)
Ардуино менен 2.4Ghz NRF24L01 модулун колдонуу менен зымсыз алыстан башкаруу | Nrf24l01 4 каналы / 6 каналды берүүчү Quadcopter үчүн алуучу | Rc Helicopter | Arduino менен Rc учагы: Rc машинасын иштетүү | Quadcopter | Дрон | RC учагы | RC кайыгы, бизге дайыма рецептор жана өткөргүч керек, RC QUADCOPTER үчүн бизге 6 каналдуу өткөргүч жана кабыл алгыч керек деп ойлойбуз жана TX менен RXтин бул түрү өтө кымбат, ошондуктан биз аны өзүбүздө жасайбыз
48 X 8 Arduino жана Shift регистрлерин колдонуу менен LED Matrix дисплейи: 6 кадам (сүрөттөр менен)
48 X 8 жылдыруу LED матрицасынын дисплейи Arduino жана Shift регистрлерин колдонуу менен .: Саламатсыздарбы! Бул менин биринчи көрсөтмөм жана 48 x 8 программалоочу жылдыруучу LED матрицасын Arduino Uno жана 74HC595 нөөмөт регистрлерин колдонуу менен жасоо жөнүндө. Бул Arduino өнүктүрүү тактасы менен болгон биринчи долбоорум болчу. Бул маган берилген сынак болды
PIC16F877 микроконтроллерин колдонуу менен 16x64 P10 жылдыруучу LED дисплейи: 5 кадам (сүрөттөр менен)
Px16F877 микроконтроллерин колдонуу менен 16x64 P10 жылдыруучу LED дисплейи: Бул нускамада PICI6F877A микроконтроллери менен 16 x 64 (p10) LED матрицасы дисплейинин интерфейси сүрөттөлөт. Маалыматтар EEPROMдо сакталган UART аркылуу микроконтроллерге жөнөтүлөт жана маалыматтар LED матрицасынын дисплейинде көрсөтүлөт. Бул
7 сегменттин дисплейи менен 8051 микроконтроллерин колдонуу менен 0дон 99га чейин кантип эсептөө керек: 5 кадам (сүрөттөр менен)
7 сегменттин дисплейи менен 8051 микроконтроллерин колдонуу менен 0дон 99га чейин кантип эсептөө керек: Саламатсыздарбы, бул окуу куралында биз 0дөн 99га чейин эки 7 сегменттүү дисплейди кантип колдонууну айтып беребиз