Чтобы создать дисплей (матрицу) из обычных светодиодов можно использовать несколько микроконтроллеров, например давайте создадим дисплей 4 на 4 с помощью двух Atmega88 и нарисуем на дисплее смайлик с мигающими глазами и изменяемой улыбкой!
Код программирования очень простой. А рисунки можно сделать любыми! Чем больше микроконтроллеров – тем больше дисплей!
Скачать файлы (1 – это улыбка желтые светодиоды, а 2 – это глаза зелёные светодиодов):
Скачать файлы в формате zip.
Скачать файлы в формате tar.gz.
У Atmega88 буду использовать PORTB с 8 пинами.
Схема:
Код улыбки (желтые светодиоды на видео – папка 1 в архиве):
#include <avr/io.h> #include "delay.h" #include "delay.c" #define F_CPU 16000000UL // 1 MHz clock speed int main(void) { DDRB = 0xFF; //Nakes PORTB as Output while(1) //infinite loop { PORTB = 0b01111110; //Turns ON All LEDs _delay_ms(1000); //1 second delay PORTB= 0b00111100; //Turns OFF All LEDs _delay_ms(1000); //1 second delay } }
Код глазиков (зелёные светодиоды на видео – папка 2 в архиве):
#include <avr/io.h> #include "delay.h" #include "delay.c" #define F_CPU 16000000UL // 1 MHz clock speed int main(void) { DDRB = 0xFF; //Nakes PORTB as Output while(1) //infinite loop { PORTB = 0b10000001; //Turns ON All LEDs _delay_ms(100); //1 second delay PORTB= 0b00000001; //Turns OFF All LEDs _delay_ms(100); //1 second delay PORTB= 0b10000000; //Turns OFF All LEDs _delay_ms(100); //1 second delay } }
Видео:
“https://rutube.ru/video/ba7632ffd34cfbb5df8e0ed828ed0ac4/”