Pochlubte se svým programem pro Arduino
Moderátor: Moderátoři
Pochlubte se svým programem pro Arduino
Tuhle jsem potřeboval udělat jednoduchý timer. Níže sdílím svůj výtvor. Otestováno na arduino mega2560.
Popis: Po stisknutí tlačítka generuje impuls určité délky {10ms..~10s}
podle natoceni potenciometru. One shot timer.
// A0; analog 0; potenciometr
// 12; DI 12; tlacitko zapojene ke gnd, externi pull-up R=10k
// 13; DO 13; vystup casovace '0'-klid, '1'-casovac bezi
Popis: Po stisknutí tlačítka generuje impuls určité délky {10ms..~10s}
podle natoceni potenciometru. One shot timer.
// A0; analog 0; potenciometr
// 12; DI 12; tlacitko zapojene ke gnd, externi pull-up R=10k
// 13; DO 13; vystup casovace '0'-klid, '1'-casovac bezi
- Přílohy
-
- timer.zip
- One shot timer.
- (1.13 KiB) Staženo 168 x
- monterjirka
- Příspěvky: 2761
- Registrován: 14 čer 2003, 02:00
- Bydliště: Blížejov
Někdo se směje, někdo to jen tiše ukradne a zpeněží...
Ale znáte jednu z nejednodušších aplikací pro Arduino?
Potřeboval jsem pro jednu retroakci rozchodit "píchačky".
pro jistotu shodíme porty 1 a 2 na L
a jedeme
nahodit port 1
pauza 1 vteřinu
shodit port 1
pauza 59 vteřin
nahodit port 2
pauza 1 vteřina
shodit port 2
pauza 59 vteřin
zpátky do bodu a jedeme
---------------
Pak už jen na výstup dát něco, co umožní spínání větších napětí než 5V
Ale znáte jednu z nejednodušších aplikací pro Arduino?
Potřeboval jsem pro jednu retroakci rozchodit "píchačky".
pro jistotu shodíme porty 1 a 2 na L
a jedeme
nahodit port 1
pauza 1 vteřinu
shodit port 1
pauza 59 vteřin
nahodit port 2
pauza 1 vteřina
shodit port 2
pauza 59 vteřin
zpátky do bodu a jedeme
---------------
Pak už jen na výstup dát něco, co umožní spínání větších napětí než 5V
Inspiraci lze najít třeba u pana Zajíce ![Wink ;)](./images/smilies/icon_wink.gif)
http://www.zajic.cz/podruzne/podruzne.htm
http://www.zajic.cz/podruzbat/podruzbat.htm
![Wink ;)](./images/smilies/icon_wink.gif)
http://www.zajic.cz/podruzne/podruzne.htm
http://www.zajic.cz/podruzbat/podruzbat.htm
- monterjirka
- Příspěvky: 2761
- Registrován: 14 čer 2003, 02:00
- Bydliště: Blížejov
- pocitujlasku
- Příspěvky: 1757
- Registrován: 12 pro 2005, 01:00
ked ho vyladim, a nasadim tak dam zdrojaky. Nie je to nic extra, ale kutilov potesi. Je to plynule rozsvietenie a zhasnutie jednotlivych schodov (Led pasy).
V podstate HW je atmega328 (s arduino bootloader-om)+16Mhz krystal, TLC5940 + bizuteria okolo.
Zdrojak ma par riadkov, keby som rozchodil arduino bootloader na atmega8, tak by v pohode stacila aj ta.
A pre rypalov, arduino preto, lebo tam uz bola hotova kniznica a nemam vela volneho casu, zaklad bol hotovy asi za 2 hodky, potom som ho este trocha ladil. Rychlost rozvietenia, hodnota pri ktorej sa ma zacat rozsvecovat dalsi pas, smer rozsvietenia - podla toho, ktory snimac sa aktivuje ako prvy.
Dalsiu drobnost planujem ovladanie akvarka - tiez atmega s arduino a display z Nokie 5110.
V podstate HW je atmega328 (s arduino bootloader-om)+16Mhz krystal, TLC5940 + bizuteria okolo.
Zdrojak ma par riadkov, keby som rozchodil arduino bootloader na atmega8, tak by v pohode stacila aj ta.
A pre rypalov, arduino preto, lebo tam uz bola hotova kniznica a nemam vela volneho casu, zaklad bol hotovy asi za 2 hodky, potom som ho este trocha ladil. Rychlost rozvietenia, hodnota pri ktorej sa ma zacat rozsvecovat dalsi pas, smer rozsvietenia - podla toho, ktory snimac sa aktivuje ako prvy.
Dalsiu drobnost planujem ovladanie akvarka - tiez atmega s arduino a display z Nokie 5110.
No vidis, a tak si sa bal
Jednoúčelový komparátor
funkce:
pokud je napětí kolem 0.7V, svítí jedna led
pokud je napětí kolem 2.5V, svítí druhá led
pokud je napětí jiné, svítí třetí led
Jsou zde dva "nezávislé" kanály, takže celkem 2xAI a 6xDO
výhoda: úspora 8ks diskrétních komparátorů
nevýhoda: nižší rychlost I/O než u diskrétní verze
// Kanal 0 (ch0)->(A6,PD2,PD3,PD4)
// Kanal 1 (ch1)->(A7,PD5,PD6,PD7)
//
// y(V)=(5V/255).x(n)
// x=12-> y=0.235V
// x=39-> y=0.765V
// x=123-> y=2.41V
// x=131-> y=2.57V
//
// otestovano: n/*y @ arduino pro mini 328p @ 8MHz @ 5V
// IDE 1.0.2
//
// A6; analog 6; potenciometr
// D2; DO; PD2; limit 0; led '0' - sviti {lim0l..lim0h}
// D3; DO; PD3; limit 1; led '0' - sviti {lim1l..lim1h}
// D4; DO; PD4; out of limit; led '0' - sviti {default}
//
// A7; analog 7; potenciometr
// D5; DO; PD5; limit 0; led '0' - sviti {lim0l..lim0h}
// D6; DO; PD6; limit 1; led '0' - sviti {lim1l..lim1h}
// D7; DO; PD7; out of limit; led '0' - sviti {default}
funkce:
pokud je napětí kolem 0.7V, svítí jedna led
pokud je napětí kolem 2.5V, svítí druhá led
pokud je napětí jiné, svítí třetí led
Jsou zde dva "nezávislé" kanály, takže celkem 2xAI a 6xDO
výhoda: úspora 8ks diskrétních komparátorů
nevýhoda: nižší rychlost I/O než u diskrétní verze
// Kanal 0 (ch0)->(A6,PD2,PD3,PD4)
// Kanal 1 (ch1)->(A7,PD5,PD6,PD7)
//
// y(V)=(5V/255).x(n)
// x=12-> y=0.235V
// x=39-> y=0.765V
// x=123-> y=2.41V
// x=131-> y=2.57V
//
// otestovano: n/*y @ arduino pro mini 328p @ 8MHz @ 5V
// IDE 1.0.2
//
// A6; analog 6; potenciometr
// D2; DO; PD2; limit 0; led '0' - sviti {lim0l..lim0h}
// D3; DO; PD3; limit 1; led '0' - sviti {lim1l..lim1h}
// D4; DO; PD4; out of limit; led '0' - sviti {default}
//
// A7; analog 7; potenciometr
// D5; DO; PD5; limit 0; led '0' - sviti {lim0l..lim0h}
// D6; DO; PD6; limit 1; led '0' - sviti {lim1l..lim1h}
// D7; DO; PD7; out of limit; led '0' - sviti {default}
- Přílohy
-
- analog.zip
- window comparator
- (1.23 KiB) Staženo 156 x
- monterjirka
- Příspěvky: 2761
- Registrován: 14 čer 2003, 02:00
- Bydliště: Blížejov
Tohle někdo z vás nezkoušel?
Já o tom uvažuji, Arduino mají "všude", ethernetový modul také...
Jen ten modul s audiovýstupem je přes 500Kč u TME, ale to by ještě šlo...
http://www.serasidis.gr/circuits/Arduin ... player.htm
Já o tom uvažuji, Arduino mají "všude", ethernetový modul také...
Jen ten modul s audiovýstupem je přes 500Kč u TME, ale to by ještě šlo...
http://www.serasidis.gr/circuits/Arduin ... player.htm
Jestli nenechat to Arduino jen na obsluhu tlačítek a LCD displeje a na zbytek použít RPi http://www.instructables.com/id/Arduino ... net-Radio/
EDIT: tady je projekt pro webrádio na RaspberryPi & Atmel http://rn-wissen.de/wiki/index.php/Rasp ... ernetradio. Je to sice v NJ, ale vypdá to velice pěkně
EDIT: tady je projekt pro webrádio na RaspberryPi & Atmel http://rn-wissen.de/wiki/index.php/Rasp ... ernetradio. Je to sice v NJ, ale vypdá to velice pěkně
Znáte to, potřebujete kroutit potenciometrem na vstupu a na výstupu mít časový impuls např. 100ms..1min.
Z nějakého důvodu vám nevyhovuje lineární průběh y[time]=k*x[voltage]+b. Potom přijde vhod po částech lineární funkce !
Níže uvedený příklad ukazuje jak na to. Navíc je zde použitý trik s rychlým násobením.
Z nějakého důvodu vám nevyhovuje lineární průběh y[time]=k*x[voltage]+b. Potom přijde vhod po částech lineární funkce !
Níže uvedený příklad ukazuje jak na to. Navíc je zde použitý trik s rychlým násobením.
- Přílohy
-
- 151020_convert_img.gif
- piecewise linear function
- (8.39 KiB) Staženo 147 x
-
- test_151020_ino.txt
- code
- (856 bajtů) Staženo 185 x
Sice je to mírně OT, ale když už se mluví o firmware - nemá někdo zkušenost s vlastním hardlockem? Léta jsem používal do aplikací Sentinel SuperPro, ale ten se přestal vyrábět. V souvislosti s tím uvažuji o vlastní konstrukci na bázi ATMega88/168/328 + CH340G. Mělo by to umět funkce jako měl Sentinel SuperPro:
- individuální personalizace pro určitého vývojáře
- individuálně nastavitelné a heslem aktivovatelné šifrovací buňky
- datové buňky s autentizovaným přepisem
- individuální personalizace pro určitého vývojáře
- individuálně nastavitelné a heslem aktivovatelné šifrovací buňky
- datové buňky s autentizovaným přepisem