RDRK is acronym in my language (Lithuanian) for “Robotas Dėliojantis Rubiko Kubą“. This is my second project involving microcontrollers μC (the zeroth was LED blinkie and the first one was RC5 decoder).
Up to now I have used only atmel AVR microcontrollers, so this bot is no exception with: ATmega16. Firmware is written entirely in C, also avrlib library for timing/PWM/UART was used. Although program is written with wxWidgets (C++) library, it won’t compile under Windows because the system calls in serial communication part, thought if you remove it, it should build with no hassle.
Basic communication scheme: (USB-to-RS232 (PL-2303))->MAX232->UART
Power: for servos and logic I’ve used L7805 with big heatsink (and yes, at operation time it was necessity) and DSA-20R-12 switching adapter
Servos: 2xMG995‘s for main arms and for 2xHXT900 “claws”
uC: atmega16; 7.3728Mhz; LF: 3f, HF: de
In order to use make with firmware you should export avrlib directory with:
Color recognition would be nice, but because it’s easy to do (as in: no challenge) and some cross platform problems (Unix/Linux) with webCAM I didn’t implement it (also partly because it’s not intended for daily use, and You should know that programmers are lazy)
Any questions? ASK!
Source files (tl;dr):
P.S. everything is under GNU GENERAL PUBLIC LICENSE.