Dobrý den
Chtěl bych u 08M2 naprogramovat původně vstup c3 jako výstup pro piezoměnič, předpokládám že tento prvek výstup moc nezatíží a mohl by generovat třeba slabé pípnutí. Mám s tím ale trochu problém, protože tento příkaz jak jsem se dočetl nastavuje celou masku. A ted k dotazu, je možné změnit příkazem pullup pouze vstup c3 aniž bych ovlivnil další? Nevím totiž jak je maska zapojena v základu a tedy když zadám pouze %00001000 zda nezruším masku pro jiný vstup či výstup a rovněž opět vypnutím %00000000 zda masku tímto způsobem nezruším ostatním. Děkuji za odpovědi.
Pullup
Re: Pullup
Nějak nerozumím tvému dotazu.
Příkaz PULLUP připojuje nebo odpojuje vnitřní rezistor na vstup. Je na něm pak vysoká úroveň a dá se například pomocí tlačítka spínat přímo se zemí, bez dalších součástek. Spíná nebo vypíná se pouze ten vstup který vybereš v té masce.
Pípnutí se generuje příkazem SOUND a s tím příkazem PULLUP nemá nic společného.
Příkaz PULLUP připojuje nebo odpojuje vnitřní rezistor na vstup. Je na něm pak vysoká úroveň a dá se například pomocí tlačítka spínat přímo se zemí, bez dalších součástek. Spíná nebo vypíná se pouze ten vstup který vybereš v té masce.
Pípnutí se generuje příkazem SOUND a s tím příkazem PULLUP nemá nic společného.
Re: Pullup
Předpokládám, že vycházíš z článku "Použití vstupů jako výstupů u mikrokontrolérů PICAXE". Pro sepnutí čehokoli - i piezoměniče - je potřeba použít spínací tranzistor, protože vnitřní pull-up rezistor má hodnotu přibližně 100 kohm a proud, který propustí, je v řádu mikroampér.
Maska pro nastavení pull-up rezistorů je v základním stavu nastavena na %00000000 a nastavením jedniček na pozici, odpovídající jednotlivým pinům, se rezistory zapínají. Pozor na to, že ne všechny piny PICAXE mají možnost zapnutí pull-upu. V takovém případě nemá jednička na příslušném místě stavového slova žádný vliv na hardware. Viz zde.
Maska pro nastavení pull-up rezistorů je v základním stavu nastavena na %00000000 a nastavením jedniček na pozici, odpovídající jednotlivým pinům, se rezistory zapínají. Pozor na to, že ne všechny piny PICAXE mají možnost zapnutí pull-upu. V takovém případě nemá jednička na příslušném místě stavového slova žádný vliv na hardware. Viz zde.
jrt
Re: Pullup
Tak teď už tomu rozumím
Naposledy upravil(a) jova dne 20 srp 2016, 15:35, celkem upraveno 1 x.
Re: Pullup
Zdravím
ano vycházím z toho článku a protože nyní vyvíjím desku jednoduchého solárního nabíječe tak se mi u 08M2 nedostává pinu proto jsem chtěl ten vstupní C3 předělat na výstup s tím že by mi pomocí rychlého přepínání tohoto vstupu vznikl varovný ton který by ohlašoval podpětí aku.
Z vašeho příspěvku je mi ted už jasné že v základu je maska nastavena na nuly tedy když ukončím for smyčku %00000000 tak to bude ve správném stavu. Přemýšlel jsem že ton bych vytvořil pomocí cyklu:
for b1 = 1 to 50
pullup %00010000
pause 1
pullup %00000000
pause 1
next b1
ale nejsem si jist časy prodlevy aby frekvence byla kolem 1kHz (ted asi jistě není je to jen od boku ).
Ještě jeden dotaz jaká je rozhodovací úroven napětí pokud bych využíval vstup c3 jako vstup? Jde o klasickou hranici ttl logiky tedy cca 2,2 V ještě nula a výš pak 1?
ano vycházím z toho článku a protože nyní vyvíjím desku jednoduchého solárního nabíječe tak se mi u 08M2 nedostává pinu proto jsem chtěl ten vstupní C3 předělat na výstup s tím že by mi pomocí rychlého přepínání tohoto vstupu vznikl varovný ton který by ohlašoval podpětí aku.
Z vašeho příspěvku je mi ted už jasné že v základu je maska nastavena na nuly tedy když ukončím for smyčku %00000000 tak to bude ve správném stavu. Přemýšlel jsem že ton bych vytvořil pomocí cyklu:
for b1 = 1 to 50
pullup %00010000
pause 1
pullup %00000000
pause 1
next b1
ale nejsem si jist časy prodlevy aby frekvence byla kolem 1kHz (ted asi jistě není je to jen od boku ).
Ještě jeden dotaz jaká je rozhodovací úroven napětí pokud bych využíval vstup c3 jako vstup? Jde o klasickou hranici ttl logiky tedy cca 2,2 V ještě nula a výš pak 1?
Re: Pullup
Kód: Vybrat vše
#picaxe 08m2
#no_data
do
pullup %00001000
pullup %00000000
loop
Dej pozor, ve svém programu jsi měl chybu a nastavoval jsi pull-up na pinu C.4 (počítá se zprava doleva C.0, C.1, C.2, C.3 atd.)
A ještě důležitá poznámka: Pokud budeš tranzistorem spínat piezoměnič, tak k němu nezapomeň připojit paralelně vybíjecí rezistor o velikosti přibližně 10k, protože ten měnič je kondenzátor. Trápil jsem se s tím pár minut, než mě kolega uvedl pohlavkem do reality...
viz: http://www.picaxe.com/BASIC-Commands/Di ... inputtype/... jaká je rozhodovací úroven napětí pokud bych využíval vstup c3 jako vstup?
Vstup C.3 u 08M2 používá klasické úrovně TTL, tedy log.0 je 0 až 0,8V, log.1 je 2 až 5 V. Platí pro napájení 5 V.
Z výše uvedeného vyplývá, že 2,2 V je už log.1!!!Jde o klasickou hranici ttl logiky tedy cca 2,2 V ještě nula a výš pak 1?
jrt
Re: Pullup
Zdravím
Pořadí jedničky v příkazu jsem asi přehlédl a ted jsem to psal vše pro c4 dik za upozornění. 600Hz to je celkem optimální kmitočet na to jsou i piza cca laděna (tedy spíš na 1kHz ale je to blízko). S tím rezistorem to vím už jsem se s tím jednou taky trápil a nakonec se zadařilo.
Ještě jednou díky za rady ted už mohu začít konstruovat .
Pořadí jedničky v příkazu jsem asi přehlédl a ted jsem to psal vše pro c4 dik za upozornění. 600Hz to je celkem optimální kmitočet na to jsou i piza cca laděna (tedy spíš na 1kHz ale je to blízko). S tím rezistorem to vím už jsem se s tím jednou taky trápil a nakonec se zadařilo.
Ještě jednou díky za rady ted už mohu začít konstruovat .
Re: Pullup
Ještě bych doplnil. Existují piezosirenky co nepotřebují budící frekvenci: http://www.gme.cz/piezosirenky-do-dps
Pak by ti stačilo ten tranzistor na potřebnou dobu spínat trvale.
Pak by ti stačilo ten tranzistor na potřebnou dobu spínat trvale.