Arduino kezdő segítség
Sziasztok.
Helló!
Aha én elolvastam amit ott ír. De ez a link csak egy példa volt. Egyébként én mit értek a lassuság alatt? Pl. ma csináltam egy tiszta jó dolgot. Az I2C elég lassúnak tünt. Megjegyzem nem azonos mikrokontrollerek közt. Az egyik egy atmega644 a másik egy atmega8. Meg hát az egészre rávan kötve a PC és az Arduino kommunikál egy általam írt C programmal, majd bizonyos müveletek történnek. ...Aztán közbe a mikrokontroller számol, rávan kötve kettő darab RF mdul (egy RX és egy TX) és ott van egy Mátrix billentyű is amelynek vezélrési szerepe van.A mikrokontroller pedig pl. én nyomom a billentyűt 5 s -ig és öt s múlva 15 s késleleteés után elküldi ezt. És hát mivel a késleltetés kevesebb legyen ezért még kicsit feltúrbóztam,hogy Ha pl. 5 s-ig nyomom az előre billentyűt akkor csak 10 s-t késleltessen. Az egész egy robot vezérlője,ami a Magyarok a Marsonra készül. De akadnak nagyon súlyos hibák. Pl. a mikrokontroller annyira levan terhelve,hogy rendesen melegedett meg hát voltak 0.5 s-s késések... Ezért ma nagy ötlet támadt. Csak akor figyelem a portokat meg mindenre csak akkor koncentrál a mikrokontroller ha adat jön vagy adatot kell közvetíteni és nem folyamatos akkor a kommunikáció.Tehát nem kér adatot a port TX-éről mikor nem kell. Hiszitek nem egyszerűen csodálatos eredmény szülketett. Már nem meleg a mikrokontroller és hát szemmel láthatóan gyorsabb.
És ha már a téma neve Arduino kezdő segítség akkor van egy szuper segítségem: Egyik ismerősnek adok órákat és kérdezte,hogy nem ismerek az Arduino-hoz valami vizuális fejlesztő környezetet? Mondom én nem. Beírtam a neten és kaptam valami nagyon érdekeset. Tehát Visual Arduino programozás. A program neve Amici és itt lehet letölteni:
http://dimeb.informatik.uni-bremen.de/eduwear/?m=201002
Bár én biztos programozni fogom az Arduino programokat és minden más programomat, nem nagyon szeretem a Vizuális programozást. ha lehetne egyáltalán ezt programozásnak nevezni. Egyébként ha mégis valaki nem akar programot írni,hanem csak klikkelgetni és odahúzogatni a tömböket,akkor ez a program egy gyors megoldás, és ami jó,hogy a vizálisan megalkotott program egy kis mezőbe a progi lefordítja kóddá. Kimásoljuk, és beillesztjük az Arduinoprogramba és mehet az égetés Bár nem tudom,szerintem már az Aici-ből lehet ptogramozni.
Ha valaki nem szeretné az AVR-t,de mégis megragadja az Arduino nyelv,akkor ajánlom figyelmükbe:
http://en.wikipedia.org/wiki/Arduino#Non-ATmega_boards
Arduino hackok nagy darabszámban itt: http://hackaday.com/category/arduino-hacks/
Mára enyi.
Helló!
Aha én elolvastam amit ott ír. De ez a link csak egy példa volt. Egyébként én mit értek a lassuság alatt? Pl. ma csináltam egy tiszta jó dolgot. Az I2C elég lassúnak tünt. Megjegyzem nem azonos mikrokontrollerek közt. Az egyik egy atmega644 a másik egy atmega8. Meg hát az egészre rávan kötve a PC és az Arduino kommunikál egy általam írt C programmal, majd bizonyos müveletek történnek. ...Aztán közbe a mikrokontroller számol, rávan kötve kettő darab RF mdul (egy RX és egy TX) és ott van egy Mátrix billentyű is amelynek vezélrési szerepe van.A mikrokontroller pedig pl. én nyomom a billentyűt 5 s -ig és öt s múlva 15 s késleleteés után elküldi ezt. És hát mivel a késleltetés kevesebb legyen ezért még kicsit feltúrbóztam,hogy Ha pl. 5 s-ig nyomom az előre billentyűt akkor csak 10 s-t késleltessen. Az egész egy robot vezérlője,ami a Magyarok a Marsonra készül. De akadnak nagyon súlyos hibák. Pl. a mikrokontroller annyira levan terhelve,hogy rendesen melegedett meg hát voltak 0.5 s-s késések... Ezért ma nagy ötlet támadt. Csak akor figyelem a portokat meg mindenre csak akkor koncentrál a mikrokontroller ha adat jön vagy adatot kell közvetíteni és nem folyamatos akkor a kommunikáció.Tehát nem kér adatot a port TX-éről mikor nem kell. Hiszitek nem egyszerűen csodálatos eredmény szülketett. Már nem meleg a mikrokontroller és hát szemmel láthatóan gyorsabb.
És ha már a téma neve Arduino kezdő segítség akkor van egy szuper segítségem: Egyik ismerősnek adok órákat és kérdezte,hogy nem ismerek az Arduino-hoz valami vizuális fejlesztő környezetet? Mondom én nem. Beírtam a neten és kaptam valami nagyon érdekeset. Tehát Visual Arduino programozás. A program neve Amici és itt lehet letölteni:
http://dimeb.informatik.uni-bremen.de/eduwear/?m=201002
Bár én biztos programozni fogom az Arduino programokat és minden más programomat, nem nagyon szeretem a Vizuális programozást. ha lehetne egyáltalán ezt programozásnak nevezni. Egyébként ha mégis valaki nem akar programot írni,hanem csak klikkelgetni és odahúzogatni a tömböket,akkor ez a program egy gyors megoldás, és ami jó,hogy a vizálisan megalkotott program egy kis mezőbe a progi lefordítja kóddá. Kimásoljuk, és beillesztjük az Arduinoprogramba és mehet az égetés Bár nem tudom,szerintem már az Aici-ből lehet ptogramozni.
Ha valaki nem szeretné az AVR-t,de mégis megragadja az Arduino nyelv,akkor ajánlom figyelmükbe:
http://en.wikipedia.org/wiki/Arduino#Non-ATmega_boards
Arduino hackok nagy darabszámban itt: http://hackaday.com/category/arduino-hacks/
Mára enyi.
Helló!
Ha melegszik a chip:
- rövidzár, 2 láb szembekötve
- túlfeszültség tápon vagy lábon át...
Az ATMega NEM PC, hogy HALT utasítással hűlne!
A megszakításkezelés a funkcionális felépítés segítségével _nem_ terheled a procit felesleges várakozásokkal (pl. delay, sorosportra várás stb). Érdekes módon nem lenne 5-15 sec reakcióidő! Ez igen erősen programozási hiba lesz valahol....
A RX nem _kér_ adatot. Ha megnézed, hogy _van-e_ adat a bufferban, vagy a Rx INT-en keresztül lehet, nem kell várakozni....
A Visual környezettel NEM tanulsz.
Valamit összerakosgatsz, ami jó esetben működik...
De az _nem_ programozás... (szerintem)
- rövidzár, 2 láb szembekötve
- túlfeszültség tápon vagy lábon át...
Az ATMega NEM PC, hogy HALT utasítással hűlne!
A megszakításkezelés a funkcionális felépítés segítségével _nem_ terheled a procit felesleges várakozásokkal (pl. delay, sorosportra várás stb). Érdekes módon nem lenne 5-15 sec reakcióidő! Ez igen erősen programozási hiba lesz valahol....
A RX nem _kér_ adatot. Ha megnézed, hogy _van-e_ adat a bufferban, vagy a Rx INT-en keresztül lehet, nem kell várakozni....
A Visual környezettel NEM tanulsz.
Valamit összerakosgatsz, ami jó esetben működik...
De az _nem_ programozás... (szerintem)
Amennyire én tudom az AVR nem tud pihenni. Mindig csinál valamit. (Kivéve a Suspend módokat.) Vagyis nem tudsz úgy optimalizálni, hogy kevésbé melegedjen. (Oké, lehet, hogy vannak melegedősebb műveletek, de azok inkább EPROM írás, vagy ilyesmi.)Pl. a mikrokontroller annyira levan terhelve,hogy rendesen melegedett meg hát voltak 0.5 s-s késések
A melegedés szerintem is valami amperos terhelés probléma lehet(ett). Nem mindegy, hogy hány (mili)amper folyik a mikrokontrolleren. Pl. mondják, hogy a LED-et is inverzben illik bekörni, ti. alacsonyba kapcsolva menjen a terhelés.
http://www.avrtutor.com/tutorial/thermo/ioports.php
A sebességre visszatérve: 16MHz. Tegyük fel, hogy az Arduino optimalizálatlanságán mondjuk bukjuk a lehetőségek 90%-át. Fél másodperced alatt még így is félmillió művelet hajt végre... A processzor olyan őrületesen gyors, hogy pihenő időben tudná sugározni a Kossuth rádiót középhullámon amplidudó modulációval.
Ha sok IO eszközöd van, talán érdekelhet a (New)SoftSerial:
http://arduiniana.org/libraries/NewSoftSerial/
A hozzászólást 2 alkalommal szerkesztették, utoljára prmpec 2010. március 5. péntek, 22:20-kor.
Helló.
Egyébként kedves Róbert van néhány dolog amit nem tudtál. Minek van a 15 s várakozás? Mert a magyarok a Marson verseny előírja,hogy minden adatküldés és fogadás 15 s-t kell késsen. Bár ezt leírtam az előbbi hozzászólásomban .Lehet valamit rosszul értettél.
És én egy szóval sem mondtam,hogy én Visual-t használok. Ezentúl szépen kérem a hozzászólás figyelmes elolvasását(Ez nem Róberthez szól,hanem mindenkihez és mindenkinek illik elolvasni figyelesen a hozzászólását vagy bármit... ):
Idézek:
Na helló.
És én egy szóval sem mondtam,hogy én Visual-t használok. Ezentúl szépen kérem a hozzászólás figyelmes elolvasását(Ez nem Róberthez szól,hanem mindenkihez és mindenkinek illik elolvasni figyelesen a hozzászólását vagy bármit... ):
Idézek:
2 pedig én életemben nem használtam ezt a programot a gépemen sem volt, csak a neten kaptam. És nagyon jól látszik a hozzászólásomban,hogy én nem ahasználom és nem is akarom. És én is írtam,hogy az nem programozás. Én Arduino-t kézi kóddal írom meg, és nem némi kockával. És hát az Arduino-val készítettem már nagyon fontos és érdekes programokat. Nem némi AI Chat meg ilyenek amiket a versenyre küldtem be,hanem olyan projektet,amivel rám figyelt az Imagine Cup és sok sikerrel sikerült beszélgetni Bill Gatessel is interneten. Mentem volna az Imagine Cupra-csak nem engedtek hisz nem vagyok 16 éves. Bár a projektért nagyon értékes nyereménnyel és pénzszöszeggel megdíjaztak. Az egész program arról szól,hogy a PC-t irányíthatjuk egy kesztyűvel amin van gyro. és accelerom. és úgy irányítom a teljes PC-t illetve mindent. És ami nekük nagyon tetszett,hogy az alkalmazást nekük bemutattam 3 D-s szemüveggel és akkor kijött egy kocka annak változtattam a kesztyűvel a színét,formáját illetve helyzetét és tetszett nekük,hogy az alkalmazást a google earth-ban is bemutattam,ahol a kezemmel vezéreltem mindent. És ami érdekes volt,hogy csináltam egy vagány programot,amely mindent Anaglyph-ban mutat ami a képernyon van. És az egész Google Earth 3D lett és az is kijött és mindent látthattam térhatásba. A másik projekt egy Digital Signal Processing volt,amely a szavaimra végzett el különböző feladatokat. Az egyik az,hogy azt mondtam,hogy start akkor megjelent a Start menü ha mondtam minden fájl megjelent a minden fájl és az ott szerplő program nevét ha mondtam az megnyílt. Elég egyszerű mégis egy jó példa arra,hogyan lehet szavainakl számítógépet vezérelni. Hiszitek nem, mindent Arduino-ban csináltam alig 10% volt C. Mivel mindig az ismert két nyelv közül azt a nyelvet választom amelyel könyebben meglehet oldani.Hát ilyen projektnél a mikrokontroller az egyszerűbb. Viszont a 3D-s modulhoz már a PC programozás könyebb.Bár én biztos programozni fogom az Arduino programokat és minden más programomat, nem nagyon szeretem a Vizuális programozást. ha lehetne egyáltalán ezt programozásnak nevezni.
Na helló.
A hozzászólást 2 alkalommal szerkesztették, utoljára boczhunor 2010. március 7. vasárnap, 14:55-kor.
"kesztyűvel amin van gyro. és accelerom"
Ilyenen anno én is agyaltam, de az újjak állapotát is aktív elem érzékeli?
Van olyan vékony rugalmas fonalam, ami a nyúlással arányosan változtatja az ellenállását. Én azzal képzeltem érzékelni az újjak kinyújtott/becsukott állapotát. Bírkaság, most már látom Mondjuk ez régen vóóót...
JAni
Ilyenen anno én is agyaltam, de az újjak állapotát is aktív elem érzékeli?
Van olyan vékony rugalmas fonalam, ami a nyúlással arányosan változtatja az ellenállását. Én azzal képzeltem érzékelni az újjak kinyújtott/becsukott állapotát. Bírkaság, most már látom Mondjuk ez régen vóóót...
JAni
Helló.
Helló.
"az újjak állapotát is aktív elem érzékeli? "
Az újjaim mozgását egy erőmérő kis lapka végzi,amely az újak hajlatainál van,és ha az újjunkat behajlítjuk erővel hatunk rá,és változik az ellenállása. És azt beolvassa a mikrokontroller.
"Ha sok IO eszközöd van, talán érdekelhet a (New)SoftSerial"
Egyébként ha megnézitek a versenyre beküldött egyik GPS,magasságmérő és gyorsulásmérő projektemet látjátok,hogy ott is használom a NewSoftSerial-t. Elég sokszor szoktam használni. Bár ,hogy a programok legyenek változatosak jön néha a Wire.h...
De úgylátszik,megbűvan a hiba oka. Bár mondtam,hogy ha nem figyelem mindi a kommunikációt, és persze nem eepromolok nem melegedik. De ami érdekes,hogy kicseréltem az AVR-t egy vadonat új chippre és betettem ma reggel az összes funkciót. Tehát folyamatos olvasás ,eeprom használat... és semmi gond sem volt. Bár igaz a Chip ami volt eredetileg egy használt chip volt. És hát nem volt rajta bootloader,hisz pasi akitől vettem 100 ft-s áron per darab ami nagyon jó ár ,igaz használtan ő AVRStudio-ban programozott. Lehet megterhelte,hogy sok rátettem a bootloadert. Bár én ezt a tényezőt kizárom. Amit mégis elfogadni kívánok,hogy a Chip megöregedése következett be. Mivel apasi szerint éjjel nappal üzemmódban voltak heteken keresztül. És szerintem ez okozta a problémát. És lehet,hogy a belső I/O perfériával is gond van. Nem tudom. Az a fő,hogy új chiipet tettem bele és minden rendben.
Ja, és még valami. Normál tápról megy minen stabilizálva... de csak ennél a projektnél volt ez a gond. Atöbbinél semmi. És proóbáltam NewSoftSeriallal és az eredmény semmivel se változott...
Kössz mindenkinek az irogatást.
Na sziasztok!
"az újjak állapotát is aktív elem érzékeli? "
Az újjaim mozgását egy erőmérő kis lapka végzi,amely az újak hajlatainál van,és ha az újjunkat behajlítjuk erővel hatunk rá,és változik az ellenállása. És azt beolvassa a mikrokontroller.
"Ha sok IO eszközöd van, talán érdekelhet a (New)SoftSerial"
Egyébként ha megnézitek a versenyre beküldött egyik GPS,magasságmérő és gyorsulásmérő projektemet látjátok,hogy ott is használom a NewSoftSerial-t. Elég sokszor szoktam használni. Bár ,hogy a programok legyenek változatosak jön néha a Wire.h...
De úgylátszik,megbűvan a hiba oka. Bár mondtam,hogy ha nem figyelem mindi a kommunikációt, és persze nem eepromolok nem melegedik. De ami érdekes,hogy kicseréltem az AVR-t egy vadonat új chippre és betettem ma reggel az összes funkciót. Tehát folyamatos olvasás ,eeprom használat... és semmi gond sem volt. Bár igaz a Chip ami volt eredetileg egy használt chip volt. És hát nem volt rajta bootloader,hisz pasi akitől vettem 100 ft-s áron per darab ami nagyon jó ár ,igaz használtan ő AVRStudio-ban programozott. Lehet megterhelte,hogy sok rátettem a bootloadert. Bár én ezt a tényezőt kizárom. Amit mégis elfogadni kívánok,hogy a Chip megöregedése következett be. Mivel apasi szerint éjjel nappal üzemmódban voltak heteken keresztül. És szerintem ez okozta a problémát. És lehet,hogy a belső I/O perfériával is gond van. Nem tudom. Az a fő,hogy új chiipet tettem bele és minden rendben.
Ja, és még valami. Normál tápról megy minen stabilizálva... de csak ennél a projektnél volt ez a gond. Atöbbinél semmi. És proóbáltam NewSoftSeriallal és az eredmény semmivel se változott...
Kössz mindenkinek az irogatást.
Na sziasztok!
Sziasztok !
Egy kis segítséget kérnék valakitől, aki jobban ért hozzá mint én.
Van egy AVR-Duino miniboard-om (r9)-es. Ezt próbálnám meg Arduino-ból programozni. (BASCOM-ból ment a programozás STK200-as programozóval).
Az USB-s illesztő telepítése megtörtént (COM2-re raktam, 18200-ra állítottam).
Elindítottam az Arduino programot (0021-es verzió), kiválasztottam a panelt (Arduino NG or older w/AT Mega168), majd betöltöttem a példák közül a Blink-et.
Az Upload gombra kattintva (némi várakozás után) a következő hibaüzenetet kapom:
avrdude: stk500_getsync(): not in sync: resp=0x00
avrdude: stk500_disable(): protocol error, expect=0x14, resp=0x51
Mit csinálok rosszul, hi lehet a probléma ?
Köszönettel vennék bármilyen segítséget.
Sziasztok
Egy kis segítséget kérnék valakitől, aki jobban ért hozzá mint én.
Van egy AVR-Duino miniboard-om (r9)-es. Ezt próbálnám meg Arduino-ból programozni. (BASCOM-ból ment a programozás STK200-as programozóval).
Az USB-s illesztő telepítése megtörtént (COM2-re raktam, 18200-ra állítottam).
Elindítottam az Arduino programot (0021-es verzió), kiválasztottam a panelt (Arduino NG or older w/AT Mega168), majd betöltöttem a példák közül a Blink-et.
Az Upload gombra kattintva (némi várakozás után) a következő hibaüzenetet kapom:
avrdude: stk500_getsync(): not in sync: resp=0x00
avrdude: stk500_disable(): protocol error, expect=0x14, resp=0x51
Mit csinálok rosszul, hi lehet a probléma ?
Köszönettel vennék bármilyen segítséget.
Sziasztok
Volna egy kis problémám.
Üdvözlet és Boldog Új Évet mindenkinek.
Arduino-t szeretnék programozni Bascom alatt. A Batch-file be lett másolva a főkönyvtárba. A programot lefordította a Bascom. A Chip-be töltéskor a következő látható: Mit ronthattam el?
Köszönettel:raubgraf. [/img]
Arduino-t szeretnék programozni Bascom alatt. A Batch-file be lett másolva a főkönyvtárba. A programot lefordította a Bascom. A Chip-be töltéskor a következő látható: Mit ronthattam el?
Köszönettel:raubgraf. [/img]
A könyvtár elérését kijavítottad a bat file elején?
A két set sor...
A hivatkozott helyen nincs a keresett file....
Nálam ez a bat van, a bat a d:\ alatt, az arduino a c:\program files\arduino-0022 alatt.
A két set sor...
A hivatkozott helyen nincs a keresett file....
Nálam ez a bat van, a bat a d:\ alatt, az arduino a c:\program files\arduino-0022 alatt.
Kód: Egész kijelölése
@echo off
title TavIR-Duino
echo.
echo AVR-Duino/Arduino uploader for Bascom by AVRDuDe
echo Version: 0.7 alpha for Arduino-NG / Arduino-Diecimila / Arduino UNO / Wiring-Mega128 / Arduino-Mega1280.2560
echo Contact: csehrobert(at)tavir(dot)hu
echo http://avr.tavir.hu
echo (c) 2011-01-03
echo.
set avrdudefile=C:\Program files\arduino-0022\hardware\tools\avr\bin
set avrdudeconf=C:\Program files\arduino-0022\hardware\tools\avr\etc\avrdude.conf
set comport=COM6
set chip=168
set debug=0
if %debug% == 0 goto next
echo Param1:%1
echo Param2:%2
echo Param3:%3
echo Param4:%4
echo Param5:%5
echo Param6:%6
echo Param7:%7
echo Param8:%8
echo Param9:%9
echo.
:next
if "%1" == "" echo Usage: duino.bat "flash.hex" "eeprom.hex" ("comx" "chip")
if "%1" == "" echo.
if "%1" == "" echo Where flash.hex - flash file to write to AVR (hex format)
if "%1" == "" echo eeprom.hex - eeprom file to write to AVR (hex format)
if "%1" == "" echo comx - serial, where connected the AVR-Duino (optional)
if "%1" == "" echo chip - chip name which in AVR-Duino (optional)
if "%1" == "" echo.
if "%1" == "" echo there are some optional/default parameter (Com:%comport% and chip:%chip%)
echo.
echo.
echo Flash : %1
echo EEPROM : %2
if "%3" == "" echo COM : %comport% (default)
if NOT "%3" == "" echo COM : %3
if NOT "%3" == "" set comport=%3
if "%4" == "" echo Chip : %chip% (default)
if NOT "%4" == "" echo Chip : %4
if NOT "%4" == "" set chip=%4
echo.
rem cd "%avrdudefile%"
rem avrdude.exe -C "%avrdudeconf%" -p m168 -c avrisp -P %comport% -b 19200 -U flash:w:%1:a
if %chip% == 8 "%avrdudefile%\avrdude.exe" -C "%avrdudeconf%" -p m8 -c avrisp -P %comport% -b 19200 -U flash:w:%1:a
if %chip% == 168 "%avrdudefile%\avrdude.exe" -C "%avrdudeconf%" -p m168 -c avrisp -P %comport% -b 19200 -U flash:w:%1:a
if %chip% == 328 "%avrdudefile%\avrdude.exe" -C "%avrdudeconf%" -p m328p -c stk500 -P %comport% -b 57600 -U flash:w:%1:a
if %chip% == 328UNO "%avrdudefile%\avrdude.exe" -C "%avrdudeconf%" -p auto -c stk500 -P %comport% -b 115200 -U flash:w:%1:a
if %chip% == 128 "%avrdudefile%\avrdude.exe" -C "%avrdudeconf%" -p m128 -c stk500v2 -P %comport% -b 115200 -U flash:w:%1:a
if %chip% == 1280 "%avrdudefile%\avrdude.exe" -C "%avrdudeconf%" -p m1280 -c stk500 -P %comport% -b 57600 -U flash:w:%1:a
if %chip% == 2560 "%avrdudefile%\avrdude.exe" -C "%avrdudeconf%" -p m2560 -c stk500v2 -P %comport% -b 115200 -U flash:w:%1:a
pause