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 13305×

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ů

15.5.2017 23:50 /František Kučera
Máš rád svobodný software a hardware nebo se o nich chceš něco dozvědět? Zajímá tě DIY, CNC, SDR nebo morseovka? Přijď na sraz spolku OpenAlt, který se bude konat ve čtvrtek 18. května od 18:00 v Radegastovně Perón (Stroupežnického 20, Praha 5).
Přidat komentář

12.5.2017 16:42 /Honza Javorek
PyCon CZ, česká konference o programovacím jazyce Python, se po dvou úspěšných ročnících v Brně bude letos konat v Praze, a to 8. až 10. června. Na konferenci letos zavítá např. i Armin Ronacher, známý především jako autor frameworku Flask, šablon Jinja2/Twig, a dalších projektů. Těšit se můžete na přednášky o datové analytice, tvorbě webu, testování, tvorbě API, učení a mentorování programování, přednášky o rozvoji komunity, o použití Pythonu ve vědě nebo k ovládání nejrůznějších zařízení (MicroPython). Na vlastní prsty si můžete na workshopech vyzkoušet postavit Pythonem ovládaného robota, naučit se učit šestileté děti programovat, efektivně testovat nebo si v Pythonu pohrát s kartografickým materiálem. Kupujte lístky, dokud jsou.
Přidat komentář

2.5.2017 9:20 /Eva Rázgová
Putovní konference československé Drupal komunity "DrupalCamp Československo" se tentokrát koná 27. 5.2017 na VUT FIT v Brně. Můžete načerpat a vyměnit si zkušenosti z oblasti Drupalu 7 a 8, UX, SEO, managementu týmového vývoje, využití Dockeru pro Drupal a dalších. Vítáni jsou nováčci i experti. Akci pořádají Slovenská Drupal Asociácia a česká Asociace pro Drupal. Registrace na webu .
Přidat komentář

1.5.2017 20:31 /Pavel `Goldenfish' Kysilka
PR: 25.5.2017 proběhne v Praze konference na téma Firemní informační systémy. Hlavními tématy jsou: Informační systémy s vlastní inteligencí, efektivní práce s dokumenty, mobilní přístup k datům nebo využívání cloudu.
Přidat komentář

15.4.2017 15:20 /František Kučera
Máš rád svobodný software a hardware nebo se o nich chceš něco dozvědět? Zajímá tě IoT a radiokomunikace? Přijď na sraz spolku OpenAlt, který se bude konat ve středu 19. dubna od 18:30 v Šenkovně (Sokolská 60, Praha 2).
Přidat komentář

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ář

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

> Poslední diskuze

1.8.2017 7:32 / Cassidy
structural consultants

30.7.2017 11:12 / Jaromir Obr
Národní znaky

27.7.2017 12:24 / Jaromir Obr
Cteni/zapis

26.7.2017 21:12 / Jaromir Obr
Podminka

15.6.2017 9:34 / Ondřej Havlas
php,

Více ...

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