Stránka 1 z 2

PICAXE -začínam programovať

Napsal: pát 22.01.2010 7:41
od JackPot
Začínam s programovaním PICAXE podľa RCrevue. Notebook som vybavil prevodníkom USB/CANON9, vyleptal a osadil vlastnú skúšobnú dosku na 8M a po zvládnutí (trpkom) inštalácie a oživenia, spustil som svoj prvý BLIKAČ.
Toť, úvod.
Prvá skutočná úloha: Tester serva
Cieľ: Nastavenie neutrálu; ovládanie smeru otáčania serva dvomi tlačítkami v určenom smere a predpísaných krokoch
Program:
REM Test Servo na PIN2 Button na PIN3,4 (high)
let b1=150 'neutral na b1
symbol krok=4 'posun serva
test:
'debug 'zobrazenie premenych na PC
servo 2,b1 'pulz na servo
pause 100 'prestavka na posun serva
let b0=0 'register button pin3
let b0=b0+pin3 'vlozenie stavu pin3 do reg b0
if b0=0 then let b1=b1+krok max 200 endif 'test button na pin3
let b2=0 'register button pin4
let b2=b2+pin4 'stav na pin4 do reg b2
if b2=0 then let b1=b1-krok min 100 endif 'test button na pin4
if b0=0 and b2=0 then let b1=150 goto test endif 'oba button-nastavenie neutrálu
goto test 'navrat start
[/b]

Napsal: pát 22.01.2010 8:36
od ROMI
Kde si ho kupil na Slovensku?

Napsal: pát 22.01.2010 10:47
od Lubosh
A servo jede plynule, bez cukání?
Příkaz "servo" se používá jen jednou na aktivaci výstupu, pak už je lepší použít "servopos"

Re: PICAXE -začínam programovať

Napsal: pát 22.01.2010 11:43
od jyrry
JackPot píše:Začínam s programovaním PICAXE podľa RCrevue. Notebook som vybavil prevodníkom USB/CANON9, vyleptal a osadil vlastnú skúšobnú dosku na 8M a po zvládnutí (trpkom) inštalácie a oživenia, spustil som svoj prvý BLIKAČ.
Toť, úvod.
Prvá skutočná úloha: Tester serva
Cieľ: Nastavenie neutrálu; ovládanie smeru otáčania serva dvomi tlačítkami v určenom smere a predpísaných krokoch
Program:
REM Test Servo na PIN2 Button na PIN3,4 (high)
let b1=150 'neutral na b1
symbol krok=4 'posun serva
test:
'debug 'zobrazenie premenych na PC
servo 2,b1 'pulz na servo
pause 100 'prestavka na posun serva
let b0=0 'register button pin3
let b0=b0+pin3 'vlozenie stavu pin3 do reg b0
if b0=0 then let b1=b1+krok max 200 endif 'test button na pin3
let b2=0 'register button pin4
let b2=b2+pin4 'stav na pin4 do reg b2
if b2=0 then let b1=b1-krok min 100 endif 'test button na pin4
if b0=0 and b2=0 then let b1=150 goto test endif 'oba button-nastavenie neutrálu
goto test 'navrat start
[/b]

Zkus to psát bez toho "let", mělo by to fachat taky a bude to přehlednější. Zápis do b0 (b2) nejde bez jeho předchozího vynulování?

Takhle to jede z PICBasicu:
; PIC12F629
puls var byte
puls = 150
krok con 4
loop:
if gpio.0 then puls = puls + krok min 200
if gpio.1 then puls = puls - krok max 100
if gpio.0 and gpio.1 then puls = 150
pulsout gpio.4, puls
pause 20
goto loop
end

Napsal: pát 22.01.2010 12:47
od JackPot
ROMI - cez net som našiel krúžok na vysokej škole v BA a vedúci mi predal zo svojho. Ďalšie chcem objednať z netu. Keby sa tu ale našli ochotní priatelia z Čiech a poslali by nám ich proti obálke s peniazmi, možno by bolo dobré - oficiálna objednávka na Slovensko je nehorázna!
jyrry - skúsim let vypustiť; b0=0 som dával pre istotu, keby sa niečo dostalo cez button; PICBasic sa rád naučím, až keď sa zabehnem; takže v tvojom PICBasic ti bežia pulzy tak rýchlo, ako beží program - pause 20; ja som tam dal ešte jednu pause 100, aby bolo vidno, ako servo poskačuje pri krokovaní - skôr sa strafíš do požadovanej polohy.
lubosh - mal by som zmeniť servo za servopos? som začiatočník -poraď.

Napsal: pát 22.01.2010 13:25
od jyrry
No, on ten prográmek je silně osekaný, v reálu mám ošetřené zákmity na tlačítkách, změnu rychlosti při stisku obou tlačítek na déle než 1 sec, signailzaci neutrálu serva LEDkou a podobně. To chce u toho sedět, psát, zkoušet, znova psát... Jsem samouk, strojař a s PICama jsem začal někdy před rokem. Basic v jiných formách znám trochu už z mládí.

Napsal: pát 22.01.2010 17:07
od Lubosh
JackPot píše:ROMI mal by som zmeniť servo za servopos? som začiatočník -poraď.


"Servo" musíš použít poprvé na inicializaci výstupu, pak už v cyklu jen "servopos" a není třeba pauza na přejezd serva.

Napsal: stř 27.01.2010 8:18
od JackPot
Prosím poradiť na PICAXE:
Potreboval by som, aby pulsin pracoval na pozadí hlavného programu a po načítaní dĺžky pulsu, aby vyvolal interrupt.
Je to s PICAXE možné?

Napsal: ned 31.01.2010 20:19
od JackPot
Asi je to už silná káva na toto forum. Ď!

Napsal: ned 31.01.2010 21:00
od CyCo
JackPot píše:Prosím poradiť na PICAXE:
Potreboval by som, aby pulsin pracoval na pozadí hlavného programu a po načítaní dĺžky pulsu, aby vyvolal interrupt.
Je to s PICAXE možné?


Podporuje PICAXE přerušení?
Kontrolér PICAXE používá přerušení mikroprocesoru PIC pro některé příkazy (například servo), takže ty
nejsou dostupné uživateli.
Kontroléry PICAXE v provedení -A, -M a -X mohou přerušit provádění programu na základě změny
stavu vstupů; slouží k tomu příkazy setint a interrupt. Stav vstupů je testován po provedení každého
příkazu BASICu a během příkazu pause trvale, takže odskok do podprogramu přerušení je velmi rychlý.
Jak se přerušení používá?
Přerušení je aktivováno příkazem setint. Přerušení může být vyvoláno libovolnou kombinací vstupů, což
určují parametry port a mask příkazu setint. Pokud se má například vyvolat přerušení, když je input0 na
vysoké úrovni, jsou tyto parametry %00000001 a %00000001. První hodnota udává, že input0 je na
vysoké úrovni, druhý vybírá k testování pouze input0, takže na stavu ostatních vstupů nezáleží.

myslím že ne.

Napsal: ned 31.01.2010 23:21
od 601filip
nemate nekdo zkusenost s nastavenim USB-RS232 pro PICAXE koupil jsem v DX:
http://www.dealextreme.com/details.dx/sku.24512 a nechce spolupracovat :evil:
S jinou aplikaci funguje.

Napsal: pon 01.02.2010 9:47
od Surgical
Bylo by dobré napsat, pod jakým OS a na jakém počítači...
Jinak obecně redukce USB na seriové a paralelní porty bývají problémové, hlavně s přiřazením správného portu a vektoru přerušení (typicky COM1 adress 378 IRQ 4). Pokud už v počítači nemáš seriový port, je spolehlivější řešení přídavná karta do PCI slotu třeba
http://www.alza.cz/kouwell-221n-2-d144938.htm, u notebooku pak třeba http://www.alza.cz/kouwell-kw-103e-d144905.htm.
Mnohé i nové motherboardy COM i LPT porty mohou mít, ale nejsou vyvedeny na čelíčko na kejsu, to se ale dá obvykle dokoupit, pokud není dodávané v příslušenství k desce. Pokud nejsou kabely origo, pak konkrétně u COM portů bacha, existují 2 normy zapojení. Pokud ale porty na desce jsou a používáš třeba tu USB redukci, je obvykle dobré tyto porty v BIOSu desky zakázat, aby nekolidovaly s porty virtuálními....

Napsal: pát 05.02.2010 20:21
od stelerp
Nazdar

Mně taky chvíli trvalo, než jsem rozchodil převodník USB/RS232. Popíšu problém, třeba to někdy někomu pomůže.

Po instalaci ovladačů redukce, jsem stále v Picaxe editoru nemohl najít COM, se kterým by se dalo komunikovat s vývojovou deskou. Problém byl v tom, že redukce se mi po instalaci ovladačů zaregistrovala jako COM23, ale editor umožnuje maximálně COM16. Proto jsem musel ve správci zařízení změnit toto přiřazení.

Správce zařízení - Porty (COM a LPT), tam si najděte svůj převodník, otevřete jeho vlastnosti a na kartě Nastavení portu klikněte na tlačítko upřesnit. Dole vyberte volné číslo portu COM (1-16). Je možné, že u všech v tomto rozsahu uvedených čísel, bude poznámka, že je používán. Nezbude než zkoušet a začít třeba odzadu s šestnáctkou. Tyto COM porty si můžou registrovat ostatní u vás používaná zařízení, jako mobily, MP3, foťáky a další blbůstky, které se připojují na USB port , ale ve skutečnosti jde jen o emulaci COM portu.

Ještě jedno upřesnění. Zastrčíte li příště převodník do jiného USB portu, bude mu opět přiřazeno nové číslo COM portu a problém se může opakovat :wink:

Napsal: pát 05.02.2010 23:52
od 601filip
Na tom mym kompu s XP SP3 mam 1 seriovou linku jen jsem to chtel poustet pres USB abych nemusel prehazovat kable a pripadne to mohl vyuzivat na notasu ktery serport nema ale nechodi to ani na jednom s PICAXEm samotny prevodnik USB-232 s jinou aplikaci beha.

Napsal: sob 06.02.2010 16:59
od stelerp
A máš tedy správně nastavené číslo COM portu v tom Editoru pro PICAXE?