Tak se snažím proniknout do robotiky (po nakopnutí robotického vysavače). Pořídil jsem si Arduino robota a podělím se o pár zkušeností, protože na českých webech toho moc není...
Arduino robot (http://cz.rs-online.com/web/p/vyvojove-sady-pro-procesory-a-mikrokontrolery/7824581/)
Rozšiřující sada Tinker (http://cz.rs-online.com/web/p/vyvojove-sady-pro-procesory-a-mikrokontrolery/8134732/)
IR Remote Control Receiver module TSOP38 (x1)
Ultrasonic Rangefinder module EZ1 (x1)
Tinkerkit LDR light sensor module (x2)
Tinkerkit Power White 5 LED module (x1)
Tinkerkit Red LED (5mm) module (x1)
Tinkerkit Green LED (5mm) module (x1)
Tinkerkit 20cm cables (x4)
Tinkerkit IR Remote Control (battery included)
Nevýhody na které jsem během roku přišel
- - vysoká cena (cca 5 600,- vočí)
- - nekvalitní návrh podvozku (kola jsou z nějakého tvrdého PVC a prokluzují, nevhodně provedený přední a zadní kuličkový doraz - stačí sebemenší nerovnost podlahy a kola se dostanou do vzduchu) nutno upravit uboušením výšku dorazu
- - nepřesnost pohonu (při zaslání rychlosti obou kol na například 255 nejede robot rovně, ale utíká do strany - je potřeba nejprve kalibrovat, proč to již neudělala China továrna?) zde jak kalibrovat desku
- - chyby v příkladech Arduino knihovny (například sledování čáry nefunguje vůbec)
- - doslova "debilní" nahrávání skečů do robota (robot má jedno USB, ale dvě desky, které mají procesor ATmega32u4 a neustále se přepíná port přes tlačítko reset - daří se trefit port až například po 6 té)
- - dost často se stane, že nahrajete skeč do desky pohonu namísto desky řízení
- - nedodává se nabíječka (adaptér by mohl být v ceně)
Výhody
- + Arduino hračka pro taťku
- + velké množství periferií (tlačítka, LCD, pípák, potenciometr, SD karta, čidla pro sledování čáry, PWM pohon, externí eeprom, kompas a možnost připojení spousty dalších čidel
O co jde (stručně)
Robot obsahuje dvě desky - jedna je deska řízení (lcd, tlačítka, kompas atd) - druhá je deska pohonu a snímačů čáry. Obě desky jsou spolu propojené přes I2C sběrnici.
https://www.arduino.cc/en/Main/Robot
Control Board Summary
Microcontroller | ATmega32u4 |
Operating Voltage | 5V |
Input Voltage | 5V through flat cable |
Digital I/O Pins | 5 |
PWM Channels | 6 |
Analog Input Channels | 4 (of the Digital I/O pins) |
Analog Input Channels (multiplexed) | 8 |
DC Current per I/O Pin | 40 mA |
Flash Memory | 32 KB (ATmega32u4) of which 4 KB used by bootloader |
SRAM | 2.5 KB (ATmega32u4) |
EEPROM (internal) | 1 KB (ATmega32u4) |
EEPROM (external) | 512 Kbit (I2C) |
Clock Speed | 16 MHz |
Keypad | 5 keys |
Knob | potentiomenter attached to analog pin |
Full color LCD | over SPI communication |
SD card reader | for FAT16 formatted cards |
Speaker | 8 Ohm |
Digital Compass | provides deviation from the geographical north in degrees |
I2C soldering ports | 3 |
Prototyping areas | 4 |
Radius | 185 mm |
Heigth | 85 mm |
Motor Board Summary
Microcontroller | ATmega32u4 |
Operating Voltage | 5V |
Input Voltage | 9V to battery charger |
AA battery slot | 4 alkaline or NiMh rechargeable batteries |
Digital I/O Pins | 4 |
PWM Channels | 1 |
Analog Input Channles | 4 (same as the Digital I/O pins) |
DC Current per I/O Pin | 40 mA |
DC-DC converter | generates 5V to power up the whole robot |
Flash Memory | 32 KB (ATmega32u4) of which 4 KB used by bootloader |
SRAM | 2.5 KB (ATmega32u4) |
EEPROM | 1 KB (ATmega32u4) |
Clock Speed | 16 MHz |
Trimmer | for movement calibration |
IR line following sensors | 5 |
I2C soldering ports | 1 |
Prototyping areas | 2 |
Po vybalení z krabice a sestavení (LCD displej do patice a vložení mikro SD karty do slotu, nabití a vložení 4ks AA baterií do držáku) provedeme kalibraci rychlosti robota (aby při zadané proměné jela kola stejně rychle, tj. rovně)
Nahrajeme kód do řídící desky a šroubovákem doladíme směr.
program 0 - Kalibrace pohonu Zdrojové programy pro robota, které budu používat naleznete v příloze pod článkem (po přihlášení)
Po kalibraci jsem na robota osadil IR čidlo, ultrazvukové čidlo a 5x modul s bílou LED diodou
Dále je potřeba snížit plastové stabilizátory s kuličkou na co nejmenší výšku (ubrousit plast), jinak robot zadrhává při sebemenší nerovnosti podlahy...
U jednoho kuličkového stabilizátoru (u vypínače) jsem zbrousil PVC výstupek o cca 2 mm. Po této úpravě robot jezdí bez problémů i po nerovné podlaze...
Video test IR dálkového ovládání
Video IR ovládání robota a ultrazvukové čidlo v "akci"
program 1 - IR ovládání s ultrazvukem Zdrojové programy pro robota, které budu používat naleznete v příloze pod článkem (po přihlášení)
Pomocí DO lze robota ovládat:
- dopředu, dozadu, doleva, doprava, zastavit
- pomocí tlačítka + se spustí auto režim s ultrazvukem kde robot jede dopředu a v případě překážky couvne a otočí se doprava a dále jede dopředu (5x bílá led svítí)
- pomocí tlačítka - se zastaví režim s ultrazvukem (5x bílá led zhasne)