Мазмуну:

Magic Hercules - Digital LED үчүн драйвер: 10 кадам
Magic Hercules - Digital LED үчүн драйвер: 10 кадам

Video: Magic Hercules - Digital LED үчүн драйвер: 10 кадам

Video: Magic Hercules - Digital LED үчүн драйвер: 10 кадам
Video: Akcja Magic LED - Magic Hercules 2024, Июль
Anonim
Magic Hercules - Digital LED үчүн драйвер
Magic Hercules - Digital LED үчүн драйвер

Ыкчам сереп:

Magic Hercules модулу NZR протоколуна белгилүү жана жөнөкөй SPIдин ортосундагы конвертер. Модулдун кирүүлөрү +3,3 В толеранттуулукка ээ, андыктан +3,3 В чыңалууда иштеген каалаган микроконтроллерди коопсуз туташтыра аласыз.

Санариптик диоддорду башкаруу үчүн SPI протоколун колдонуу азыркы чечимдердин арасында инновациялык ыкма болуп саналат, мисалы, Arduino үчүн даяр китепканалар. Бирок, бул микроконтроллердин үй -бүлөсүнө карабастан (мисалы, ARM: STM / Cypress PSoC, Raspberry Pi, AVR, PIC, Arduino) жана программалоо тилине карабастан (мисалы, C, Arduino C ++, Python же башка) каалаган платформага өтүүгө мүмкүндүк берет. Бул SPI протоколун колдойт). Санариптик диоддорду программалоого мындай мамиле өтө башталгыч болуп саналат, анткени сизге SPI протоколун билүү керек.

MH модулу санариптик LED тилкелерин тестирлөөнүн бир нече режимине, анын ичинде диоддогу түс тартибин текшерүүгө (RGB, BGR, RGBW ж. Б.), Бардык тилкелерди же дисплейлерди сыноого (1024 LEDге чейин) мүмкүнчүлүк берет.

1 -кадам: Эмне үчүн мен Magic Hercules модулунда иштеп жатам?

Эмне үчүн мен сыйкырдуу Геркулес модулунда иштеп жатам?
Эмне үчүн мен сыйкырдуу Геркулес модулунда иштеп жатам?

Мен WS2812, WS2815 же SK6812 сыяктуу санариптик диоддор менен көп убакыттан бери иштеп келе жатам, аларды мен көбүнчө Magic LED деп атайм.

Мен Magic LED (RGBW түрү менен да) негизинде көптөгөн тилкелерди, шакектерди жана дисплейлерди (ал тургай өзүмдүкүн) сынап көрдүм. Мен Arduino, Nucleo (STM менен), Raspberry Pi жана AVR микроконтроллери бар өз такталарымды колдондум.

Платформага карабастан, сыйкырдуу светодиоддорду көзөмөлдөө үчүн программа жазуу кыйын (NZR протоколунун программасына муктаждыктан улам), эгер сиз даяр китепканаларды колдонбосоңуз, анда кодду колдонуу жагынан оптималдуу эмес. жооптор, же эс тутумду колдонуу, жана белгилүү бир платформаларда гана иштөө (аларды мисал үчүн Малинадан AVR микроконтроллерине өткөрүү мүмкүн эмес).

Мен көп учурда ар кандай платформаларды колдонгонума байланыштуу, программанын коду Arduino, Raspberry Pi, ARM / STM (Nucleo) же AVR менен мүмкүн болушунча шайкеш келишине муктажмын - айрыкча жарык эффекттерине келгенде.

Мен youtube каналында көптөн бери иштеп келе жатам жана AVR микроконтроллерлери үчүн C тилинде санарип диоддорду программалоо боюнча бир нече колдонмону даярдадым (бирок азырынча поляк тилинде азырынча). Мен көбүнчө сыйкырдуу LED диоддорун программалоо менен күрөшүп жаткан үйрөнчүктөр менен байланышта болом. Албетте, кээ бирлери, платформага жараша, бир жолку долбоорлору үчүн даяр китепканаларды тандашат. Бирок, көптөгөн адамдар башка чечимдерди издешет же программалоонун сырларын үйрөнүүгө аракет кылышат жана мен алардын биримин.

2 -кадам: SPZден NZRге айландыруу

SPIден NZRге айландыруу
SPIден NZRге айландыруу

Мен NZR протоколу менен колдонуучу үчүн ыплас иштерди жасай турган модуль даярдоону чечтим. NZR конвертерине SPI катары иштей турган модуль, SPI сыяктуу эле, каалаган платформада оңой колдонулушу мүмкүн. Жогорудагы скриншот SPI сигналдарынын Magic Hercules модулундагы NZR протоколуна которулушун көрсөтөт.

3 -кадам: Magic Hercules Module Digital LED Strip Tester катары

Magic Hercules Module Digital LED Strip Tester катары
Magic Hercules Module Digital LED Strip Tester катары

Санариптик диоддорду ар кандай тутумдарга туташтырууда, ар кандай микроконтроллерлер үчүн ылайыктуу чыңалуу чыдамдуулугу жөнүндө эстен чыгарбоо керек. ARM микроконтроллеринин I / O казыктарынын көбү +3.3 V стандартында иштейт, ал эми AVR микроконтроллери TTL стандартында иштейт. Ушундан улам, Magic Hercules модулунун кирүү казыктары +3,3 В толеранттуулукка ээ, андыктан аларды коопсуз байланыштырууга болот, мисалы, Raspberry P же ARMге негизделген +3.3 V менен иштөөчү микроконтроллер.

Мен мурда айткандай, мен көп учурда санариптик диоддордун ар кандай түрлөрү менен иштейм. Өндүрүүчүгө жараша, светодиоддордогу жеке түстөр ар кандай кызматтарда болушу мүмкүн, мис. RGB, BGR, GRB, RGBW, GRBW, ж. Мен Геркулес модулун түстөрдүн ырааттуулугу боюнча тест менен жабдып койдум, андыктан туура түстүү тартип үчүн программаны кантип жазуу керектигин эч кандай көйгөй жок. Тестирлөөнүн бир нече кошумча функциялары санариптик LED тилкесинин такыр иштээрин, тилкенин ар бир светодиодундагы бардык түстөрдүн (1024 светодиодго чейин!) Туура иштеп жаткандыгын тез текшерүүгө мүмкүндүк берет (өлгөн пикселдер жок). Жана мунун баары микроконтроллерди туташтырбастан жана кандайдыр бир программа жазбастан.

4 -кадам: Magic Hercules Module - Санариптик диоддор үчүн жаңы универсалдуу чечим

Magic Hercules Module - Санариптик диоддор үчүн жаңы универсалдуу чечим
Magic Hercules Module - Санариптик диоддор үчүн жаңы универсалдуу чечим

Менимче, азырынча мындай нерсе болгон эмес, жөнөкөй жана жалпы SPI протоколунун жардамы менен санариптик диоддорду башкаруу үчүн, алар каалаган платформада же микроконтроллерлердин үй -бүлөсүндө иштей алат.

Албетте, санариптик диоддорду башкаруунун көптөгөн жолдору бар, айрымдары оптималдуу, башкалары анча оптималдуу эмес. Magic Hercules модулу дагы бир вариант жана мен үчүн абдан практикалык. Менимче, бул адаттан тыш чечим кимдир бирөөгө жагышы мүмкүн. Мен жакында краудфандинг платформасынан - kickstarterден чыктым, анда мен бир нече видеолордо Magic Hercules модулунун кеңири сүрөттөмөсүн даярдадым, анын ичинде Arduino, Nucleo (STM), Raspberry Pi жана AVR жана PIC менен иштөө канчалык оңой экенин. микроконтроллерлер. Эгерде сиз Magic Hercules долбоорун колдоону кааласаңыз, муну текшериңиз:

Менин Magic Hercules модулунун долбоору kickstarterде

Мен C тилиндеги программаны даярдадым - жөнөкөй жылдыз дарбазасы эффект, ал стол операцияларына жана буферди негизги циклге ырааттуу жөнөтүүгө негизделген. Magic Hercules модулунун жардамы менен мен баштапкы кодду башка тилдерге жана платформаларга оңой өткөрүп бере алдым - кийинки кадамдарды текшериңиз - булак коддору.

5 -кадам: Magic Hercules Module Atmega32 жана C менен

Жөнөкөйлөтүлгөн схеманы камтыган видео, ATB 1.05a (AVR Atmega32) боюнча туташуу презентациясы, булак коду (Eclipse C/C ++ IDEде) жана жылдыз дарбазасынын жарык эффекти түрүндөгү акыркы эффект.

Ютубдагы видеого шилтеме

6 -кадам: Magic Hercules Module Arduino жана Arduino C ++ менен

Жөнөкөйлөтүлгөн схеманы камтыган видео, Arduino 2560 тактасындагы туташуу презентациясы, Arduino IDEдеги баштапкы код жана жылдыз дарбазасынын жарык эффекти түрүндөгү акыркы эффект.

Ютубдагы видеого шилтеме

7 -кадам: Magic Hercules Module менен PIC жана C

Жөнөкөйлөтүлгөн диаграмманы камтыган видео, ATIC 1.05а боюнча PIC калканы менен байланыш презентациясы (бортто PIC24FJ64GA004), MPLABдагы баштапкы код жана жылдыз дарбазасынын жарык эффекти түрүндөгү акыркы эффект.

Ютубдагы видеого шилтеме

8 -кадам: Raspberry Pi жана Python менен сыйкырдуу Геркулес модулу

Жөнөкөйлөтүлгөн схеманы камтыган видео, Raspberry Pi 4 боюнча презентация, Pythonдогу баштапкы код жана жылдыз дарбазасынын жарык эффекти түрүндөгү акыркы эффект.

Ютубдагы видеого шилтеме

9 -кадам: Magic Hercules Module with ARM - STM32 Nucleo and C

Жөнөкөйлөтүлгөн диаграмманы камтыган видео, STM32 Nucleo тактасындагы туташуу презентациясы, STM32CubeIDEдеги баштапкы код жана жылдыз дарбазасынын жарык эффекти түрүндөгү акыркы эффект.

Ютубдагы видеого шилтеме

10 -кадам:

Сүрөт
Сүрөт

Менимче, MH платформасына жана тилине карабай, башталгычтарга өтө ыңгайлуу модуль боло алат. Белгилүү SPI протоколун билүү жетиштүү, жана санариптик LED тилкеси такыр иштебейби жана анын түсү кандай ырааттуулукка ээ экенин текшерүүнү баштоо мүмкүнчүлүгү болгону плюс.

Эгерде сиз менин kickstarterдеги долбоорума катышкыңыз келсе - бул шилтемени караңыз:

Менин Magic Hercules модулунун долбоору kickstarterде

Сунушталууда: