» »

Programiranje preprostega robota

Programiranje preprostega robota

Chester ::

Živjo,

sem iz strojne smeri in me zelomoti, da na faksu nismo nikoli napisali nekega programa in potem sestavili nekega pimitivnega robota ki bi naš program izvaja (pa naj bo to nekakšo pomikanje,prižiganje ledic,...)

To mi zelo manjka, zato vas naprošam za pomoč, kako se to naredi sploh, rad bi imel neko tako malenkost doma, ki bi jo potem v programskem jeziku C (ali podobnem nasvet prosim) sprogramiral, kaj sploh potrebujem?

Lahko je to nekaj ledic ki potem po nekem vzorcu utripajo, samo nimam pojma kaj potrebujem za take stvari, bi pa stvari naročil v kaki elektro trgovini oz. conradu. Lahko mi svetujete tudi kakopametno literaturo. Moti me predvsem to, da vse kar smo na faksu pogramirali, smo pognali rezultat pa je bilviden samo na zaslonu, rad bi imel nekaj takega da program preko računalnika in potem krmilnika izvaja neke premike ali kaj podobnega.


Hvala za pomoč.
  • spremenil: Mavrik ()

pegasus ::

Jaz bi začel z lego mindstorm ...

garamond ::

Mogoče poglej za Arduino.

Yacked2 ::

Za to je potrebna samoiniciativa. Če te zanima, sem jaz doma naredil robota z dvema stepper motorjema ter Raspberry Pijem
Korak naprej ni vedno ustrezen...sploh če si na robu prepada!

Chester ::

Kako pa sestavis kaksno tako stvar. Kako se zacne, recimo da bi delal z led luckami ki potem utripajo kot diktira program. Vem da je potrebna samoinciativa treba je nekako zaceti. Programirati znam v cju in matlab.

Yacked2 ::

Poglej si za Raspberry Pi, to je tak majhen računalik, ki ima okoli 20 programljivih pinov, kamor lahko priklopiš te tvoje lučke
Korak naprej ni vedno ustrezen...sploh če si na robu prepada!

demon#666 ::

Načeloma bi rabu protoboard, jumper wires (moški-moški, moški-ženski, ženski-ženski oz. po potrebi), ledice (upori po potrebi) in seveda napravo kot je npr. Raspberry Pi ali kaj podobnega, ki ima programljive pine, ali pa če želiš tudi lahko namesto tega kupiš microcontroller in programator (npr. AVR).
Npr neki osnovnega z RPijem: klik.

Za žice lahko uporabiš tudi stare ide kable (da ne kupuješ novih) ;)
Sabertooth Z87|4670K|8GB|840 PRO 256GB|
R9 270X WindForce|Seasonic 660|Define R3

specing ::

Raspberry pi je en velik nateg in sploh neprimeren za krmiljenje ker nima zadostno število V/I pinov!

Poglej si tele boarde:
https://www.olimex.com/Products/OLinuXi...

Če te bolj zanima programiranje OS-less sistemov (brez Linuxa), si poglej
TI stellaris/Tiva boarde -- imajo vgrajen hardware debugger na plati:
https://estore.ti.com/Launchpads-C194.a...

Chester ::

Kako pa dejansko poteka programiranje? V katerem jeziku je najbolje? Pa kako te stvari povežeš na računalnik?

Aljaz1980 ::

Bi se pridružil uporabniku specing, kar se tiče rasberry. Ampak ne toliko zaradi števila pinov, ki se dajo povečat z namenskimi čipi preko I2C. Bolj zaradi tega, ker je dražji, ter ker se potem komplicira še z linux-om itd.

Čeprav launchpad ni slab, oziroma za price/performance je top.
Bi sam predlagal arduino, ker je z njim začeti preprosto, na internetu je toturial-ov malo morje, prav tako dodatne elektro opreme na ebay-u. Nakupiš, sestaviš in programiraš.
+ ima velik community

amacar ::

Mi smo delali s PICI (18f2550), jezikom C, ter programom MPLAB X.

d4vid ::

Jaz bi ti predlagal Arduino nano. Ima dovolj pinov za osnovno programiranje. Brez težav ga priklopiš na protoboard, programiranje v Basocmu je enostavno, pa cenovno je zelo ugoden (iz dealextrema npr.)
Main PC: Asus PN50 | AMD Ryzen 5 4500U | 16 GB RAM | 256 GB SSD
PC2: HP Z400 | Intel Xeon L5630 | 6 GB RAM | 120 GB SSD
Laptop: HP Elitebook 840G1 | Intel i5 | 8 GB RAM | 256 GB SSD

techfreak :) ::

specing je izjavil:

Raspberry pi je en velik nateg in sploh neprimeren za krmiljenje ker nima zadostno število V/I pinov!

Če rabiš več pinov imaš BeagleBoard Black.

Aljaz1980 je izjavil:

Bi se pridružil uporabniku specing, kar se tiče rasberry. Ampak ne toliko zaradi števila pinov, ki se dajo povečat z namenskimi čipi preko I2C. Bolj zaradi tega, ker je dražji, ter ker se potem komplicira še z linux-om itd.

Pri večini projektov je RTOS oz. že samo real-time delovanje potrebno samo na manjših delih (npr. krmiljenje motorja - PWM) ali pa mogoče kaj večjega v smislu lebdenja quadkopterja, za vse ostalo pa je par ms zamika nepomembno. Poleg tega ti RPi in podobne platforme omogočajo v kakšnem bolj produktivnem jeziku, prav tako pa lahko v krajšem času narediš več.

Aljaz1980 je izjavil:

Bi sam predlagal arduino, ker je z njim začeti preprosto, na internetu je toturial-ov malo morje, prav tako dodatne elektro opreme na ebay-u. Nakupiš, sestaviš in programiraš.
+ ima velik community

Se strinjam. Za ljudi brez osnove programiranje oz. brez nepoznavanja zadev je Arduino prava izbira. V nasprotnem primeru pa je cenovno precej ugoden STM32F3 Discovery oz. podobna plošča.

blackbfm ::

Rpi je prevec balasta za igrat se s parimi vhodi/izhodi, arduino je super

HighBane ::

Ardino Uno za mikrokrilnik ali pa Arduino Mega, če misliš da rabiš ogromno pinov. Dva motorčka za smer in premikanje. Možnost je da shekaš kak poceni avto na daljinca. Jaz imam dva (lobotomizirana) servota, ki se lahko vrtita neprestano v eno smer ali drugo s krmiljenjem. Navaden servo večinoma dovoljuje le premik do 180 stopinj.
Rabiš še par senzorjev, "ultrasonic" merilci razdalje so dober začetek, da robot ve kaj se dogaja okoli njega. Par servotov, ker ne moreš brez. Ledice za kontrolo in učenje. "breadboard", žice za prototipe (ebay breadboard wires). Ali pa najdeš kake že predpriplavljene kite za sestavo robota.

Tutoriali, tip uporablja arduinota bolj za LED projekte, samo začetek je enak.

itak37 ::

Jest priporocam kar kaksen Arduino starter kit iz ebaya, da ti ne bo treba kitajcev cakat.
http://www.ebay.co.uk/sch/i.html?_trksi...

Lightning17 ::

Imam podobno zadevo doma kot ta spodaj na linku, ki ima nek svoj software naložen gor... Plošča nima nobenih izhodov, možnosti za povezavo s PCjem... Rad bi ta software dal stran pa neko svojo zadevo spisal... Samo nevem kako povezat na računalnik... Če ima kdo idejo... Kitajci so nekako morali ta software naložit gor...

https://www.olimex.com/Products/OLinuXi...

Zgodovina sprememb…

Chester ::

Hvala za vse informacije, zanima me kako je pa potem s programiranjem teh stvari? Zdi se mi da imajo te Arduino-ti neke svoje platforme za programiranje. Kaj pa če be želel svojo kodo v C-ju uporabiti na kakem robotu, kako potem to naredim?

Wisse ::

V okviru starega UNI programa Mehatronike na FS Lj smo kar nekaj uric porabili za programiranje (ASM, C/C++, C#). Vsako leto je bilo možno sodelovati tudi pri gradnji kakšnega robotka (Eurobot, Sumobot,... ). Nekaj študentov je celo izdelalo in usposobilo SCARA robotsko roko.
Na žalost se večina strojnikov mehatroniki v velikem loku izogne in tako težko pridejo v stik s programiranjem (čeprav so tudi konstrukterji imeli nekaj C++ programiranja).

Glede konkretnega vprašanja, ti toplo priporočam Arduino oz. kar enega od kitov, ki jih je priporočil itak37.

itak37 je izjavil:

Jest priporocam kar kaksen Arduino starter kit iz ebaya, da ti ne bo treba kitajcev cakat.
http://www.ebay.co.uk/sch/i.html?_trksi...

Definitivno je to ena najbolj preprostih in celovitih platform, s katero lahko začneš pohod v svet krmiljenja.

Na začetku bi bilo mogoče pogledati kak zelo basic tutorial za Arduino ali C/C++, da se malo sploh seznaniš s sintakso in logičnimi koncepti pri programiranju. Arduino se programira v C++, vendar ima že vgrajenih mnogo funkcij, ki olajšajo krmiljenje.

Tudi elektrika potrebuje svojo mero pozornosti, da ne boš kuril komponent vsepovprek. Za začetek se je pametno dobro seznaniti s preprostim Ohmovim zakonom in komponentami kot je baterija (ali drug vir napetosti), upor, LED dioda, motorček, stikalo... Praktično vsem kar je v zgornjih starter kitih.

Po zgornjih dveh korakih pa lahko sprobavaš "Examples", ki jih vsebuje Arudino IDE (vmesnik za programiranje) oz ki so na voljo na spletu. Tako se boš najlažje seznanil s koncepti kot debounce, PWM, ...

Ne pozabi si pomagat s spletnimi brskalniki.

Primer robotka za Arduinom:

To je v celoti izdelal kolega strojnik. Robot uporablja Arduino krmilnik, ki je brezžično povezan s PCjem na katerega prelaga zahtevnejše izračune.

To so omenjeni Sumoboti:

Navadno se jih lotijo študenti brez posebnih programerskih izkušenj. V robotkih je spet uporabljen Arduino, ki se poveže z računalnikom. Kamera nad mizo spremlja položaj robotkov, upravlja pa jih algoritem od posameznih ekip.

Takih projektov je v Sloveniji in po svetu res malo morje. Malo se razglej in se česa loti. Seveda začni na začetku.

driver_x ::

Če se ti ne da zafrkavati še z elektroniko, bi ti priporočal (malo dražjega) Lego Mindstormsa. Programiraš ga lahko zelo enostavno (grafično) s priloženim okoljem, lahko pa nanj naložiš kakšen neuraden firmware (priporočam LeJos), kjer potem programiraš v Javi (s solidnim frameworkom za robotiko). Pri Mindstormsu ti predvsem ni treba skrbeti, da boš vse pravilno ožičil in da ne boš pri tem česa skuril. Plus je tudi to, da če si strojnik, boš lahko več časa posvetil knstrukciji robota.

Sam poznam še zgoraj omenjenega Raspberryja, za katerega imaš na voljo zelo veliko podpore in že narejenih projektov, programiraš lahko v praktično kateremkoli jeziku. Po drugi strani pa moraš poznati vsaj osnove jezika (in okolja, prevajalnika, ...), ki ga boš uporabljal, potrebuješ osnovno znanje elektronike, da boš vse pravilno povezal in še kup dodatnih elementov, kot so upori, ledice, žice, kakšen tranzistor, protobord, ... da boš lahko sestavil kaj uporabnega.

Rias Gremory ::

@Chester
Tole ti bi znalo priti prav: http://letsmakerobots.com/
Mirno gledamo, kako naš svet propada,
saj za časa našega življenja ne bo popolnoma propadel.


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

Cenejsi mikrokontrolerji

Oddelek: Programiranje
171857 (930) Cervantes
»

Kako zrealizirati preprost projekt

Oddelek: Elektrotehnika in elektronika
212814 (2189) SkIDiver
»

Teagueduino - Arduino brez lotanja ali programiranja

Oddelek: Novice / Modifikacije
4412366 (9970) Karlos
»

Arduino

Oddelek: Elektrotehnika in elektronika
144896 (4110) gtu
»

robot za n00be

Oddelek: Strojna oprema
153558 (3114) Siddh

Več podobnih tem