|
|
(Není zobrazeno 17 mezilehlých verzí od 1 uživatele.) |
Řádka 1: |
Řádka 1: |
− | [[Soubor:MAT-POZADAVKY-PRA-ROBOT-UMIK.jpg|thumb|Robot Umík]]
| + | {| class="toccolours" cellpadding="5" style="float: right; clear: right; margin: 0 0 1em 1em; font-size: 85%; width: 30em" |
| + | | colspan="2" style="text-align: center; font-size: larger; background-color: lightgreen;" | '''''PICAXE''''' |
| | | |
− | [[Soubor:PICAXE_18.jpg|thumb|PICAXE 18 z PIC16F88]]
| + | |- style="vertical-align: top;" |
| + | | |
| | | |
− | [[Soubor:PICAXE_01.jpg|thumb|Zapojení programovacího konektoru]] | + | Download SW: |
| + | [https://picaxe.com/software/obsolete/picaxe-programming-editor/index.html PICAXE] |
| + | [http://www.picaxe.com/Software/PICAXE/PICAXE-Programming-Editor/ PICAXE] |
| + | [http://www.picaxe.com/Software/PICAXE/AXEpad/ AXEpad] |
| | | |
− | [[Soubor:Robot-umík-sch.jpg|thumb|Schéma zapojení robota Umíka]]
| + | Tutoriály: |
| | | |
− | [[Soubor:Robot-umík-dps.jpg|thumb|Deska plošných spojů]] | + | * [[Soubor:programujte.jpg|200px|link=http://programujte.com/clanek/2010082700-programovani-picaxe-uvod/]] |
| | | |
− | == Základní příkazy a syntaxe: ==
| + | [http://programujte.com/clanek/2010082700-programovani-picaxe-uvod/ Programování PICAXE] |
| + | * [[Soubor:Icon-pdf.gif]] [[:Media:PICAXE-2-220_man_cz.pdf|PICAXE – příručka programátora]] [http://www.hobbyrobot.cz/PDF/PICAXE_basic_man_cz.pdf mirror] |
| + | * [[Soubor:hobbyrobot.jpg|200px|link=http://www.hobbyrobot.cz/mikrokontrolery/prikazy-jazyka-basic/]] |
| | | |
− | <source lang="qbasic">
| |
− |
| |
− | REM Tohle je první jednoduchý program
| |
| | | |
− | start: pause 1000
| + | [http://www.hobbyrobot.cz/mikrokontrolery/prikazy-jazyka-basic/ Syntaxe jazyka BASIC] |
| + | * [[PICAXE - BASIC commands]] |
| + | * [http://www.joliebrisemodels.co.uk/picaxe/ PICAXE - Microprocessor Tutorial] |
| | | |
− | goto start
| |
− |
| |
− | </source>
| |
| | | |
| + | {{#widget:YouTube|id=fRvAgDKbAD0|height=180|width=240|Popis|right}} |
| | | |
− | == Náměty:== | + | {{#widget:YouTube|id=_veeeMj-64Q|height=180|width=240|Popis|right}} |
| + | |} |
| | | |
− | {| | + | {| class="toccolours" cellpadding="5" style="float: right; clear: right; margin: 0 0 1em 1em; font-size: 85%; width: 30em" |
− | |-
| + | | colspan="2" style="text-align: center; font-size: larger; background-color: lightgreen;" | '''''Tasks''''' |
− | | '''Běžící had'''
| + | |
− | [[Soubor:PICAXE_bezici_had.jpg|200px]] [[:Soubor:Ukáza programu.jpg|Ukázka]]
| + | |
− | | | + | |
− | <source lang="qbasic">
| + | |
− | main: pins = %11111111 ;zhasne všechny diody main:
| + | |
| | | |
− | pause 1000
| + | |- style="vertical-align: top;" |
− | low 0 pause 200 high 0 ;postupně přepíná s 200 ms pauzou
| + | |
− | low 1 pause 200 high 1
| + | |
− | low 2 pause 200 high 2
| + | |
− | low 3 pause 200 high 3
| + | |
− | low 4 pause 200 high 4
| + | |
− | low 5 pause 200 high 5
| + | |
− | low 6 pause 200 high 6
| + | |
− | low 7 pause 200 high 7
| + | |
− | goto main
| + | |
− | </source>
| + | |
− | |- | + | |
− | | '''Robot Umík'''
| + | |
− | [[Soubor:MAT-POZADAVKY-PRA-ROBOT-UMIK.jpg|200px]]
| + | |
| | | | | |
− | je postaven na podvozku UMU-01 Lze sestavit v konfiguraci stopař pro sledování čáry nebo minisumo
| + | # [http://www.linuxsoft.cz/article.php?id_article=1971 Posuvný bod] |
− | * Čidlo okraje arény: 2x QRD1114 pro Minisumo
| + | # [http://www.linuxsoft.cz/article.php?id_article=1971 Změna jasu diody] |
− | * Čidlo čáry: 3x QRD1114 pro sledování čáry
| + | # [http://www.bristolwatch.com/picaxe/picaxe_led_display.htm Using 7-Segment Displays] |
− | * Čidlo soupeře / překážky: SFH5110 + 2x IR-LED20
| + | # [http://www.bristolwatch.com/picaxe/74hc164_demo.htm Using the 74HC165 Shift Register] |
− | * Elektronika s PICAXE-18X
| + | # [http://www.bristolwatch.com/picaxe/picaxe_h_bridge.htm H-Bridge DC Motor Control] |
− | * Programování v Basicu
| + | # [http://www.bristolwatch.com/picaxe/myservo.htm Connecting a Servo] |
− | * Ovládání motorů můstkem L293D
| + | # [[Soubor:Icon-pdf.gif]] [http://www.picaxe.com/docs/axe105.pdf ELECTRONIC DICE] |
− | * [[Soubor:Icon-pdf.gif]] [[:Soubor:Robot-Umík-dokumentace.pdf|dokumentace]]
| + | # [[Soubor:Icon-pdf.gif]] [http://www.picaxe.com/docs/axe120.pdf PICAXE MICRO-ROBOT] |
− | | + | # [[Soubor:Icon-pdf.gif]] [http://letsmakerobots.com/files/lmr-Start.pdf How to make your first Robot] |
− | |-
| + | |
− | | [[Soubor:technologystudent.gif|200px]]
| + | |
− | | [http://www.technologystudent.com/pics/picdex1.htm PICAXE MICROCONTROLLERS]
| + | |
− | |-
| + | |
− | | [[Soubor:PICAXE-dataloger.jpg|200px]]
| + | |
− | | [http://profmason.com/?page_id=99 PicAXE data logger] [http://profmason.com/wp-content/uploads/2006/11/datalogger.txt source]
| + | |
− | |-
| + | |
− | | + | |
− | | + | |
| | | |
| |} | | |} |
| | | |
− | == Příkazy: ==
| |
| | | |
− | =====Abecední seznam příkazů=====
| + | [[Soubor:PICAXE_18.jpg|thumb|PICAXE 18 z PIC16F88]] |
| + | [[Soubor:PICAXE_01.jpg|thumb|Zapojení programovacího konektoru]] |
| | | |
− | '''backward''' (použitelné pro PICAXE: 18, 18A, 18X, 28A, 28X, 40X)<br />
| |
| | | |
− | ''syntaxe:''
| + | <gallery> |
− | BACKWARD motor
| + | Soubor:D10_HW_picaxe_01.jpg|PICAXE - vývojová deska |
− | - motor je A nebo B<br /> | + | Soubor:D10_HW_picaxe_02.jpg|PICAXE - popis vývojové desky |
| + | Soubor:ProfiCAD_PICAXE.png|PICAXE - blokové schéma |
| + | Soubor:D10_HW_picaxe_03.jpg|PICAXE - schéma vývojové desky |
| + | </gallery> |
| | | |
− | ''funkce:''
| + | <gallery> |
− | Spustí otáčení motoru dozadu. Tento příkaz je ekvivalentní low 4, high 5 pro motor A, nebo low 6, high 7
| + | Soubor:MAT-POZADAVKY-PRA-ROBOT-UMIK.jpg|Robot Umík |
− | pro motor B.
| + | Soubor:Umik-popis.png|Umík - popis |
− | Bude fungovat správně na desce UMU rev. C (vyrobené v roce 2007). A je levý motor, B je pravý motor.<br /><br />
| + | Soubor:Umik-blok-schema.png|Umík - blokové schéma |
| + | Soubor:Robot-umík-sch.jpg|Schéma zapojení robota Umíka |
| + | Soubor:Robot-umík-dps.jpg|Deska plošných spojů |
| + | </gallery> |
| | | |
− | '''branch''' (použitelné pro všechny typy PICAXE)<br />
| + | <Gallery> |
| + | Soubor:PICAXE-vyv-diagram_01.jpg|Blik |
| + | Soubor:PICAXE-vyv-diagram_02.jpg|DICE |
| + | Soubor:PICAXE-vyv-diagram.jpg|2x IN, 2 x OUT |
| + | </gallery> |
| | | |
− | ''syntaxe:''
| + | == Náměty:== |
− | BRANCH offset,(address0,address1...addressN)
| + | |
− | - offset je proměnná, určující na kterou adresu (0-N) se má skočit.
| + | |
− | - adresy (address) jsou návěští, na která se větví program podle hodnoty proměnné offset.<br />
| + | |
| | | |
− | ''funkce:''
| + | <gallery> |
− | Tento příkaz umožňuje větvení programu podle proměnné offset. Pokud je její hodnota 0, skočí se na
| + | Image:D10 HW PICAXE-08M.jpg| [[PICAXE]]-08M MCU pro programování v Basicu. [http://shop.snailinstruments.com/index.php?main_page=advanced_search_result&search_in_description=1&zenid=f7ce17dec68c901d159d6c3ad334677f&keyword=picaxe] |
− | první návěští, pokud je hodnota 1, skočí se na druhé atd. Pokud je hodnota větší nežli odpovídá
| + | </gallery> |
− | poslednímu uvedenému návěští, neprovede se žádný skok a program pokračuje na dalším řádku.<br /><br />
| + | |
| | | |
− | '''button''' (použitelné pro všechny typy PICAXE)<br /> | + | {| |
| + | |- |
| + | | '''PICAXE8 LED''' |
| + | [[Soubor:PICAXE-PICAXE80.jpg|200px]] |
| + | [[Soubor:PICAXE-PICAXE80_1.jpg|200px]] |
| + | | |
| + | <source lang="qbasic"> |
| + | init: |
| + | let b0 = 0 |
| + | |
| + | main: |
| + | if pin3 = 1 then add 'i/o pin 3 = physical ic pin 4 |
| + | if pin3 = 0 then low 1 |
| + | endif |
| + | goto main |
| + | |
| + | add: |
| + | pause 100 |
| + | let b0 = b0 + 1 |
| + | if b0 < 5 then main |
| + | high 1 'i/o pin 1 = physical pin 6 |
| + | goto main |
| + | </source> |
| + | [http://www.joliebrisemodels.co.uk/picaxe/ PICAXE Microprocessor Tutorial] |
| + | |- |
| + | | '''PICAXE81''' |
| + | [[Soubor:PICAXE-PICAXE81.jpg|200px]] |
| + | | |
| + | <source lang="qbasic"> |
| | | |
− | ''syntaxe:''
| + | </source> |
− | BUTTON pin,downstate,delay,rate,bytevariable,targetstate,address<br />
| + | [ info] |
| | | |
− | ''funkce:''
| + | |- |
− | Příkaz ke čtení tlačítka, odstranění zákmitů a simulaci opakovaného stisku (autorepeat). Aby správně
| + | |} |
− | fungoval, musí být periodicky vykonáván.<br /><br />
| + | |
| | | |
− | '''calibfreq''' (použitelné pro PICAXE: 08M, 18A, 18X)<br />
| + | <gallery> |
| + | Image:D10_HW_picaxe.jpg| Modul s [[PICAXE]]-18X. Programování v Basicu a [[SD20]]. [http://shop.snailinstruments.com/index.php?main_page=advanced_search_result&search_in_description=1&zenid=f7ce17dec68c901d159d6c3ad334677f&keyword=picaxe] |
| + | </gallery> |
| | | |
− | ''syntaxe:''
| |
− | CALIBFREQ {-} factor
| |
− | - factor je konstanta nebo proměnná, nabývající hodnot -31 až 31<br />
| |
| | | |
− | ''funkce:''
| |
− | Slouží k jemnému doladění interního oscilátoru. Po zapnutí napájení má konstanta hodnotu 0. Kladné
| |
− | hodnoty zvyšují kmitočet, záporné hodnoty snižují kmitočet oscilátoru.
| |
− | Tento příkaz má smysl pouze u mikrokontrolérů s interním oscilátorem – 08M, 18A a 18X.<br /><br />
| |
| | | |
− | '''count''' (použitelné pro PICAXE: 08M, 18X, 28X, 40X)<br />
| |
| | | |
− | ''syntaxe:'' | + | {| |
− | COUNT pin, period, variable
| + | |- |
− | - pin je proměnná nebo konstanta, určující, na kterém vstupu se počítají impulsy.
| + | | '''LED blikání''' |
− | - period je proměnná nebo konstanta, určující dobu měření (1-65535 ms při frekvenci oscilátoru 4
| + | [[Soubor:PICAXE_LED.jpg|200px]] |
− | MHz).
| + | | |
− | - variable je proměnná, do které se zaznamená výsledek (přednostně proměnná word – s rozsahem
| + | <source lang="qbasic"> |
− | 0-65535).<br /> | + | main: |
| + | |
| + | low 0 ' PIN 0 set OFF, LED will be shine |
| + | ' linka 0 se vynuluje, LED bude svítit |
| + | pause 500 ' wait 500 ms/ čekání 500 ms |
| + | high 0 ' PIN 0 set ON, LED will not be shine |
| + | ' linka 0 se nastavi do log. "1", LED nebude svítit |
| + | pause 500 ' čekání 200 ms |
| | | |
− | ''funkce:'' | + | GOTO main 'jump to label main |
− | Slouží k čítání impulsů na vstupu, počítá vzestupné hrany na určeném vstupu. Nejvyšší měřitelná
| + | 'skok na návěští main |
− | frekvence vstupního signálu je 25 kHz (pokud je střída signálu 1:1) pro frekvenci oscilátoru 4MHz.<br /><br />
| + | </source> |
| + | |- |
| | | |
− | '''debug''' (použitelné pro všechny typy PICAXE)<br />
| |
| | | |
− | ''syntaxe:''
| |
− | DEBUG {var}
| |
− | - var je nepovinná proměnná, uvedená pouze z důvodu zpětné kompatibility, její hodnota nemá
| |
− | žádný vliv.<br />
| |
| | | |
− | ''funkce:'' | + | | '''Běžící had''' |
− | Zobrazí hodnoty všech proměnných v ladícím okně na monitoru PC. Musí být připojen komunikační
| + | [[Soubor:PICAXE_bezici_had.jpg|200px]] |
− | kabel. Vzhledem k množství přenášených dat tento příkaz značně zpomaluje běh programu. Rychlejší
| + | |
− | selektivní výpis ladících informací umožňuje příkaz SERTXD.<br /><br />
| + | |
| | | |
− | '''data eeprom''' (použitelné pro všechny typy PICAXE)<br />
| + | [[Soubor:Ukáza programu.jpg|Ukázka|200px]] |
| + | | |
| + | <source lang="qbasic"> |
| | | |
− | ''syntaxe:''
| + | pins = %11111111 ;zhasne všechny diody |
− | DATA {location},(data,data...)
| + | main: |
− | EEPROM {location},(data,data...)
| + | |
− | - location je nepovinná konstanta (0-255), určující počáteční adresu paměti eeprom, kam se budou
| + | |
− | ukládat data. Pokud není počáteční adresa uvedena, ukládání pokračuje tam, kde předchozí
| + | |
− | příkaz skončil. Při prvním použití příkazu se začíná na adrese 0.
| + | |
− | - data jsou konstanty (0-255), které budou uloženy v paměti eeprom.<br />
| + | |
| | | |
− | ''funkce:'' | + | pause 1000 ' čekání 1 000 ms = 1 s |
− | Příkazy DATA a EEPROM jsou synonyma, oba slouží k naplnění paměti eeprom konstantami při
| + | low 0 ' linka 0 se vynuluje log. "0" |
− | zavádění programu z PC. Tyto konstanty lze načíst v programu příkazem READ. Příkaz DATA či
| + | pause 200 ' čekání 200 ms |
− | EEPROM neovlivňuje délku programu.<br /><br />
| + | high 0 ' linka 0 se nastavi do log. "1" |
| + | low 1 pause 200 high 1 'dále postupně přepíná s 200 ms pauzou |
| + | low 2 pause 200 high 2 |
| + | low 3 pause 200 high 3 |
| + | low 4 pause 200 high 4 |
| + | low 5 pause 200 high 5 |
| + | low 6 pause 200 high 6 |
| + | low 7 pause 200 high 7 |
| + | goto main 'skok na návěští main |
| + | </source> |
| + | |- |
| + | | '''Robot Umík''' |
| + | [[Soubor:MAT-POZADAVKY-PRA-ROBOT-UMIK.jpg|200px]] |
| + | | |
| + | je postaven na podvozku UMU-01 Lze sestavit v konfiguraci stopař pro sledování čáry nebo minisumo |
| + | * Čidlo okraje arény: 2x QRD1114 pro Minisumo |
| + | * Čidlo čáry: 3x QRD1114 pro sledování čáry |
| + | * Čidlo soupeře / překážky: SFH5110 + 2x IR-LED20 |
| + | * Elektronika s PICAXE-18X |
| + | * Programování v Basicu |
| + | * Ovládání motorů můstkem L293D |
| + | * [[Soubor:Icon-pdf.gif]] [[:Soubor:Robot-Umík-dokumentace.pdf|dokumentace]] |
| | | |
− | '''end''' (použitelné pro všechny typy PICAXE)<br /> | + | |- |
| + | | [[Soubor:technologystudent.gif|200px]] |
| + | | [http://www.technologystudent.com/pics/picdex1.htm PICAXE MICROCONTROLLERS] |
| + | |- |
| + | | '''PICAXE02''' |
| + | [[Soubor:PICAXE-Buuton-LED.jpg|200px]] |
| + | [[Soubor:PICAXE-Button-LED_1.jpg|200px]] |
| + | | |
| + | <source lang="qbasic"> |
| + | init: b2 = 0 ' reset targetbyte before the loop |
| | | |
− | ''syntaxe:'' | + | ' input C.0, active high, jump to ‘pushed’ label when = 1 |
− | END<br />
| + | |
| | | |
− | ''funkce:''
| + | myloop: button C.0,1,200,100,b2,1,pushed ' jump to cont when C.0 = 1 |
− | Ukončí běh programu a uvede kontroler do režimu s minimální spotřebou. Obnova běhu programu je
| + | low B.7 ' output off |
− | možná pouze vypnutím napájení, přivedením nízké úrovně na vstup MCLR (resetem) nebo zavedením
| + | pause 10 ' loop delay time |
− | nového programu z PC.
| + | goto myloop |
− | Příkaz END vypíná všechny časovače, po jeho provedení se ukončí činnost příkazů PWM a SERVO a
| + | |
− | kontrolér přejde do režimu s nízkým příkonem. Pokud je tento efekt nežádoucí, lze použít příkaz STOP.<br /><br />
| + | |
| | | |
− | '''for..next''' (použitelné pro všechny typy PICAXE)<br />
| + | pushed: high B.7 ' output on |
| + | goto myloop |
| | | |
− | ''syntaxe:''
| + | </source> |
− | FOR variable = start TO end {STEP {-}increment}
| + | [http://www.picaxe.com/BASIC-Commands/Digital-InputOutput/button/ info] |
− | .. | + | |
− | příkazy programové smyčky
| + | |
− | ..
| + | |
− | NEXT {variable}
| + | |
− | - variable je proměnná, která je použita jako čítač cyklů | + | |
− | - start je počáteční hodnota čítače | + | |
− | - end je konečná hodnota čítače
| + | |
− | - increment je nepovinná hodnota kroku čítače. Pokud není uvedena použije se hodnota +1. Pokud je
| + | |
− | uvedena záporna hodnota, předpokládá se, že Start je větší nežli End a čítá se směrem dolů.<br />
| + | |
| | | |
− | ''funkce:'' | + | |- |
− | Slouží k opakovanému provádění kódu uvedeného mezi příkazy FOR a NEXT. Při použití proměnné byte
| + | | '''Push Switch''' |
− | je největší možný počet cyklů 255. Při každém provedení příkazu NEXT se hodnota čítače zvětší (nebo
| + | [[Soubor:PICAXE-Buuton-LED.jpg|200px]] |
− | zmenší) o předepsaný krok a porovná se s konečnou hodnotou End. Pokud je čítač větší (nebo menší při
| + | [[Soubor:PICAXE-Button-LED_2.jpg|200px]] |
− | záporném kroku) nežli End, smyčka se ukončí a program pokračuje dalším řádkem za NEXT. Příkaz
| + | | |
− | FOR-NEXT může mít osm úrovní vnoření.<br /><br />
| + | <source lang="qbasic"> |
| | | |
− | '''forward''' (použitelné pro PICAXE: 18, 18A, 18X, 28A, 28X, 40X)<br />
| + | init: let b0 = 0 |
| | | |
− | ''syntaxe:''
| + | main: if pinC.7 = 1 then add |
− | FORWARD motor
| + | low B.7 |
− | - motor je A nebo B<br />
| + | goto main |
| | | |
− | ''funkce:''
| + | add: pause 100 'short delay |
− | Spustí otáčení motoru dopředu. Tento příkaz je ekvivalentní high 4 low 5 pro motor A, nebo high 6 low 7
| + | let b0 = b0 + 1 |
− | pro motor B.
| + | if b0 < 5 then main |
− | Bude fungovat správně na desce UMU rev. C (vyrobené v roce 2007). A je levý motor, B je pravý motor.<br /><br />
| + | high B.7 |
| + | goto main |
| | | |
− | '''gosub''' (použitelné pro všechny typy PICAXE)<br />
| + | </source> |
| + | [http://www.picaxe.com/Circuit-Creator/Switches/Push-Switch/ info] |
| | | |
− | ''syntaxe:'' | + | |- |
− | GOSUB address
| + | | '''For..Next''' |
− | - address je návěští podprogramu, který příkaz GOSUB volá<br /> | + | [[Soubor:PICAXE-Counter.jpg|200px]] |
| + | | |
| + | <source lang="qbasic"> |
| + | symbol counter = b0 'define the variable counter |
| + | symbol dp = 7 'define pin 7 with the name dp |
| | | |
− | ''funkce:''
| + | main: |
− | Předává řízení programu na udanou adresu, po vykonání příkazu RETURN se vrátí vykonávání programu
| + | for counter = 1 to 15 'start a for...next loop |
− | na řádek následující po příkazu GOSUB. Příkaz GOSUB se liší od příkazu GOTO v tom, že uchovává
| + | high dp 'switch pin 7 high |
− | návratovou adresu. Po každém příkazu GOSUB musí následovat vykonání příkazu RETURN, jinak by
| + | pause 500 'wait for 0.5 second |
− | došlo k přeplnění zásobníku návratových adres. Příkazy GOSUB mohou mít čtyři úrovně vnoření.
| + | low dp 'switch pin 7 low |
− | Program kontrolérů 18X, 28X a 40X může obsahovat celkem 15 nebo 255 příkazů GOSUB, podle
| + | pause 500 'wait for 0.5 second |
− | nastavení v menu Options. U ostatních kontrolérů je povoleno 15, případně 16 příkazů GOSUB v celém
| + | next counter 'end of for...next loop |
− | programu.<br /><br />
| + | end 'end program |
| + | </source> |
| + | [[Soubor:Icon-pdf.gif]] [http://robotics.ee.uwa.edu.au/eyejr/pic-controller/PICAXE-tutorial.pdf info] |
| | | |
− | '''goto''' (použitelné pro všechny typy PICAXE)<br /> | + | |- |
| + | | '''PICAXE03''' |
| + | [[Soubor:PICAXE-PICAXE03.jpg|200px]] |
| + | | |
| + | <source lang="qbasic"> |
| + | symbol counter = b0 'define the variable counter |
| + | symbol dp = 7 'define pin 7 with the name dp |
| + | |
| + | main: |
| + | FOR counter = 1 TO 20 'start a for...next loop |
| + | pins = %11000000 ' symbol 0 |
| + | pause 100 'wait for 0.1 second |
| + | pins = %11111001 ' symbol 1 |
| + | pause 100 |
| + | pins = %10010100 ' symbol 2 |
| + | pause 100 |
| + | pins = %10001111 ' symbol 3 |
| + | pause 100 |
| + | pins = %10011001 ' symbol 4 |
| + | pause 100 |
| + | pins = %11101101 ' symbol 5 |
| + | pause 100 |
| | | |
− | ''syntaxe:'' | + | |
− | GOTO address
| + | NEXT counter 'end of for...next loop |
− | - address je návěští, na které se předá provádění programu – nepodmíněný skok na jiné místo v | + | END |
− | programu.<br /><br />
| + | </source> |
| + | [ info] |
| + | |- |
| + | | '''PICAXE04''' |
| + | [[Soubor:PICAXE-PICAXE04.jpg|200px]] |
| + | | |
| + | <source lang="qbasic"> |
| + | symbol counter = b0 'define the variable counter |
| + | symbol dp = 7 'define pin 7 with the name dp |
| + | w1 = %00000000 |
| | | |
− | '''halt''' (použitelné pro PICAXE: 18, 18A, 18X, 28A, 28X, 40X)<br /> | + | main: |
| + | FOR counter = 1 TO 255 'start a for...next loop |
| + | pins = w1 'start |
| + | pause 100 'wait for 0.1 second |
| + | w1 = w1 + 1 'incrementace |
| + | |
| + | NEXT counter 'end of for...next loop |
| + | END |
| + | </source> |
| + | [ info] |
| | | |
− | ''syntaxe:'' | + | |- |
− | HALT motor
| + | | '''Counter''' |
− | - motor je A nebo B<br /> | + | [[Soubor:PICAXE-PICAXE04.jpg|200px]] |
| + | | |
| + | <source lang="qbasic"> |
| + | rst: |
| + | w1 = %00000000 |
| + | pins = w1 |
| | | |
− | ''funkce:''
| + | main: if pinC.6 = 1 then rst |
− | Zastaví otáčení motoru. Tento příkaz je ekvivalentní low 4 low 5 pro motor A, nebo low 6 low 7 pro
| + | if pinC.7 = 1 then add |
− | motor B.<br /><br />
| + | goto main |
| + | |
| + | add: pause 50 ' short delay |
| + | let b0 = b0 + 1 |
| + | if b0 < 5 then main |
| + | pins = w1 ' symbol 0 |
| + | w1 = w1 + 1 |
| + | |
| + | goto main |
| + | end |
| + | </source> |
| + | [ info] |
| + | |- |
| | | |
− | '''high''' (použitelné pro všechny typy PICAXE)<br /> | + | | '''Servo''' |
| + | [[Soubor:PICAXE-PICAXE_servo.jpg|200px]] |
| + | | |
| + | <source lang="qbasic"> |
| | | |
− | ''syntaxe:'' | + | servo 4, 150 ' start servo on pin four and move to center |
− | HIGH pin
| + | |
− | - pin je proměnná nebo konstanta, označuje výstup, který se použije<br />
| + | |
| | | |
− | ''funkce:'' | + | main: |
− | Nastaví vysokou výstupní úroveň. (U PICAXE-08 zároveň nastaví vývod jako výstupní.)<br /><br />
| + | pause 500 ' wait a half second |
| + | servopos 4, 200 ' move servo clockwise |
| + | pause 500 ' wait a half second |
| + | servopos 4, 150 ' move servo to center |
| + | pause 500 ' wait a half second |
| + | servopos 4, 100 ' move servo counter-clockwise |
| + | pause 500 ' wait a half second |
| + | servopos 4, 150 ' move servo to center |
| | | |
− | '''high portc''' (použitelné pro PICAXE: 28X, 40X)<br /> | + | goto main ' return to main program loop |
| | | |
− | ''syntaxe:''
| + | </source> |
− | HIGH PORTC pin
| + | [http://picaxe.hobbizine.com/servo.html info] |
− | - pin je proměnná nebo konstanta, označuje výstup na portu C, který se použije<br />
| + | |- |
− | | + | |} |
− | ''funkce:''
| + | |
− | Nastaví vysokou výstupní úroveň na výstupu portu C. (Pouze u kontrolérů 28X a 40X)<br /><br />
| + | |
− | | + | |
− | '''i2cslave''' (použitelné pro PICAXE: 18X, 28X, 40X)<br />
| + | |
− | | + | |
− | ''syntaxe:''
| + | |
− | I2CSLAVE slave, speed, address
| + | |
− | - slave je adresa zařízení na I2C sběrnici
| + | |
− | - speed je klíčové slovo i2cfast (400 kHz) nebo i2cslow (100 kHz) (krystal 4 MHz), určuje rychlost
| + | |
− | komunikace. Pokud je na sběrnici více zařízení, určuje se rychlost podle nejpomalejšího z
| + | |
− | nich – rychlejší periferie může pracovat s nižší rychlostí, naopak pracovat nelze.
| + | |
− | - address je klíčové slovo i2cbyte nebo i2cword, určuje, zda je adresa 8-bitová nebo 16-bitová.<br />
| + | |
− | | + | |
− | ''funkce:''
| + | |
− | Nastavuje parametry pro komunikaci po I2C sběrnici a konfiguruje vývody SCL a SDA jako vstupní.
| + | |
− | Komunikaci obstarávají příkazy READI2C, WRITEI2C.<br /><br />
| + | |
− | | + | |
− | '''if .. then'''<br />
| + | |
− | '''if .. and .. then'''<br />
| + | |
− | '''if .. or .. then''' (použitelné pro všechny typy PICAXE)<br />
| + | |
− | | + | |
− | ''syntaxe:''
| + | |
− | IF variable ?? value {AND/OR variable ?? value ...} THEN address
| + | |
− | - variable je proměnná. Bude porovnána s value
| + | |
− | - value může být proměnná nebo konstanta
| + | |
− | - address je návěští, na které se předá řízení programu. Pokud je podmínka splněna
| + | |
− | - ?? může být jeden z následujících operátorů:
| + | |
− | = rovná se
| + | |
− | is rovná se (alternativní zápis)
| + | |
− | <> nerovná se
| + | |
− | != nerovná se (alternativní zápis)
| + | |
− | > větší než
| + | |
− | >= větší nebo rovno
| + | |
− | < menší než
| + | |
− | <= menší nebo rovno<br />
| + | |
− | | + | |
− | ''funkce:''
| + | |
− | Příkaz porovnává dvě proměnné nebo proměnnou s konstantou a skočí na určené místo, pokud je
| + | |
− | podmínka splněna. Pokud není podmínka splněna, pokračuje se na daším řádku programu.<br /><br />
| + | |
− | | + | |
− | '''infrain''' (použitelné pro PICAXE: 18A, 18X, 28A, 28X, 40X)<br />
| + | |
− | | + | |
− | ''syntaxe:''
| + | |
− | INFRAIN<br />
| + | |
− | | + | |
− | ''funkce:''
| + | |
− | Čeká na příjem znaku z dálkového ovládání. Přijatý kód je v proměnné infrain. Vyžaduje připojení
| + | |
− | přijímače infračerveného signálu na vstup input0, používá protokol Sony.<br /><br />
| + | |
− | | + | |
− | '''infrain2''' (použitelné pro PICAXE: 08M)<br />
| + | |
− | | + | |
− | ''syntaxe:''
| + | |
− | INFRAIN2<br />
| + | |
− | | + | |
− | ''funkce:''
| + | |
− | Obdoba předchozího příkazu pro PICAXE-08M. Vyžaduje připojení přijímače infračerveného signálu na
| + | |
− | vstup input3, používá protokol Sony.<br /><br />
| + | |
− | | + | |
− | '''infraout''' (použitelné pro PICAXE: 08M)<br />
| + | |
− | | + | |
− | ''syntaxe:''
| + | |
− | INFRAOUT device,data<br />
| + | |
− | | + | |
− | ''funkce:''
| + | |
− | Vyšle data protokolem Sony infračerveného dálkového ovládání, pouze na PICAXE-08M. Předpokládá
| + | |
− | připojení vysílací infračervené LED s omezovacím odporem na výstup 0.<br /><br />
| + | |
− | | + | |
− | '''input''' (použitelné pro PICAXE: 08, 08M)<br />
| + | |
− | | + | |
− | ''syntaxe:''
| + | |
− | INPUT pin
| + | |
− | - pin je proměnná nebo konstanta, označuje použitý vývod<br />
| + | |
− | | + | |
− | ''funkce:''
| + | |
− | Nastaví vývod jako vstupní.
| + | |
− | Po zapnutí napájení jsou všechny konfigurovatelné vývody nastaveny jako vstupní. Kromě příkazů k
| + | |
− | přímému nastavení (LET DIRS, INPUT, OUTPUT, REVERSE) se příslušné vývody nastavují také
| + | |
− | příkazy HIGH, LOW, TOGGLE, PULSOUT jako výstupní.<br /><br />
| + | |
− | | + | |
− | '''keyin''' (použitelné pro PICAXE: 18A, 18X, 28A, 28X, 40X)<br />
| + | |
− | | + | |
− | ''syntaxe:''
| + | |
− | KEYIN<br />
| + | |
− | | + | |
− | ''funkce:''
| + | |
− | Čeká na příjem znaku z počítačové klávesnice připojené přímo k mikrokontroléru. Přijatý kód je v
| + | |
− | proměnné keyin. Vyžaduje připojení klávesnice na vstupy input6 a input7 a zdvihací rezistory 4k7.<br /><br />
| + | |
− | | + | |
− | '''keyled''' (použitelné pro PICAXE: 18A, 18X, 28A, 28X, 40X)<br />
| + | |
− | | + | |
− | ''syntaxe:''
| + | |
− | KEYLED mask
| + | |
− | - mask je proměnná nebo konstanta, určuje stav LED na klávesnici.<br />
| + | |
− | | + | |
− | ''funkce:''
| + | |
− | Rozsvěcí nebo zhasíná LED na klávesnici PC. Vyžaduje připojení klávesnice na vstupy input6 a input7.<br /><br />
| + | |
− | | + | |
− | '''let''' (použitelné pro všechny typy PICAXE)<br />
| + | |
− | | + | |
− | ''syntaxe:''
| + | |
− | {LET} variable = {-} value ?? value...
| + | |
− | - variable je proměnná, které bude přiřazen výsledek početní operace
| + | |
− | - value jsou proměnné nebo konstanty spojené operátory
| + | |
− | Klíčové slovo LET je nepovinné<br />
| + | |
− | | + | |
− | ''funkce:''
| + | |
− | Provádí početní operace v celočíselné 16-bitové aritmetice (hodnoty 0 až 65535). Výrazy jsou
| + | |
− | vyhodnocovány zleva doprava bez upatnění přednosti operátorů. Všechna čísla jsou chápána jako kladná.
| + | |
− | Výsledek může být také 8-bitový nebo 1-bitový, v tom případě jsou vyšší bity oříznuty.<br /><br />
| + | |
− | | + | |
− | '''let dirs =''' (použitelné pro PICAXE: 08, 08M)
| + | |
− | '''let dirsc =''' (použitelné pro PICAXE: 28X, 40X)<br />
| + | |
− | | + | |
− | ''syntaxe:''
| + | |
− | {LET} dirs = value
| + | |
− | {LET} dirsc = value
| + | |
− | - value jsou proměnné nebo konstanty, jejichž hodnota je uložena do proměnné dirs (dirsc).<br />
| + | |
− | | + | |
− | ''funkce:''
| + | |
− | Konfiguruje vývody kontroléru jako vstupní nebo výstupní (let dirs, na PICAXE-08/08M)
| + | |
− | Konfiguruje vývody kontroléru na portu C jako vstupní nebo výstupní (let dirsc, na PICAXE-28X/40X).
| + | |
− | Hodnota 1 příslušného bitu značí vstup, hodnota 0 značí výstup.<br /><br />
| + | |
− | | + | |
− | '''let pins =''' (použitelné pro všechny typy PICAXE)
| + | |
− | '''let pinsc =''' (použitelné pro PICAXE: 28X, 40X)<br />
| + | |
− | | + | |
− | ''syntaxe:''
| + | |
− | {LET} pins = value
| + | |
− | {LET} pinsc = value
| + | |
− | - value je proměnná nebo konstanta, jejíž hodnota je uložena do proměnné pins (pinsc).<br />
| + | |
− | | + | |
− | ''funkce:''
| + | |
− | Tento příkaz nastavuje současně všechny výstupy kontroléru individuálně na vysokou nebo nízkou
| + | |
− | úroveň, u kontrolérů PICAXE-28X/40X lze takto nastavit též všechny vývody portu C. Klíčové slovo
| + | |
− | LET je nepovinné.
| + | |
− | K individuálnímu nastavení jednotlivých výstupů lze použít příkazy high a low. Příkaz LET PINS
| + | |
− | umožňuje hromadné nastavení všech osmi výstupů současně.<br /><br />
| + | |
− | | + | |
− | '''lookdown''' (použitelné pro všechny typy PICAXE)<br />
| + | |
− | | + | |
− | ''syntaxe:''
| + | |
− | LOOKDOWN target,(value0,value1...valueN),variable
| + | |
− | - target je proměnná nebo konstanta, která se porovnává s řadou hodnot v závorce.
| + | |
− | - value0... jsou proměnné nebo konstanty
| + | |
− | - variable obsahuje výsledek porovnávání.<br />
| + | |
− | | + | |
− | ''funkce:''
| + | |
− | Porovnává target se seznamem hodnot v závorce, pokud najde stejnou hodnotu, uloží do proměnné za
| + | |
− | závorkou pořadové číslo shodné hodnoty. Číslování začíná nulou. Pokud se shoda nenajde, proměnná za
| + | |
− | závorkou zůstane beze změny.<br /><br />
| + | |
− | | + | |
− | '''lookup''' (použitelné pro všechny typy PICAXE)<br />
| + | |
− | | + | |
− | ''syntaxe:''
| + | |
− | LOOKUP offset,(data0,data1...dataN),variable
| + | |
− | - offset je proměnná nebo konstanta, určuje, která položka z data0 až dataN se uloží do proměnné
| + | |
− | variable.
| + | |
− | - data jsou proměnné nebo konstanty
| + | |
− | - variable předává výslednou hodnotu, nebo zůstává beze změny<br />
| + | |
− | | + | |
− | ''funkce:''
| + | |
− | Vybírá z pole hodnot podle zadaného ofsetu (indexu). Pokud je ofset mimo rozsah uvedených hodnot,
| + | |
− | výstupní proměnná zůstává beze změny.<br /><br />
| + | |
− | | + | |
− | '''low''' (použitelné pro všechny typy PICAXE)<br />
| + | |
− | | + | |
− | ''syntaxe:''
| + | |
− | LOW pin
| + | |
− | - pin je proměnná nebo konstanta, označuje výstup, který se použije<br />
| + | |
− | | + | |
− | ''funkce:''
| + | |
− | Nastaví nízkou výstupní úroveň. (U PICAXE-08 zároveň nastaví vývod jako výstupní.)<br /><br />
| + | |
− | | + | |
− | '''low portc''' (pro PICAXE: 28X, 40X)<br />
| + | |
− | | + | |
− | ''syntaxe:''
| + | |
− | LOW PORTC pin
| + | |
− | - pin je proměnná nebo konstanta, označuje výstup na portu C, který se použije<br />
| + | |
− | | + | |
− | ''funkce:''
| + | |
− | Nastaví nízkou výstupní úroveň na výstupu portu C. (Pouze u kontrolérů 28X a 40X)<br /><br />
| + | |
− | | + | |
− | '''nap''' (použitelné pro všechny typy PICAXE)<br />
| + | |
− | | + | |
− | ''syntaxe:''
| + | |
− | NAP period
| + | |
− | - period je proměnná nebo konstanta, určující dobu, na kterou přejde kontroler do režimu s nízkou
| + | |
− | spotřebou. Rozsah 0 až 7.
| + | |
− | Doba zpoždění:
| + | |
− | 0 18 ms
| + | |
− | 1 32 ms
| + | |
− | 2 72 ms
| + | |
− | 3 144 ms
| + | |
− | 4 288 ms
| + | |
− | 5 576 ms
| + | |
− | 6 1,152 s
| + | |
− | 7 2,304 s<br />
| + | |
− | | + | |
− | ''funkce:''
| + | |
− | Uvede kontroler do spánku na dobu 2^period*18 ms. Tento příkaz využívá watchdog timer s omezenou
| + | |
− | přesností časování. Delší prodlevy lze dosáhnout příkazem Sleep.<br /><br />
| + | |
− | | + | |
− | '''output''' (použitelné pro PICAXE: 08, 08M)<br />
| + | |
− | | + | |
− | ''syntaxe:''
| + | |
− | OUTPUT pin
| + | |
− | - pin je proměnná nebo konstanta, označuje použitý vývod<br />
| + | |
− | | + | |
− | ''funkce:''
| + | |
− | Nastaví vývod jako výstupní. Funguje pouze u kontrolérů 08 a 08M.<br /><br />
| + | |
− | | + | |
− | '''pause''' (použitelné pro všechny typy PICAXE)<br />
| + | |
− | | + | |
− | ''syntaxe:''
| + | |
− | PAUSE milliseconds
| + | |
− | - milliseconds je proměnná nebo konstanta v rozsahu 0 až 65535, určuje dobu v jednotkách
| + | |
− | milisekund, po kterou bude tento příkaz trvat. Toto platí pouze při nastavené
| + | |
− | hodinové frekvenci 4 MHz. Při nastavení hodinové frekvence 8 MHz se čas
| + | |
− | zkracuje na 0,5 ms a na 0,25 ms při nastavení hodinové frekvence na 16 MHz.<br />
| + | |
− | | + | |
− | ''funkce:''
| + | |
− | Zastaví běh programu na určenou dobu. Přesnost je odvozena od hodinového kmitočtu kontroleru.<br /><br />
| + | |
− | | + | |
− | '''peek''' (použitelné pro PICAXE: 08M, 18, 18A, 18X, 28A, 28X, 40X)<br />
| + | |
− | | + | |
− | ''syntaxe:''
| + | |
− | PEEK location,variable
| + | |
− | - location je proměnná nebo konstanta, určující adresu registru. Platné hodnoty jsou 0 až 255.
| + | |
− | - variable je 8bitová proměnná, ve které je navrácen obsah registru na udané adrese.<br />
| + | |
− | | + | |
− | ''funkce:''
| + | |
− | Čte data z registrů mikrokontroleru. Umožňuje obnovit data uschovaná příkazem POKE.<br /><br />
| + | |
− | | + | |
− | '''play''' (použitelné pro PICAXE: 08M)<br />
| + | |
− | | + | |
− | ''syntaxe:''
| + | |
− | PLAY tune,LED
| + | |
− | - tune je proměnná nebo konstanta (0 - 3) určující, která skladba se zahraje:
| + | |
− | 0 - Happy Birthday
| + | |
− | 1 - Jingle Bells
| + | |
− | 2 - Silent Night
| + | |
− | 3 - Rudolf the Red Nosed Reindeer
| + | |
− | - LED je proměnná nebo konstanta (0 -3) určující způsob blikání připojených LED během hraní:
| + | |
− | 0 - bez blikání
| + | |
− | 1 - výstup 0 se zapíná a vypíná
| + | |
− | 2 - výstup 4 se zapíná a vypíná
| + | |
− | 3 - výstupy 0 a 4 se střídavě zapínají a vypínají<br />
| + | |
− | | + | |
− | ''funkce:''
| + | |
− | Přehrává skladbu, pouze na PICAXE-08M. Výstupní signál se objeví na výstupu 2.<br /><br />
| + | |
− | | + | |
− | '''poke''' (použitelné pro PICAXE: 08M, 18, 18A, 18X, 28A, 28X, 40X)<br />
| + | |
− | | + | |
− | ''syntaxe:''
| + | |
− | POKE location,data
| + | |
− | - location je proměnná nebo konstanta určující adresu registru. Platné hodnoty jsou 0 až 255.
| + | |
− | - data je proměnná nebo konstanta obsahující data, která budou zapsána na uvednou adresu.<br />
| + | |
− | | + | |
− | ''funkce:''
| + | |
− | Zapisuje data do registrů kontroleru. Umožňuje uložit proměnné b0 až b13 do paměti a dále využít
| + | |
− | hardware prostřednictvím SFR (podle dokumentace v katalogovém listu příslušného kontroleru).<br /><br />
| + | |
− | | + | |
− | '''pulsin''' (použitelné pro všechny typy PICAXE)<br />
| + | |
− | | + | |
− | ''syntaxe:''
| + | |
− | PULSIN pin,state,variable
| + | |
− | - pin je proměnná nebo konstanta (0-7), určující, který vývod bude použit.
| + | |
− | - state je proměnná nebo konstanta (0 nebo 1), určující, která hrana se musí první objevit před
| + | |
− | začátkem měření.
| + | |
− | - variable obsahuje výsledek měření (1 - 65535) v jednotkách 10 μs.<br />
| + | |
− | | + | |
− | ''funkce:''
| + | |
− | Měří délku vstupního pulsu v jednotkách 10 μs. Jestliže se puls neobjeví do 0,65536 s, příkaz končí a
| + | |
− | výsledek je 0. Pokud je proměnná state = 1, měří se délka pulsu ve vysoké úrovni, měření začíná
| + | |
− | vzestupná hrana a končí sestupná hrana. Pokud je proměnná state = 0, měří se délka pulsu v nízké úrovni,
| + | |
− | měření začíná sestupná hrana a končí vzestupná hrana. Výstupní proměnná se obvykle používá 16bitová.<br /><br />
| + | |
− | | + | |
− | '''pulsout''' (použitelné pro všechny typy PICAXE)<br />
| + | |
− | | + | |
− | ''syntaxe:''
| + | |
− | PULSOUT pin,time
| + | |
− | - pin je proměnná nebo konstanta (0-7) určující, který vývod bude použit.
| + | |
− | - time je proměnná nebo konstanta určující dobu trvání pulsu (0-65535) v jednotkách 10 μs.<br />
| + | |
− | | + | |
− | ''funkce:''
| + | |
− | Vyšle impuls zadané délky. Polarita impulsu je určená počátečním stavem pinu, během pulsu se stav
| + | |
− | invertuje a po skončení se vrátí na původní úroveň.<br /><br />
| + | |
− | | + | |
− | '''pwm''' (použitelné pro PICAXE: 08, 08M)<br />
| + | |
− | | + | |
− | ''syntaxe:''
| + | |
− | PWM pin,duty,cycles
| + | |
− | - pin je proměnná nebo konstanta (0-7), určující, který vývod bude použit.
| + | |
− | - duty je proměnná nebo konstanta (0-255), určující činitel plnění PWM (dobu, kterou výstup
| + | |
− | setrvá ve stavu 1)
| + | |
− | - cycles je proměnná nebo konstanta (0-255), určující počet cyklů PWM, které na určeném vývodu
| + | |
− | proběhnout. Každý cyklus trvá asi 5 ms.<br />
| + | |
− | | + | |
− | ''funkce:''
| + | |
− | Tento příkaz se používá zřídka, vhodnější je použít PWMOUT. Příkaz PWM ukončí svoji činnost po
| + | |
− | zadaném počtu cyklů, neprobíhá na pozadí jako příkaz PWMOUT. Ve spojení s RC filtrem může
| + | |
− | napodobit analogový výstup na kontroléru PICAXE-08. Příkaz musí být volán opakovaně.<br /><br />
| + | |
− | | + | |
− | '''pwmout''' (použitelné pro PICAXE: 08M, 18X, 28X, 40X)<br />
| + | |
− | | + | |
− | ''syntaxe:''
| + | |
− | PWMOUT pin,period,duty cycles
| + | |
− | - pin je proměnná nebo konstanta určující, který vývod bude použit.
| + | |
− | (pouze vývod 3 na 18X, pouze vývod 2 na 08M, vývod 1 nebo 2 na 28X a 40X)
| + | |
− | - period je proměnná nebo konstanta (0-255) určující periodu pulsně šířkové modulace (PWM)
| + | |
− | - duty je proměnná nebo konstanta (0-1023) určující činitel plnění PWM (dobu, kterou výstup
| + | |
− | setrvá ve stavu 1)
| + | |
− | Generuje pulsně modulovaný výstupní signál na zvoleném vývodu s využitím interního hardware
| + | |
− | kontroleru. Tento signál zůstává aktivní i po ukončení příkazu PWMOUT. Pokud je třeba signál zrušit,
| + | |
− | použije se příkaz PWMOUT s periodou 0.<br /><br />
| + | |
− | | + | |
− | '''random''' (použitelné pro všechny typy PICAXE)<br />
| + | |
− | | + | |
− | ''syntaxe:''
| + | |
− | RANDOM wordvariable
| + | |
− | - wordvariable slouží zároveň jako výsledek i jako pracovní proměnná (násada) pro příští použití
| + | |
− | příkazu. Musí být použita proměnná typu word a její hodnota se nesmí do dalšího
| + | |
− | použití příkazu změnit.
| + | |
− | Vytváří sekvenci pseudonáhodných čísel mezi 0 a 65535.<br /><br />
| + | |
− | | + | |
− | '''readadc''' (použitelné pro všechny typy PICAXE)<br />
| + | |
− | | + | |
− | ''syntaxe:''
| + | |
− | READADC channel,variable
| + | |
− | - channel je proměnná nebo konstanta, určující vstup (0-7)
| + | |
− | - variable obsahuje výsledek A/D převodu<br />
| + | |
− | | + | |
− | ''funkce:''
| + | |
− | Příkaz čte napětí na analogovém vstupu a převádí ho na osmibitové číslo. Pouze některé vstupy mohou
| + | |
− | sloužit jako analogové. Na některých kontrolerech jsou analogové a digitální vstupy sdílené, mohou plnit
| + | |
− | obě funkce.<br /><br />
| + | |
− | | + | |
− | '''readadc10''' (použitelné pro PICAXE: 08M, 18X, 28X, 40X)<br />
| + | |
− | | + | |
− | ''syntaxe:''
| + | |
− | READADC10 channel,wordvariable
| + | |
− | - channel je proměnná nebo konstanta určující vstup (0-7)
| + | |
− | - wordvariable obsahuje výsledek A/D převodu<br />
| + | |
− | | + | |
− | ''funkce:''
| + | |
− | Příkaz čte napětí na analogovém vstupu a převádí ho na 10bitové číslo, proto se výsledek musí ukládat do
| + | |
− | 16bitové proměnné. Pouze některé vstupy mohou sloužit jako analogové. Na některých kontrolerech jsou
| + | |
− | analogové a digitální vstupy sdílené, mohou plnit obě funkce. Při použití příkazu DEBUG může
| + | |
− | komunikace s PC narušit výsledek A/D převodu. V tom případě se doporučuje doplnit obvod o
| + | |
− | Schottkyho diodu, která tento efekt potlačí.<br /><br />
| + | |
− | | + | |
− | '''readi2c''' (použitelné pro PICAXE: 18X, 28X, 40X)<br />
| + | |
− | | + | |
− | ''syntaxe:''
| + | |
− | READI2C location,(variable,...)
| + | |
− | - location je proměnná nebo konstanta, určující adresu z které se bude číst.
| + | |
− | - variable proměnné, které po provedení příkazu obsahují data přečtená z uvedené adresy.<br />
| + | |
− | | + | |
− | ''funkce:''
| + | |
− | Čte data z I2C sběrnice a ukládá je do proměnné (proměnných).
| + | |
− | Adresa zařízení na I2C sběrnici je určená příkazem I2CSLAVE, location udává adresu v rámci tohoto
| + | |
− | zařízení, například adresu dat v (externí) EEPROM nebo RTC obvodu apod.<br /><br />
| + | |
− | | + | |
− | '''read''' (použitelné pro všechny typy PICAXE)<br />
| + | |
− | | + | |
− | ''syntaxe:''
| + | |
− | READ location,variable
| + | |
− | - location je proměnná nebo konstanta, určující 8bitovou adresu v interní EEPROM (0-255).
| + | |
− | - variable obsahuje přečtená data<br />
| + | |
− | | + | |
− | ''funkce:''
| + | |
− | Příkaz READ načítá data z EEPROM. Obsah této paměti je zachován i po vypnutí napájení. Tato data
| + | |
− | jsou zapisována při každém zavedení nového programu do mikrokontroléru, podle definice v příkazu
| + | |
− | DATA/EEPROM. Za běhu programu mohou být tato data přepisována pomocí příkazu WRITE.<br /><br />
| + | |
− | | + | |
− | '''readtemp''' (použitelné pro PICAXE: 08M, 18A, 18X, 28A, 28X, 40X)<br />
| + | |
− | | + | |
− | ''syntaxe:''
| + | |
− | READTEMP pin,variable
| + | |
− | - pin je proměnná nebo konstanta, určující, který vývod bude použit.
| + | |
− | - variable obsahuje přečtená data (byte).<br />
| + | |
− | | + | |
− | ''funkce:''
| + | |
− | Příkaz přečte teplotu z digitálního čidla DS18B20 a uloží ji do proměnné. Převod může trvat až 750 ms.
| + | |
− | Teplota se předává v celých stupních celsia. Senzor pracuje v rozmezí teplot -55 až +125°C.<br /><br />
| + | |
− | | + | |
− | '''readtemp12''' (použitelné pro PICAXE: 08M, 18X, 28X, 40X)<br />
| + | |
− | | + | |
− | ''syntaxe:''
| + | |
− | READTEMP12 pin,wordvariable
| + | |
− | - pin je proměnná nebo konstanta, určující, který vývod bude použit.
| + | |
− | - wordvariable obsahuje přečtená data (12 bitů).<br />
| + | |
− | | + | |
− | ''funkce:''
| + | |
− | Příkaz přečte teplotu v surovém 12 bitovém formátu z digitálního čidla DS18B20 a uloží ji do proměnné.
| + | |
− | Převod může trvat až 750ms.<br /><br />
| + | |
− | | + | |
− | '''readowsn''' (použitelné pro PICAXE: 08M, 18A, 18X, 28A, 28X, 40X)<br />
| + | |
− | | + | |
− | syntaxe:
| + | |
− | READOWSN pin
| + | |
− | - pin je proměnná nebo konstanta (0-7), určující, který vývod bude použit.<br />
| + | |
− | | + | |
− | ''funkce:''
| + | |
− | Přečte sériové číslo z obvodu připojeného na jednodrátovou sběrnici firmy Dallas. Může číst například z
| + | |
− | teplotního senzoru DS18B20, obvodu reálného času DS2415 nebo identifikačního obvodu DS1990A
| + | |
− | (iButton). U DS1990A je sériové číslo také vypálené laserem na pouzdru obvodu.<br /><br />
| + | |
− | | + | |
− | '''return''' (použitelné pro všechny typy PICAXE)<br />
| + | |
− | | + | |
− | ''syntaxe:''
| + | |
− | RETURN<br />
| + | |
− | | + | |
− | ''funkce:''
| + | |
− | Návrat z podprogramu. Příkaz return smí být použit pouze po předchozím příkazu gosub. Příkaz navrací
| + | |
− | běh programu do místa, odkud byl podprogram vyvolán. Pokud by byl příkaz return použit bez
| + | |
− | předchozího gosub, program havaruje.<br /><br />
| + | |
− | | + | |
− | '''reverse''' (použitelné pro PICAXE: 08, 08M)<br />
| + | |
− | | + | |
− | ''syntaxe:''
| + | |
− | REVERSE pin
| + | |
− | - pin je proměnná nebo konstanta, určující, který vývod bude použit.<br />
| + | |
− | | + | |
− | ''funkce:''
| + | |
− | Změní směr signálu na vývodu – původně vstup nastaví jako výstup a původně výstup nastaví jako vstup.
| + | |
− | Funguje pouze u kontrolérů 08 a 08M.<br /><br />
| + | |
− | | + | |
− | '''serin''' (použitelné pro všechny typy PICAXE)<br />
| + | |
− | | + | |
− | ''syntaxe:''
| + | |
− | SERIN pin,baudmode,(qualifier,qualifier...)
| + | |
− | SERIN pin,baudmode,(qualifier,qualifier...),{#}variable,{#}variable...
| + | |
− | SERIN pin,baudmode,{#}variable,{#}variable...
| + | |
− | - pin je proměnná nebo konstanta (0-7) určující, který vývod bude použit.
| + | |
− | - baudmode je proměnná nebo konstanta (0-7) která určuje přenosovou rychlost a polaritu signálu.
| + | |
− | Všechny přenosové rychlosti se vztahují k hodinovému kmitočtu 4 MHz:
| + | |
− | T2400 normální polarita (True, klidová úroveň vysoká)
| + | |
− | T1200 normální polarita
| + | |
− | T600 normální polarita
| + | |
− | T300/T4800 normální polarita
| + | |
− | N2400 obrácená polarita (Negated, klidová úroveň nízká)
| + | |
− | N1200 obrácená polarita
| + | |
− | N600 obrácená polarita
| + | |
− | N300/N4800 obrácená polarita
| + | |
− | - data jsou proměnné nebo konstanty (0-255), jejichž hodnoty budou vyslány na určený
| + | |
− | výstup.
| + | |
− | Nepovinný znak # signalizuje, že se následující hodnota má odeslat jako číslo v desítkové soustavě,
| + | |
− | nikoliv jako jeden znak. Textový řetězec může být uveden v uvozovkách („Hello“).
| + | |
− | Vysílá sériová data ve formátu 8N1 (8 datových bitů, bez parity, 1 stop bit).<br />
| + | |
− | | + | |
− | ''funkce:''
| + | |
− | Příkaz serout vysílá data asynchronním sériovým přenosem na určeném výstupu mikrokontroléru. Nelze
| + | |
− | ho použít s vývodem Sout, určeném ke komunikaci při zavádění nového programu. Na tomto vývodu
| + | |
− | pracuje příkaz sertxd.
| + | |
− | Pin určuje na kterém vstupu se budou sériová data vysílat.
| + | |
− | Baudmode určuje přenosovou rychlost a polaritu signálu.<br /><br />
| + | |
− | | + | |
− | | + | |
− | == www: ==
| + | |
− | | + | |
− | [http://www.picaxe.com/Software/PICAXE/PICAXE-Programming-Editor/ SW: PICAXE Programming Editor] | + | |
− | | + | |
− | [http://www.picaxe.com/Software/PICAXE/AXEpad/ SW: AXEpad]
| + | |
− | | + | |
− | [http://programujte.com/clanek/2010082700-programovani-picaxe-uvod/ Programování PICAXE - Úvod]
| + | |
− | | + | |
− | [http://programujte.com/clanek/2010071900-programovani-picaxe-08m/ Programování PICAXE]
| + | |
− | | + | |
− | [http://programujte.com/clanek/2010090300-programovani-picaxe-1-lekce/ Programování PICAXE - 1. lekce]
| + | |
− | | + | |
− | [[Soubor:Icon-pdf.gif]] [http://www.hobbyrobot.cz/PDF/PICAXE_basic_man_cz.pdf PICAXE – příručka programátora]
| + | |
− | | + | |
− | [[Soubor:Icon-pdf.gif]] [http://www.hobbyrobot.cz/PDF/picaxe_technical_faq_cz.pdf Nejčastěji pokládané dotazy]
| + | |
− | | + | |
− | [[Soubor:Icon-pdf.gif]] [http://letsmakerobots.com/files/lmr-Start.pdf How to make your first Robot]
| + | |
− | | + | |
− | [[Soubor:Icon-pdf.gif]] [[:Media:PICAXE-2-220_man_cz.pdf|PICAXE – příručka programátora]]
| + | |