Мазмұны:
- 1 -қадам: Барлық компоненттерді жинаңыз
- 2 -қадам: Кітапхананы қосыңыз
- 3 -қадам: Қосымша функциялар
- 4 -қадам: эскизді жүктеу
- 5 -қадам: Нәтиже
Бейне: Arduino MAX7219 7 сегментті дисплей оқулығы: 5 қадам
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:24
MAX7219-бұл 7 сегментті светодиодты (8 санға дейін), блоктық дисплейлерді (жолақ дисплейлер) және катод болып табылатын 64 жеке светодиодты басқаруға арналған IC. Микроконтроллермен байланысу үшін MAX7219 SPI байланыс жүйесін қолданады. Осылайша, 64 жарықдиодты жарықдиодты басқару үшін тек микроконтроллердің 3 порты қажет.
Бұл мақалада мен сізге драйвер ретінде IC MAX7219 қолданатын 7 сегментті модульді қалай қолдану керектігін көрсетемін.
Қажетті компоненттер:
- MAX7219 7 сегмент модулі
- Ардуино Нано
- сым секіргіш
- USB шағын
Қажетті кітапхана:
LedControl
Бұл оқулықта мен Arduino Nano тақтасын қолданамын. Егер сіз оны ешқашан қолданбаған болсаңыз. Мен «Arduino Nano қалай қолдануға болады» туралы алдыңғы мақаланы оқуды ұсынамын.
1 -қадам: Барлық компоненттерді жинаңыз
Arduino тақтасын 7 сегмент модуліне қосыңыз. Мен жазған суретті немесе нұсқаулықты қараңыз:
Arduino 7 сегментіне дейін
+5В => ВКС
GND => GND
D12 => DIN
D11 => CLK
D10 => CS/LOAD
2 -қадам: Кітапхананы қосыңыз
Цикл аяқталғаннан кейін. Arduino IDE -ге «LedControl» кітапханасын қосыңыз.
Ардуиноға кітапхана қосу үшін оны бұрын жасаған «Arduino -ға сыртқы кітапхананы қалай қосу керек» мақаласынан оқи аласыз.
3 -қадам: Қосымша функциялар
LedControl кітапханасын қосқаннан кейін. 7-Segment модулін басқару үшін қосымша функцияларды қолдануға болады.
Аргумент
addr - дисплейдің мекенжайы
цифр - дисплейдегі цифрдың орны (0..7) мәні - көрсетілетін мән. (0x00..0x0F)
dp ондық бөлшекті орнатады.
Функция
setChar (addr, цифр, value.dp); // 7 биттік ASCII кодтау үшін char түрінің мәнін көрсету үшін
setDigit (addr, цифр, мән, bolean dp); // сандар мен таңбаларды бір функцияда көрсету setRow (addr, цифр, мән, логикалық dp); // объектіні керекті цифрда көрсету үшін
Толық ақпарат алу үшін мына жерден оқыңыз.
4 -қадам: эскизді жүктеу
Мен осы 7 сегментті модульдің сынақ нұсқасын жасадым. Сіз төмендегі кодты көшіре аласыз, содан кейін оны нобайға қоюға болады.
// Біз әрқашан кітапхананы қосуымыз керек
#«LedControl.h» қосыңыз
/*
Енді бізге жұмыс істеу үшін LedControl қажет. ***** Бұл пин -сандар сіздің аппараттық құралдарыңызбен жұмыс істемеуі мүмкін *****
PIN 12 DataIn -ге қосылған
PIN 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 сегментті дисплей жасадым, оны кері санау таймеріне айналдырдым. Бұл өте жақсы шықты және көптеген адамдар сағат жасау үшін дисплейде екі есе көбейтуді ұсынды. Мәселе мынада, мен қазірдің өзінде жүгірдім
Atmega16 негізіндегі бағдаршам жобасының прототипі 7 сегментті дисплей арқылы (Proteus модельдеу): 5 қадам
7 сегментті дисплейі бар Atmega16 негізіндегі бағдаршам жобасының прототипі (Proteus Simulation): Бұл жобада біз Atmega16 негізіндегі бағдаршам жобасын жасаймыз. Мұнда біз бағдаршам сигналдарын белгілеу үшін бір 7 сегмент пен 3 жарықдиодты алдық
Қашықтық сенсоры + 4 сан, 7 сегментті дисплей: 4 қадам
Қашықтық сенсоры + 4 цифры, 7 сегментті дисплей: қашықтық сенсорын қолданыңыз және жеті сегментті дисплейде объектілердің қашықтығын көріңіз. Сондай -ақ, объект жақындаған сайын серво солға қарай жылжи бастағанын көруге болады. Қызыл жарық диод сіздің жақын екеніңізді, ал жасыл жарық диоды сіздің тым жақын екеніңізді айтады
Arduino Max7219 Led Matrix дисплей оқулығы: 4 қадам
Arduino Max7219 жарықдиодты дисплейге арналған оқулық: Сәлеметсіздер ме, балалар, біз осы матрицалық дисплейде анимация мен мәтінді көрсету үшін Arduino көмегімен max7219 дисплей драйвері бар LED матрицалық дисплейді қолдануды үйренеміз
7 сегментті қос дисплей CircuitPython потенциометрімен басқарылады - көру тұрақтылығының демонстрациясы: 9 қадам (суреттермен)
CircuitPython потенциометрі басқаратын 7 сегментті қос дисплей-көру тұрақтылығының демонстрациясы: Бұл жобада 7 сегментті жарықдиодты дисплейлердің (F5161AH) дисплейін басқару үшін потенциометр қолданылады. Потенциометрдің тұтқасы бұрылғанда, көрсетілген сан 0 -ден 99 -ға дейін өзгереді. Кез келген сәтте бір ғана жарық диоды жанып тұрады, бірақ