LINUXSOFT.cz Přeskoč levou lištu
Uživatel: Heslo:  
   CZUKPL

> Picaxe III – příklady zapojení

logo procesory Dalším dílem série o programovaní PICAXE bych rád navázal na dosavadní články. Tato část předpokládá zvládnutí základů zapojení, včetně navázání komunikace s mikročipem viz kapitola II. Obvody které uvidíte níže nejsou nijak složité. Jsou to poměrně oblíbené schémata mezi amatérskou veřejností, člověk se na nich naučí programovat mikročip, zároveň je to zábava za pár korun. Uvedené příklady prosím berte jako příklady zapojení. Není to žádné dogma programování, jde tu spíš o ukázku funkce. Také doporučuju si s programy trochu pohrát, zkusit měnit hodnoty, popřípadě si kód doplnit. Ve spodní části článku jsou uvedené vysvětlivky, které se můžou hodit. Pokud tedy máte programátor a zvládnete rozblikat ledku, vrhneme se rovnou na věc.

21.3.2013 00:00 | Martin Juráš | Články autora | přečteno 12839×

Posuvný bod

Jedno ze zábavných digitálních zapojení pro amatéry je posuvný bod. Je to zapojení několika led-diod k mikročipu a naprogramování nějaké výstupní sekvence blikání diod. Zpravidla se použije nějaká jednoduchá programová smyčka, která se většinou opakuje pořád dokola. Je jedno, jestli se budete držet přesně zdrojového kódu, můžete si vymyslet klidně vlastní sekvenci, meze se nekladou. Mějte prosím na paměti, že mikrochip má omezený celkový výstupní proud* tzn že v momentě, kdy rozsvítíte všechny led-diody může dojít k poškození chipu. Je jedno, jestli se jedná o proud, který teče ven z chipu a nebo dovnitř. Pro chip picaxe-18X platí údaje viz. vysvětlivky.

Zdrojový kód

main:

for b1 = 0 to 5

high b1
pause 250
low b1

next b1

for b1 = 5 to 1 STEP -1 ;smycka pro sekvenci ledek
;posuv zpet od 5ti k nule

high b1
pause 250
low b1

next b1

goto main

Tělo programu začíná návěstím main: . Na posledním řádku je příkaz nepodmíněného skoku goto na návěstí main a tím se bude program opakovat pořád dokola. Celý efekt programu tvoří dvě obyčjné smyčky for - next, které budou posouvat světelný bod z jednoho konce na druhý a pak zase zpět. Příkazy high a low jsou určené pro výstupní piny O0 až O7 (output 0-7 viz obr.). Jako argument zde máme proměnnou b1, která určuje dobu svitu pro diodu, konkrétně 250 milisekund*.

Změna jasu diody

Docela pěkné zapojení získáme, když napíšeme program pro změnu jasu led-diody. Využíváme tady tzv. PWM* modulaci. Na výstupním pinu se nám při nějaké frekvenci střídá logická 1 a logická 0 při určitém poměru. Čím je poměr log 1 větší k log 0, tím je jas diody jasnější. Jelikož je dioda přepínaná při velké frekvenci, lidské oko nic nepozná. Změnu této střídy budeme subjektivně vnímat jako změnu jasu. Všiměte si, že je led-dioda zapojená přes bipolární tranzistor. Dioda potřebuje pro svoji funkci poměrně vysoký proud, který nemůže výstupní pin dodat. Kdyby jsme připojili led-diodu k chipu napřímo, mohli by jsme ho poškodit.

Zdrojový kód

main:

for b1 = 0 to 50

pwmout 3,50,b1
pause 20

next b1

goto main

Program začíná návěstím main a na posledním řádku se zacyklí. Smyčku for – next znáte z předešlého příkladu, stejně tak příkaz pause, kdy se procesor zacyklí na 20 milisekund. Příkaz pwmout slouží pro výstupní pin, na kterém vznikne PWM signál. První parametr příkazu nám slouží pro udání pinu (v našem případě pin 3), druhý parametr slouží pro nastavení délky periody modulace (v rozmezí 0-255). Na třetím místě je proměnná b1, jedná se o plnění pwm modulace, která udává, jak dlouhý bude stav výtupu v nulové úrovni (od 0 – 1023). Tady doporučuju si s programem pohrát a zaexperimentovat s hodnotama. Pokud máte vysokosvítivou ledku, vznikne celkem pěkný efekt. Podobné prográmky se používají např. v reklamních tabulích apod.

Ovládání servomotoru

Dnešním předposledním zapojením je ovládání servomotoru. Picaxe je chip určený mimo jiné k programování amatérských robotů a proto bude dobré zmínit, jak se dá v tomto případě využít. Servomotor je speciální druh motoru, který se používá například v modelářství (ovládání klapek letadla, řízení modelů aut) Má rozsah pohybu většinou 180 až 210 stupňů a jeho poloha se ovládá pomocí digitálního signálu, který náš chip umí vygenerovat. Podobnými příkazy, které nám výrobci předprogramovali máme ušetřenou práci a ve skutečnosti ani nemusíme vůbec znát logiku ovládání servomotoru.

Zdrojový kód:

main:

servo 0,75
pause 2000
servo 0,150
pause 2000
servo 0,225
pause 2000

goto main

Ke zdrojovému kódu: příkaz servo má dva parametry, první jak jistě tušíte určuje výstupní pin, na kterém je motor motor připojený, druhý parametr je v rozsahu čísel čísel od 75 do 225, který udává jeho polohu v celém rozsahu chodu. v celém rozsahu chodu.

Ovládání servomotoru pomocí potenciometru

Nic nám nebrání ovládat servomotor na základě vyhodnocení nějakých vstupních veličin. Náš chip má poměrně užitečný A/D* převodník, takže ho použijeme pro ovládání servomotoru. Schéma je stejné jako předchozí, navíc je rozšířené o potenciometr. Ten bude připojený na vstupní pin chipu, kdy se na něm bude snímat napětí, to se převede na číselnou hodnotu za pomocí A/D A/D převodníku a ta bude sloužit pro nastavení polohy serva. Celý proces bude ve smyčce, pootočení hřídelky potenciometru tak bude mít přímou odezvu na nastavení polohy servomotoru. Podobně se ovládají napříkad klapky letadel RC modelů, nebo různé auta na dálkové ovládání atd.

Zdrojový kód

main:

readadc 0,b1

b1 = b1 * 10 / 17
b1 = b1 + 75

servo 0,b1

goto main

Prvním parametrem příkazu readadc je vstup, na kterém se budou načítat analogové hodnoty. Druhý parametr slouží k zadání proměnné pro ukládání hodnot. Všiměte si ještě řádků, kde se počítá proměnná b1. Jde tady hlavně o to, abychom se dostali do rozmezí od hodnoty 75 do 225, pro příkaz servo.

Vysvětlivky:

Výstupní proud: musíme mít na paměti, že mikročip není žádná výkonová součástka a slouží jenom k řízení obvodu. Toť jeho funkce. Je to vlastně mozek, který je schopný rozhodovat se nezávisle na okolí. Tato mikroelektronika je schopná dodat výstupní proud v řádech miliamper. Pokud tuto hladinu překročíme, dojde ke zničení obvodu. Pro picaxe 18x (pic 16f88) platí:

Celkový výstupní proud chipu : 200mA
Maximální proud skrze port : 100mA
Maximální proud skrze pin : 25mA

PWM: z anglického pulse-width modulation neboli pulzně šířková modulace je typ binárního signálu, který slouží většinou pro ovládání nějakého zařízení. Jedná se o pravidelné střídání logické 0 a 1 při vysoké frekvenci a mění se zde poměr pulzu vysoké úrovně k nízké.

Milisekunda: milisekunda je tisícina sekundy, v elektrotechnických výpočtech poměrně častá jednotka. Jedná se o 0.001 (10-3s).

A/D převodník: je to převodník z analogových veličin na hodnoty digitální. Takovým příkladem je třeba vstup pro mikrofon na zvukové kartě, kdy se analogový signál z mikrofonu mění na číslicový pro následné zpracování počítačem.

Verze pro tisk


Informace o autorovi: Student 1.ročníku VŠB v Ostravě, obor informační a komunikační technologie, se zájmem o elektroniku, především číslicovou techniku, programování a hw.
pridej.cz

 

DISKUZE

Nejsou žádné diskuzní příspěvky u dané položky.



Příspívat do diskuze mohou pouze registrovaní uživatelé.
> Vyhledávání software
> Vyhledávání článků

5.3.2017 19:12 /Redakce Linuxsoft.cz
PR: 23. března proběhne v Praze konferenci na téma Cloud computing v praxi. Hlavními tématy jsou: Nejžhavější trendy v oblasti cloudu a cloudových řešení, Moderní cloudové služby, Infrastruktura současných cloudů, Efektivní využití cloudu, Nástrahy cloudových řešení a jak se jim vyhnout.
Přidat komentář

27.2.2017 22:12 /František Kučera
Pozvánka na 137. sraz OpenAlt – Praha: Tentokrát jsme si pro vás připravili neobvyklou akci. Ve středu 1.3. v 17:30 nás přivítá sdružení CZ.NIC ve svých prostorách v Milešovské ulici číslo 5 na Praze 3, kde si pro nás připravili krátkou prezentaci jejich činnosti. Následně navštívíme jejich datacentrum pod Žižkovskou věží. Provedou nás prostory, které jsou běžnému smrtelníkovi nedostupné!
Po ukončení prohlídky se všchni odebereme do hostince U vodoucha, Jagelonská 21, Praha 3 pochutnat si na některém z vybraných piv či dát si něco na zub. Rezervaci máme od 19:30, heslo je OpenAlt.
Ale pozor! Do prostor datového centra máme omezený přístup, dostane se tam pouze 10 lidí! Takže kdo přijde dříve, ten má přednost, a občanky s sebou! Kdo nebude chtít na prohlídku datového centra, může se pomalu přesunout do hostince U vodoucha a u nepřeberné nabídky piv počkat na ostatní.
Přidat komentář

18.1.2017 0:49 /František Kučera
Členové a příznivci spolku OpenAlt se pravidelně schází v Praze a Brně. Fotky z pražských srazů za uplynulý rok si můžete prohlédnout na stránkách spolku. Příští sraz se koná už 19. ledna – tentokrát je tématem ergonomie ovládání počítače – tzn. klávesnice, myši a další zařízení. Také budete mít příležitost si prohlédnout pražský hackerspace Brmlab.
Přidat komentář

8.1.2017 17:51 /František Kučera
Máš rád svobodný software a hardware nebo se o nich chceš něco dozvědět? Přijď na sraz spolku OpenAlt, který se bude konat ve čtvrtek 19. ledna od 18:30 v pražském hackerspacu Brmlab. Tentokrát je tématem srazu ergonomie ovládání počítače – tzn. klávesnice, myši a další zařízení. K vidění bude mechanická klávesnice dasKeyboard, trackball Logitech nebo grafický tablet (a velký touchpad) Wacom. Přineste i vy ukázat svoje zajímavé klávesnice a další HW. V 18:20 je sraz před budovou, v 18:30 jdeme společně dovnitř, je tedy dobré přijít včas. Podle zájmu se později přesuneme do nějaké restaurace v okolí.
Přidat komentář

1.12.2016 22:13 /František Kučera
Máš rád svobodný software a hardware nebo se o nich chceš něco dozvědět? Přijď na sraz spolku OpenAlt, který se bude konat ve čtvrtek 8. prosince od 18:00 v Radegastovně Perón (Stroupežnického 20, Praha 5). Sraz bude tentokrát tématický. Bude retro! K vidění budou přístroje jako Psion 5mx nebo Palm Z22. Ze svobodného hardwaru pak Openmoko nebo čtečka WikiReader. Přijďte se i vy pochlubit svými legendami, nebo alespoň na pivo. Moderní hardware má vstup samozřejmě také povolen.
Komentářů: 1

4.9.2016 20:13 /Pavel `Goldenfish' Kysilka
PR: Dne 22.9.2016 proběhne v Praze konference Cloud computing v praxi. Tématy bude např. nejnovější trendy v oblasti cloudu a cloudových řešení, provozování ERP v cloudu, o hostování různých typů softwaru, ale třeba i o zálohování dat nabízeném podnikům formou služby.
Přidat komentář

1.9.2016 11:27 /Honza Javorek
Česká konference o Pythonu, PyCon CZ, stále hledá přednášející skrz dobrovolné přihlášky. Máte-li zajímavé téma, neváhejte a zkuste jej přihlásit, uzávěrka je již 12. září. Konference letos přijímá i přednášky v češtině a nabízí pomoc s přípravou začínajícím speakerům. Řečníci mají navíc vstup zadarmo! Více na webu.
Přidat komentář

27.8.2016 8:55 /Delujek
Dnes po 4 letech komunitního vývoje vyšla diaspora 0.6.0.0
diaspora* je open-source, distribuovaná sociální síť s důrazem na soukromý
Více v oficiálním blog-postu
Přidat komentář

   Více ...   Přidat zprávičku

> Poslední diskuze

24.3.2017 11:54 / Hui
country cottages

16.3.2017 16:33 / BezvaDesign.cz
Re: Hledám grafika do teamu

9.3.2017 11:44 / Jaromir Obr
Re: chyba

18.1.2017 20:18 / martin horky
Spolupraca linuxu a microsoftu

17.1.2017 9:57 / Pavel Hrubeš
Re: Externí USB televizní karta

Více ...

ISSN 1801-3805 | Provozovatel: Pavel Kysilka, IČ: 72868490 (2003-2017) | mail at linuxsoft dot cz | Design: www.megadesign.cz | Textová verze