Мазмуну:
- Жабдуулар
- 1 -кадам: Топтомду текшериңиз
- 2 -кадам: Бул өзгөчө чекит матрицасы жөнүндө бир аз
- 3 -кадам: MAX7219 драйвери
- 4 -кадам: Circuit
- 5 -кадам: Кодекс
- 6 -кадам: Чыгуу
Video: MAX7219 LED Dot Matrix Ассамблеясы жана Тестирлөө: 6 Кадам (Сүрөттөр менен)
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:40
A Dot-Matrix Display-бул матрица түрүндө тегизделген жарык чыгаруучу диоддорду камтыган дисплей түзмөгү. Бул чекит матрицасы дисплей символ, графика, символдор, алфавиттер, цифралар статикалык, ошондой эле бирге көрсөтүлүшү керек болгон тиркемелерде колдонулат. Scotling motion. Dot Matrix Display 5x7, 8x8, 16x8, 128x16, 128x32 жана 128x64 сыяктуу ар кандай өлчөмдөрдө өндүрүлгөн, бул жерде сандар LEDлерди катарларда жана мамычаларда чагылдырат, Ошондой эле бул дисплейлер Кызыл, Жашыл, Сары, Көк, Апельсин, Ак.
Бул Нускамада мен MAX7219 драйвери бар 8x8 Dot Matrix интерфейсинен өтөм, Arduino Uno.
Жабдуулар
MAX7219
1 -кадам: Топтомду текшериңиз
Көрүп турганыңыздай, менде драйвер тактасынын smt версиясы бар, ар бир компонентти текшерүү абдан маанилүү, анткени smd компоненттери өтө кичинекей жана сиз аларды оңой эле жоготуп коё аласыз. анын өлчөмү үчүн smt версиясы.
2 -кадам: Бул өзгөчө чекит матрицасы жөнүндө бир аз
жалгыз модуль 8x8 чекиттүү матрицанын жалпы катодун айдай алат.
Иштөө чыңалуусу: 5 в
Өлчөмдөрү: узундугу 3.2 см X 3.2 см туурасы X 1.3 см, төрт бурамасы бар тешиктер, диаметри 3 мм
Киргизүү жана чыгаруу интерфейстери бар модулдар, бир нече модулдарды каскаддоо үчүн колдоо.
Маалымат IN жана OUT терминалдары модулда көрсөтүлгөн.
3 -кадам: MAX7219 драйвери
MAX7219 - бул 8x8 LED MATRIXти башкаруу үчүн иштелип чыккан IC. IC сериялык киргизүү жалпы катоддук (жалпы негативдүү) дисплей драйверлери болуп саналат, алар микропроцессорлорду (же микроконтроллерди) 8 разрядга чейин 7 сегменттүү сандык LED дисплейлерине, штрих-графикалык дисплейлерге же 64 жеке диоддорго интерфейс кылат.
Өзгөчөлүктөр жана өзгөчөлүктөр
Иштөө чыңалуу диапазону: +4.0 +5.5V
Сунушталган иштөө чыңалуусу: +5V
Максималдуу камсыздоо чыңалуусу: 6V
Максималдуу ток ар бир сегменттин пини аркылуу өтүүгө уруксат берилген: 100мА
Ар бир DIGIT жерге пин аркылуу кирүүгө уруксат берилген максималдуу ток: 500мА
Аз энергия керектөө
Маалыматтарды сегменттерге кечиктирүү убактысы: 2.2мсек
Иштөө температурасы: 0 ° Cден +70 ° Cка чейин
Сактоо температурасы: -65 ° Cдан +150 ° C га чейин
4 -кадам: Circuit
Район өтө жөнөкөй жана эркектен ургаачыга секирүүчү зымдардын жардамы менен курулушу мүмкүн. Жөн гана пинту ээрчип, схеманы куруңуз. Эгер сиз Matrix үчүн туруктуу арыз түзүп жатсаңыз, аны кийин ПКБга чогулта аласыз.
Pin Конфигурациясы төмөнкүчө:
- Vdu 5V Pin Arduino.
- Gnd to Gnd Pin Arduino.
- Ардуинонун Digital Pin 12ге DIN.
- CS Ардуинонун Digital Pin 11ге
- Ардуинонун Digital Pin 10го CLK.
5 -кадам: Кодекс
Бул Нускамада мен сизге эки башка кодду берем. Матрицада англис алфавиттери жана смайликтер пайда болот. Башка бирөө баардык 64 LED бирден жарык кылат. Сиз иштеши үчүн lledcontrol китепканасын колдонушуңуз керек.
Бул англис алфавиттеринин жана жылмаюуларынын коду
#incinde int DIN = 12; int CS = 11; int CLK = 10; байт e [8] = {0x7C, 0x7C, 0x60, 0x7C, 0x7C, 0x60, 0x7C, 0x7C}; байт d [8] = {0x78, 0x7C, 0x66, 0x66, 0x66, 0x66, 0x7C, 0x78}; байт u [8] = {0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x7E, 0x7E}; байт c [8] = {0x7E, 0x7E, 0x60, 0x60, 0x60, 0x60, 0x7E, 0x7E}; сегиз байт [8] = {0x7E, 0x7E, 0x66, 0x7E, 0x7E, 0x66, 0x7E, 0x7E}; байт s [8] = {0x7E, 0x7C, 0x60, 0x7C, 0x3E, 0x06, 0x3E, 0x7E}; байт чекити [8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18}; байт o [8] = {0x7E, 0x7E, 0x66, 0x66, 0x66, 0x66, 0x7E, 0x7E}; байт m [8] = {0xE7, 0xFF, 0xFF, 0xDB, 0xDB, 0xDB, 0xC3, 0xC3}; LedControl lc = LedControl (DIN, CLK, CS, 0); void setup () {lc.shutdown (0, false); // MAX72XX lc.setIntensity баштоодо энергияны үнөмдөө режиминде (0, 15); // Жарыкты максималдуу мааниге коюңуз lc.clearDisplay (0); // жана дисплейди тазалоо} void loop () {байт смайл [8] = {0x3C, 0x42, 0xA5, 0x81, 0xA5, 0x99, 0x42, 0x3C}; нейтралдуу байт [8] = {0x3C, 0x42, 0xA5, 0x81, 0xBD, 0x81, 0x42, 0x3C}; байт кабагы [8] = {0x3C, 0x42, 0xA5, 0x81, 0x99, 0xA5, 0x42, 0x3C}; printByte (жылмайуу); кечигүү (1000); printByte (нейтралдуу); кечигүү (1000); printByte (кабагын бүркөө); кечигүү (1000); printEduc8s (); lc.clearDisplay (0); кечигүү (1000); } жараксыз printEduc8s () {printByte (e); кечигүү (1000); printByte (d); кечигүү (1000); printByte (u); кечигүү (1000); printByte (c); кечигүү (1000); printByte (сегиз); кечигүү (1000); printByte (s); кечигүү (1000); printByte (чекит); кечигүү (1000); printByte (c); кечигүү (1000); printByte (o); кечигүү (1000); printByte (m); кечигүү (1000); } void printByte (байт белгиси ) {int i = 0; for (i = 0; i <8; i ++) {lc.setRow (0, i, character ); }}
жана бардык 64 LEDди сыноо коду
// Биз ар дайым китепкананы камтышыбыз керек#include "LedControl.h"
/*
Эми биз менен иштөө үчүн LedControl керек. ***** Бул пин номерлери сиздин аппараттык жабдууларыңыз менен иштебей калышы мүмкүн ***** pin 12 DataIn pin 10го туташкан CLK пин 11 LOADга туташкан Бизде бир гана MAX72XX бар. */ LedControl lc = LedControl (12, 11, 10, 1);
/ * биз дайыма дисплейдин жаңыртууларын күтөбүз */
кол коюлбаган узак кечигүү убактысы = 100;
жараксыз орнотуу () {
/ * MAX72XX күйгүзүү учурунда энергияны үнөмдөө режиминде, биз ойготуу чалуу кылышыбыз керек */ lc.shutdown (0, false); / * Жарыкты орто мааниге коюңуз */ lc.setIntensity (0, 8); / * жана дисплейди тазалоо */ lc.clearDisplay (0); }
/*
Бул ыкма "Arduino" сөзүнүн белгилерин матрицада биринин артынан бирин көрсөтөт. (бүт символдорду көрүү үчүн кеминде 5х7 лед керек) */ void writeArduinoOnMatrix () {/ *бул жерде */ байт a [5] = {B01111110, B10001000, B10001000, B10001000, B01111110} символдору боюнча маалыматтар бар; байт r [5] = {B00111110, B00010000, B00100000, B00100000, B00010000}; байт d [5] = {B00011100, B00100010, B00100010, B00010010, B11111110}; байт u [5] = {B00111100, B00000010, B00000010, B00000100, B00111110}; байт i [5] = {B00000000, B00100010, B10111110, B00000010, B00000000}; байт n [5] = {B00111110, B00010000, B00100000, B00100000, B00011110}; байт о [5] = {B00011100, B00100010, B00100010, B00100010, B00011100};
/ * азыр аларды кичине кечигүү менен бирден көрсөтүү */
lc.setRow (0, 0, a [0]); lc.setRow (0, 1, a [1]); lc.setRow (0, 2, a [2]); lc.setRow (0, 3, a [3]); lc.setRow (0, 4, a [4]); кечигүү (кечигүү убактысы); lc.setRow (0, 0, r [0]); lc.setRow (0, 1, r [1]); lc.setRow (0, 2, r [2]); lc.setRow (0, 3, r [3]); lc.setRow (0, 4, r [4]); кечигүү (кечигүү убактысы); lc.setRow (0, 0, d [0]); lc.setRow (0, 1, d [1]); lc.setRow (0, 2, d [2]); lc.setRow (0, 3, d [3]); lc.setRow (0, 4, d [4]); кечигүү (кечигүү убактысы); lc.setRow (0, 0, u [0]); lc.setRow (0, 1, u [1]); lc.setRow (0, 2, u [2]); lc.setRow (0, 3, u [3]); lc.setRow (0, 4, u [4]); кечигүү (кечигүү убактысы); lc.setRow (0, 0, i [0]); lc.setRow (0, 1, i [1]); lc.setRow (0, 2, i [2]); lc.setRow (0, 3, i [3]); lc.setRow (0, 4, i [4]); кечигүү (кечигүү убактысы); lc.setRow (0, 0, n [0]); lc.setRow (0, 1, n [1]); lc.setRow (0, 2, n [2]); lc.setRow (0, 3, n [3]); lc.setRow (0, 4, n [4]); кечигүү (кечигүү убактысы); lc.setRow (0, 0, o [0]); lc.setRow (0, 1, o [1]); lc.setRow (0, 2, o [2]); lc.setRow (0, 3, o [3]); lc.setRow (0, 4, o [4]); кечигүү (кечигүү убактысы); lc.setRow (0, 0, 0); lc.setRow (0, 1, 0); lc.setRow (0, 2, 0); lc.setRow (0, 3, 0); lc.setRow (0, 4, 0); кечигүү (кечигүү убактысы); }
/*
Бул функция катары менен кээ бир Леддерди жарык кылат. Үлгү ар бир сапта кайталанат. Үлгү катар номери менен бирге ирмелет. катар саны 4 (индекс == 3) 4 жолу жыпылықтайт ж.б. */ void rows () {for (int row = 0; row <8; row ++) {delay (delaytime); lc.setRow (0, катар, B10100000); кечигүү (кечигүү убактысы); lc.setRow (0, катар, (байт) 0); үчүн (int i = 0; i
/*
Бул функция мамычанын кээ бир Леддерин күйгүзөт. Үлгү ар бир тилкеде кайталанат. Үлгү мамыча номери менен бирге ирмелет. мамыча номери 4 (индекс == 3) 4 ирет жыпылықтайт ж. lc.setColumn (0, col, B10100000); кечигүү (кечигүү убактысы); lc.setColumn (0, col, (байт) 0); үчүн (int i = 0; i
/*
Бул функция матрицанын ар бир LEDын жарык кылат. Лидер катар номери менен бирге ирмелет. катар саны 4 (индекс == 3) 4 жолу жыпылықтайт ж.б. */ void single () {for (int row = 0; row <8; row ++) {for (int col = 0; col <8; col ++) { кечигүү (кечигүү убактысы); lc.setLed (0, катар, col, true); кечигүү (кечигүү убактысы); үчүн (int i = 0; i
void loop () {
writeArduinoOnMatrix (); катарлар (); мамычалар (); жалгыз (); }
6 -кадам: Чыгуу
Толук видеону бул жерден көрүңүз: -MAX7219 8x8 LED MATRIX ASSEMBLY AND TESTING with ARDUINO
Ооба, мээнеттин баары, албетте, натыйжасын көргөндө абдан жакшы натыйжа берет. Бул татыктуу !!
Менин youtube каналыма жазылыңыз: -Creative Stuff
Сунушталууда:
Dot Matrix 32x8 Max7219 Ardiuno менен интерфейс: 5 кадам (сүрөттөр менен)
Dot Matrix 32x8 Max7219 Ardiuno менен интерфейс: Саламатсызбы, Max7219 негизделген Dot Matrix 2020 -жылы жаңы эмес, жакында чейин, орнотуу процесси жакшы документтештирилген, MajicDesignsтен аппараттык китепкананы жүктөп алса болот. жана баш файлдардагы бир нече саптарды өзгөрттү жана FC16 тумар сыяктуу иштеди. Бул чейин
Компьютерди машина тилинде коддоо жана тестирлөө: 6 кадам
Компьютерди машина тилинде коддоо жана тестирлөө: Бул Нускамада мен сизге компьютер программасын машина тилинде кантип коддоо жана тестирлөө керектигин көрсөтөм. Машина тили - компьютерлердин эне тили. 1 жана 0 сандарынан тургандыктан, аны адамдар оңой эле түшүнө беришпейт. Тынчсыздануу
6-огу Sensor Module FSP200 Калибрлөө жана тестирлөө: 6 кадам
6 октук сенсор модулу FSP200 Калибрлөө жана тестирлөө: FSP200-бул 6 огунун инерциялык өлчөө бирдиги процессору, ал аталышты жана багытты чыгарууну камсыз кылат. Бул туруктуу жана так багыт жана багыт үчүн акселерометр менен гироскоптордун синтезин аткарат. FSP200 роботто колдонууга жарактуу
Coilgun SGP33 - Толук жыйноо жана тестирлөө инструкциясы: 12 кадам
Coilgun SGP33 - Толук монтаждоо жана тестирлөө көрсөтмөлөрү: Бул окуу куралы бул видеодо көрсөтүлгөн катушка пистолетинин электроникасын кантип чогултуу керектигин сүрөттөйт: SGP -33 монтаждоосу Youtube Бул окуу куралынын акыркы бетинде аны иш жүзүндө көргөн видеоңуз да бар. Бул жерде шилтеме бар. Бул демо үчүн PCB'лер кайда
WiFi жана IR Remote жана Android колдонмосун колдонуп NodeMCU жана IR алуучу менен 8 релелик көзөмөл: 5 кадам (сүрөттөр менен)
WiFi жана IR Remote жана Android тиркемесин колдонуп NodeMCU жана IR алуучу менен 8 реле көзөмөлү: wifi жана ир алыскы жана андроид колдонмосу аркылуу nodemcu жана IR кабыл алгычты колдонуп 8 реле өчүргүчтөрүн көзөмөлдөө БУЛ ЖЕРДЕ