Arduino - ROBOT

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í...

robot

Arduino robot (http://cz.rs-online.com/web/p/vyvojove-sady-pro-procesory-a-mikrokontrolery/7824581/)

thinker

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

 1

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

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.

cal

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

IMG 20150625 072153

IMG 20150625 072215

IMG 20150625 072219

IMG 20150625 072258

IMG 20150625 072308

IMG 20150626 125017

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...

IMG 20150625 072417

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...

IMG 20150629 060725

IMG 20150629 060737

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)