Hello everyone!
I've been learning as much as I can, but now I am starting to build. And with info / help from this site I hope to make some awesome robots :) the video is actually my wife's robot ( we're building twins sort of ), I am also working on a Dr. Who K9 ½ sized robot, using simular parts, but I feel I jumped in to quick, I need to step back and start with something easier, and my Wife was asking questions while I was working on the little K9, I decieded to buy parts and have her build one with me. Anyways, wanted to say hi and show the little bots. :)
On these, I picked 3 Vex omni wheels and motors, Arduino Nano to drive them. I put an extra Nano on the 2nd layer for future accessories, as well as I'm going to put a top layer with a bread board and a 3rd Arduino Nano for testing things. It will also have a Raspberry Pi as the main brain with Raspi camera (with pan / tilt setup I will have to 3d print) and sonic ping sensors on the 4 main sides.the 3 Arduino nano's and Raspi will comunicate via I2C. It's simple but should teach me a lot.
Udate on progress.
making progress, got the hc-sr04 mounts printed and fixed to the robot. 4 for each. just need to wire them up and program it to use them. I played with one on a bread board to see how they work, pretty easy to use them.
I recieved the the pan / tilt parts for the Raspi Cameras, have to order new cables the ones I have are too short lol oh well.
update:
I wired the i2c network, didn't put any pullup resisters on the bus :/ oops, ok 1.5k hey! now it works. 2 arduinos show up on the pi with i2cdetect. Also all 4 sonar sensors are wired in. The top is now stained and matches the rest. Last part for assembly is the actual camera mount to the pan / tilt.
I got the camera mount printed, found one that I liked on thingiverse. why re-invent the wheel so to speak. everything is done except the coding. I'm slowly working on that part. thanks to unix_guru I am on a specific path now :) I want it to be autonomous, and web-based remote control, so I can remote home and check things out. ( mess with the dog).
the wiring is a real mess under the top plate.
those are the arduino nano's, I found one that I couldn't program. replaced it and now it's working. I have the drive motor signal wires and the sonars working on one arduino. The pan / tilt and ( soon to come RBG lighting on the other, for xmas or other status information ). the i2c harness I made is basicly 4 female header wires that go to a logic level converter that I covered with heat shrink, then the other side is attached to 5v, gnd and split once for the two arduinos then split again near the furthest one to go to the top arduino, the pull up resisters I put on the bread board being the end of the i2c chain. works nicely. at least in i2cdetect.
the right switch is main power, the left one is power for the bread board.
update 7/26/2014
I finally have the Pi reading the 4 sonar's from the arduino nano through i2c. the key was 2 part.
arduino side the Wire.Request(distance) handler
and in the void distance sub.
byte sonarReads[] = {sonar1, sonar2, sonar3, sonar4};
Wire.write(sonarReads, 4);
on the pi, in python I setup an array, sonar[] then do a block read, it reads in 32 bytes. but I only need to work with the first 4.
the extra is just lost, I can use one or two more for "motor stopped due to object in path" type information. and future addons,
I also need to put in some error handling in the reading, sometimes it reads 0 when it should be a number, but if I re-read it is ok. I can probibly fix this on the arduino side by adding a check on the sensor data when placing into into the sonar# variable.
update - 8.24.14
I have the main arduino nano now setup with all 4 sonars, and drive motors. I had it moving in the direction of the camera as front. when it comes with-in 20cm of an obsticle it will stop. I wished I had more time to mess with it. but life gets in the way hehe
autonomous, web controlled.
This is a companion discussion topic for the original entry at https://community.robotshop.com/robots/show/first-robots-tinkerbot