Arduino pomoc

Odpovědět
Mex
Příspěvky: 10287
Registrován: 6. 2. 2014, 10:29

21. 12. 2014, 3:10

Já bych to poprvé projel s ručním řízením a on by příště tuhle trasu jenom opakoval.
Jen bude třeba udělat nějaké ošetření překážky na trati. Ale možná by stačilo, že by se jenom zastavil a začal řvát. Aspoň si lidské osazenstvo zvykne nenechávat na trávníku bordel.
Asi by se tam musely dát i nějaké majáky, aby dokázal korigovat drobné odchylky své absolutní polohy.
lubos
Sponzor fora
Příspěvky: 5088
Registrován: 2. 5. 2007, 3:47
Bydliště: Praha

21. 12. 2014, 3:27

Zkus nějaké robo forum, tam to podle mě musí být vyřešené. Já bych to řešil pomocí tohoto čidla
http://www.tautvidas.com/blog/2012/08/d ... d-arduino/" onclick="window.open(this.href);return false;
Pro pohon by to asi chtělo něco co má na sobě enkodery aby jsi mohl alespon řádově měřit ujetou vzdálenost a z toho si udělat nějakou rozumnou mapu.
Třeba něco jako toto
http://www.snailshop.cz/prevodove-25-mm ... arbox.html" onclick="window.open(this.href);return false;
nevím jak velké to máš. Možná by to šlo udělat i pro pohon s KM, jsou relativně levné k tomu nějako pololu s A4988.
XpertMill, Gravos, Ninos, Galaad
IQ156
-1500Kč, -520Kč, -1čokoláda, - 28000Kč
www.freeair.cz www.rotexelectric.eu www.retrofitcnc.cz
Uživatelský avatar
packa
Příspěvky: 6943
Registrován: 7. 2. 2007, 6:42
Bydliště: Královehradecký kraj

21. 12. 2014, 3:39

to není taky špatný nápad , ale chtěl jsem aby si stím poradil sám , mám představu že bude mít vepředu tři ultrazvukový čidla , jedno uprostřed a dvě šíkmo do strany , díky tomu bude přesně vědět kde je překážka , nějaký enkodery v kolech jsem nechtěl , ale asi to bude lepší kdyby se z nějakého důvodu o něco zastavil tak na nepoháněným kole bude snímat jestly je opravdu v pohybu .
myslel jsem si žebych ho nechal aby najel na zed srovnal se podel ní a až by najel na další překážku -(zed) tak by zahnul o 90°a při daší detkci by se posunul o záběr vedle , jen mu pak ještě říct jak se zachovat v případě detekce překážky která není zed , což by nebyl problém vyhodnotiz z těch třech čidel.
robo or.JPG
lubos
Sponzor fora
Příspěvky: 5088
Registrován: 2. 5. 2007, 3:47
Bydliště: Praha

21. 12. 2014, 3:51

to by asi šlo když to bude otevřené ale co když narazí kousek od rohu na překážku, bude se pak točit v rohu do kola, případně když by měl pozkoumat tvar kříže tak bude jezditjen jako by v obelníku , pokud nebudeš zaznamenávat trasu opravdu přesně. Já bych to řešil ( neříkám že je to správně) tak že bych zkusil nejdříve objet komplet obvod. Určitě bych poutil digitální kompas a možná i gpsku. Pokud bude obvod přibližné známý můžu řešit prozkoumávání co je uvnitř. Záleží ale jak moc to chceš mít univerzální. Jak jak tak bych digitáln kompas použil aby robot po nerovném povrchu jel rovně a díky nerovnostem neztrácel směr, pochybuji že by zde přesnost gpsky byla dostatečná ( ale možná se pletu). Taky je otázka zda to chceš řešit jako tupou věc která se dá do nějakého modu prozkoumávání a pak se přepne pro provoz a hotovo ( jen s ošetřením náhodných překážek) nebo zda to má být autonomní věc ( to v případě že by změna provrchu překážek a jiných nečekaných událostí ( psi , děti) měla být častější)).
XpertMill, Gravos, Ninos, Galaad
IQ156
-1500Kč, -520Kč, -1čokoláda, - 28000Kč
www.freeair.cz www.rotexelectric.eu www.retrofitcnc.cz
Uživatelský avatar
packa
Příspěvky: 6943
Registrován: 7. 2. 2007, 6:42
Bydliště: Královehradecký kraj

21. 12. 2014, 4:05

kompas a gps bych tam dávat nechtěl , tím se to strašně komplikuje , více méně to bude jezdit jen pod barákem na zahradě ,(obdelník) a taky to musí být řešitelný i při mých programátorských zkušenostech - takže hodně malých .
Když vezmu že skoro žádný z prodávaných robo vysavačů se neumí pořádně zorientovat v prostoru a jezdí prostě nablind s tím že dřív či pozděj vykreje celou plochu , tak nemůžem chtít po mě abych naprogramoval perfektně se samo navigujícího robota . :D
lubos
Sponzor fora
Příspěvky: 5088
Registrován: 2. 5. 2007, 3:47
Bydliště: Praha

21. 12. 2014, 4:11

Když jsi dal ten display tak tohle dáš taky, navíc podle mě ne na netu opravdu hodně inspirace a arduina je všude 3 pytle. Pokud je to obdelník tak bych to asi udělal jak jsi psal, jen bych tam dal ten digitální kompas aby jsi udržel přímku cesty. Zkus si ujít na slepo 40 metrů a zjistíš že rovně rozhodně neujdeš, stejně tak když vemeš autíčko na vysílačku tak nikdy po zahradě rovně nepřejede. Myslím že bez kompasu to bude neefektivní ( skoro bych řekl nepoužitelné).
XpertMill, Gravos, Ninos, Galaad
IQ156
-1500Kč, -520Kč, -1čokoláda, - 28000Kč
www.freeair.cz www.rotexelectric.eu www.retrofitcnc.cz
Uživatelský avatar
packa
Příspěvky: 6943
Registrován: 7. 2. 2007, 6:42
Bydliště: Královehradecký kraj

21. 12. 2014, 4:35

ok tak kompas by šel
Uživatelský avatar
packa
Příspěvky: 6943
Registrován: 7. 2. 2007, 6:42
Bydliště: Královehradecký kraj

29. 12. 2014, 5:15

Zdravím mám dotaz ohledně programování arduina , mám program kde mi poběží několik smyček ,
je nějaká možnost jak v jedné znich naprogramovat prodlevu , ale aby se neprojevila do ostatních ??
když použiji delay tak se to projeví u všech .
Dík
Packa
Uživatelský avatar
packa
Příspěvky: 6943
Registrován: 7. 2. 2007, 6:42
Bydliště: Královehradecký kraj

21. 2. 2015, 6:18

Prosím zdejší odborníky programátory o nakopnutí , řeším takový problém , mám zapsanou podmínku kde pokud senzor vzdálenosti dosáhne určité hodnoty tak se provedou podmínky ( změní se rychlost- směr otáčení motorů ) , ale jakmile se hodnota snímače dostane nad nastavenou hodnotu tak se uplatnují jiné podmínky , to je logické , ale já bych potřeboval nastavit jak dlouho se má ta podmínka ještě uplatňovat i potom co se snímač dostane nad nastavenou hodnotu.


Příklad : robot přijede k překážce na vzdálenost X pokud je vzdálenost menší než x tak robot ví že se má otočit , jenže když se otáčí tak se dostane nad hodnotu X a snaží se jet zase dopředu , takže mu potřebuju říct jak dlouho se má provést otáčecí procedura .

vím že to není idealní řešení je to jen pokusné , chystám verzi s kompasem kde bude vědět jak se má točit , ale ted bych potřeboval tohle rozchodit .
Děkuji za rady
Packa
Uživatelský avatar
robokop
Site Admin
Příspěvky: 22385
Registrován: 10. 7. 2006, 12:12
Bydliště: Praha
Kontaktovat uživatele:

21. 2. 2015, 6:19

http://cs.wikipedia.org/wiki/Hystereze" onclick="window.open(this.href);return false;
Vsechna prava na chyby vyhrazena (E)
Uživatelský avatar
packa
Příspěvky: 6943
Registrován: 7. 2. 2007, 6:42
Bydliště: Královehradecký kraj

21. 2. 2015, 6:30

jo jasný hystereze je jasná , ale tady bych spíš potřeboval pořešit čas otáčení a v ten moment ignorovat čidla

if (cmL <= vzdalenost_rev) {
L_sensorValue = (speed_rev1+512 );
R_sensorValue = (speed_rev2+512 );
a právě když je toto splněno tak aby se ty motory dle tohoto nastavení otáčely po nastavenou dobu
Naposledy upravil(a) packa dne 21. 2. 2015, 6:34, celkem upraveno 1 x.
Uživatelský avatar
robokop
Site Admin
Příspěvky: 22385
Registrován: 10. 7. 2006, 12:12
Bydliště: Praha
Kontaktovat uživatele:

21. 2. 2015, 6:32

tak nejakej sleep

nebo casovac a treba v preruseni nastavit nejaky flag
na ktery bude reagovat hlavni smycka
Vsechna prava na chyby vyhrazena (E)
Uživatelský avatar
jova
Příspěvky: 2510
Registrován: 2. 11. 2007, 1:40
Bydliště: Chýnov to je kousek od Tábora
Kontaktovat uživatele:

21. 2. 2015, 6:49

Arduino neznám, ale nedalo by se to řešit třeba odskokem do podprogramu, kde by jsi pevně nadefinoval jak se mají motory točit? Předpokládám že by to zřejmě muselo být časem když nemáš snímání otáček koleček.
Uživatelský avatar
Hades
Příspěvky: 1206
Registrován: 11. 10. 2012, 10:59
Bydliště: Praha; Mimoň

21. 2. 2015, 8:18

[OT:]
kurňa, já si snad tu sr...ku objednám, když už se do toho pustil i Mex a nastudoval to takhle hluboko :D
[/OT:]
Uživatelský avatar
packa
Příspěvky: 6943
Registrován: 7. 2. 2007, 6:42
Bydliště: Královehradecký kraj

21. 2. 2015, 8:21

jo objednej , aspoň mi budeš moc radit :D
Odpovědět

Zpět na „Ostatní elektronika“