Uživatelské jméno:   Heslo:   Pamatuj si mě  

LED matice - Pinguino

 Tisknout 

Na letošní Elektrotábor jsem tzv. na poslední chvíli připravil LED matici. Nyní uvádím popis této konstrukce, která je vhodná především pro ty, kteří se chtějí začít učit programovat. Samozřejmě, že ikdyž je zapojení kompatibilní s Pinguino, lze daleko efektivněji psát vlastní aplikace přímo pomocí C v prostředí MPLAB (MPLABX).

Základem této konstrukce je procesor řady PIC32MX a konstrukce je přizpůsobena tak, aby umožnila začínajícím si zkoušet programování prostřednictvím projektu Pinguino, což je obdoba Arduino, z velké části kompatibilní, jen je založena na procesorech PIC od firmy Microchip.

Vlastní matice používá pouze 3 piny mikrokontroléru k ovládání LED. Tyto piny mají funkci hodinového signálu, sériových dat a signál pro přepis hodnoty na výstup sériově-paralelního převodníku 74HC595. Schéma řídící části je kompatibilní se zapojením desky s PIC32MX220F032B. Navíc je zde externí I2C EEPROM pro ukládání dat pro zobrazení.


schpinguino.png
 řídící část matice

schmatice.png
schéma budičů a LED matice


Popis oživení  

Před osazením integrovaných obvodů do patic zkontrolujeme zda není někde zkrat a to připojením externího zdroje 5V s nastavenou pojistkou na 200mA. Pokud je vše v pořádku, naměříme na pinu 28 mikrokontroléru U2 napětí 3.3V. Vypneme externí zdroj a osadíme zbývající obvody do patic.   Následující postup platí pro uživatele Windows, obdobně lze však postupovat i v případě Linuxu. Pokud máme naprogramovaný bootloader v U2, pak můžeme připojit USB kabel k PC a chvíli počkáme, než dojde k instalaci HID. Poté stiskneme TL2 a při stálém držení TL2 krátce stiskneme TL1. Nakonec pustíme TL2 a měla by se rozsvítit a následně rozblikat D27 u tlačítka TL2. Blikání signalizuje vstup do režimu bootloaderu. Dioda D27 se nerozbliká, pokud je deska napájená jen ze zdroje, protože nedojde ke komunikaci s nadřazeným PC.

Postup programování  

Stáhneme z webu Pinguino IDE, nejlépe poslední verzi. V mém případě to byla verze X4 rev. 857 dostupná zde http://code.google.com/p/pinguino32/downloads/detail?name=Pinguino-X4-EasyPack-Win32-Rev857-v01-2013-05.7z&can=2&q= Stažený balíček stačí rozbalit, je sbalen programem 7zip, takže pokud nemáme v PC podporu tohoto programu, musíme nejdříve stáhnout a nainstalovat například odsud http://www.7-zip.org/download.html Po spuštění Pinguino IDE nadefinujeme nejprve desku. V našem případě je to GENERIC32MX250F128 (nebo GENERICMX220F032 pokud jsme použili nejmenší možnou verzi tohoto CPU).

pinguinoboard.png
volba desky v Pinguino IDE

V sekci ke stažení je zde k dispozici testovací projekt pro LED matici. Stáhneme jej a v Pinguino IDE otevřeme soubor ledmatrixtest.pde. Poté stiskneme klávesu F5 (compile) a po zobrazení informace o správné kompilaci.

ledmatrix_compile.png
screenshot kompilace

Zkontrolujeme, že nám bliká D27 na desce jako indikace režimu bootloaderu a stiskem F6 nebo příslušné ikony pro upload nahrajeme program do desky. Po naprogramování je ihned spuštěn nahraný program, takže by mělo být vidět zobrazovaný pohyblivý text. Nyní můžeme začít zkoušet i vlastní texty a případně jiné funkce. Aktuální max. velikost zobrazeného textu je 32 znaků. Je však možné rozšíření.  
V případě, že nemáme naprogramován bootloader, potřebujeme k tomu použít běžný programátor PIC, nejlépe ten, který podporuje ISP a umí programovat řadu PIC32MX. Link na hex soubor bootloaderu je níže pro PIC32MX250F128B.

ledmatrix_assy.png
osazovací plán desky

img_5777.jpg
finální deska - rotující text "ELEKTROTABOR 2013" viz testovací SW

ledmatrix_top.png
strana součástek

ledmatrix_bot.png
 strana spojů


Předlohy jsou společně v ZIPu, zde pouze náhled.

Potřebné soubory naleznete v sekci ke stažení

Zájemci o programování v čistém C v prostředí MPLAB(MPLABX), tj. mimo Pinguino, mohou využít plně výkonu a možností procesoru. K ladění aplikací v MPLAB(X) pomocí např. ICD3, je určen programovací konektor J1.

73! Robin OK2UWQ






Počet shlédnutí: 2030