Raspberry Pi 19) Krabička na RasPI
S krabičkou už jsem se vytahoval na "Raspi.cz fóru", tak se tady o ní trochu rozepíšu.
Aby se mi neválela deska jen tak na stole, zavřel jsem jí
do této krabičky z GM elektronics: U-KP43B Zbylou elektroniku jsem bastlil na univerzálním plošňáku
: 160x100 RM 2,54. Zbytek věcí už byly jen nějaké drobnosti (konektory, kolíkové a dutinkové lišty, distanční sloupky k displeji...). Co se týče elektroniky, obsahuje krabička následující bloky : První expander MCP23017: Jedna jeho polovina se stará o obsluhu klávesnice, druhá půlka ovládá LEDky u displeje, pípák, tlačítko od joysticku a LEDku, která signalizuje bootování Raspíčka. Jeden bit tam mám v rezervě. Druhý expander má celou jednu polovinu vyvedenou na zadní
konektor, kam je možné připojovat další periférie. Každý z
bitů se může nastavit jako vstupní, nebo jako výstupní. Programově
se dá řídit i připojení Pull-Up rezistorů při vstupním režimu
expanderu. HEF4066 bude sloužit pro ovládání pohonu montáže dalekohledu. Asi by bylo možné ten pohon ovládat jen obyčejnými logickými signály, ale když už jsem měl tu 4066, tak jsem jí použil. Bude tím zajištěné i bezpečné oddělení ovládání dalekohledu od Raspíčka. Dále je tam osmikanálový A/D převodník. Jeho 3 kanály
budou sloužit pro připojení joysticku (dva pro směr a jeden pro tlačítko). S jeho pomocí se bude ručně
dalekohled nastavovat na referenční souřadnice. Bylo by sice možné
použít pro ruční míření původní ovladač k dalekohledu, ale protože
při změně směru posunu dalekohledu dochází k "mrtvému
chodu", musím dát raspíčku nějakou informaci o tom, kterým směrem
se pohybovalo naposled před dosažením referenční polohy. Takže ruční
ovládání bude přes RasPi, které si ten poslední směr pak bude
pamatovat. Komunikace I2C: Další drobná "vychytávka", kterou jsem vymyslel sám, je LEDka, která bliká při spouštění systému. Když systém nabíhá, není totiž navenek nic vidět. Na displeji není možné zobrazit žádné upozornění, dokud celý systém nenaběhne. To trvá docela dlouho (asi minutu a půl). Chtěl jsem, aby LEDka blikala POUZE při startu systému. Po nastartování a i po ukončení běhu jsem chtěl, aby zůstala zhasnutá. Nakonec jsem využil toho, že výstupy expanderu se chovají tak, že dokud se jim nepošle příkaz pro nastavení, zůstávají ve stavu odpojeného výstupu. Po ukončení komunikace si ale pamatují na vývodech poslední stav. Takže jsem pomocí dvojitého NPN tranzistoru vytvořil funkci, která má při odpojeném vstupu na konci sepnutý stav, ale když se na vstup přivede logická "1", výstup se rozpojí. Logická jednička je okamžitě po nastartování systému zajišťována jedním z pinů expanderu a i po ukončení systému na tom pinu tato "1" setrvává, takže LEDka už nebliká. Rozblikání LEDky je pak možné až zas v okamžiku, kdy dojde k resetu expanderu (vypnutí a zapnutí napájení) a tím uvedení jeho výstupu do "odpojeného" stavu. Protože jsem použil "samoblikací" LED, nemusel jsem se už starat o nějaký přerušovač. Podobná, ale úplně opačná funkce je "Zhasínání
podsvětu displeje při ukončení systému". Do krabičky jsem chtěl ještě přidělat potenciometr
pro plynulou změnu jasu displeje, aby mne při nočním pozorování
neoslňoval. Jenže už jsem tam neměl moc místa. Tak jsem to nakonec vyřešil
jen malým přepínačem. Ten do série s podsvětem připojí odpor, který
podsvět hodně zeslabí. Přímo v krabičce mám jeden digitální teploměr DS18B20. Další teploměry je možné připojit do rozšiřujícího konektoru na krabičce. Tady je popis jednotlivých částí 1) GPIO expander s adresou 0x20. Stará se o obsluhu maticové klávesnice, 4 LEDek vedle klávesnice, zapínání pískáku, čtení stavu tlačítka na
joysticku a vypínání blikací ledky po startu RasPI. Schéma:
A tady jsou fotky: Některé fotky už nejsou úplně aktuální - od doby, kdy byly pořízeny, jsem krabičku ještě trochu vylepšil. Zvenku přibyl ještě jeden konektor a vnitřní zapojení jsem také trochu předělal.
A na závěr ještě jedno video: http://youtu.be/hOjojmWsauU
|
úvodní strana webu AstroMiK.org |
|
poslední úprava stránky 23.11.2012 |