Category Archives: Walloid

>The tolerance issue in 3D printing

>

These broken parts are gonna delay my work …
The conjunction between the motor led and the robot body
The broken conjunction on robot body side
The broken conjunction on Motor side
 Totally new printed encoder parts were received on 9th of May 2011, and one of them(picture below) was broken into two pieces while being mounted on the same day
The old broken encoder part(black one) beside the new one that was broken under mounting

>I2C

>I2C inter micro controller communication

First experiment, failed !!! The problem : Grounds were not connected together !!!

Second experiment, Succeeded :-)

I2C connection between one master Arduino & one Slave Arduino over a serial clock pin (SCL, pin number 4 in the picture down here, YELLOW wire) that the Arduino pulses at a regular interval, and a serial data pin (SDA, Pin number 5 in the picture down here, RED wire) over which data is sent between the two devices. Also make sure that the grounds are connected together.

Master Writer Code – Program for Arduino 1


// Wire Master Writer
// by Nicholas Zambetti

// Demonstrates use of the Wire library
// Writes data to an I2C/TWI slave device
// Refer to the "Wire Slave Receiver" example for use with this

// Created 29 March 2006

// This example code is in the public domain.


#include

void setup()
{
Wire.begin(); // join i2c bus (address optional for master)
}

byte x = 0;

void loop()
{
Wire.beginTransmission(4); // transmit to device #4
Wire.send("x is "); // sends five bytes
Wire.send(x); // sends one byte
Wire.endTransmission(); // stop transmitting

x++;
delay(500);
}

Slave Receiver Code – Program for Arduino 2




// Wire Slave Receiver
// by Nicholas Zambetti

// Demonstrates use of the Wire library
// Receives data as an I2C/TWI slave device
// Refer to the "Wire Master Writer" example for use with this

// Created 29 March 2006

// This example code is in the public domain.


#include

void setup()
{
Wire.begin(4); // join i2c bus with address #4
Wire.onReceive(receiveEvent); // register event
Serial.begin(9600); // start serial for output
}

void loop()
{
delay(100);
}

// function that executes whenever data is received from master
// this function is registered as an event, see setup()
void receiveEvent(int howMany)
{
while(1 < Wire.available()) // loop through all but the last
{
char c = Wire.receive(); // receive byte as a character
Serial.print(c); // print the character
}
int x = Wire.receive(); // receive byte as an integer
Serial.println(x); // print the integer
}



Source : http://arduino.cc/en/Tutorial/MasterWriter

>New calculations for positioning

>

Update : 06:01, 18.03.201, I am almost done with the C code on Arduino … Too sleepy, going back home now …
I should write a program that can simulate the workspace as I have no idea what are the valid points on workspace that are reachable by the feet.
———————-
New calculations for positioning, the whole thing could not be easier than this …

>OpenCV, finally configured …

>After 3 days struggling and working to make OpenCV to work with any possible programming language on Windows 7, I gave up. Today I thought to try it on my Ubuntu and after couple of hours struggling finally I got it. Now I should learn how to code with processing for image processing, as a possible decision making base for the robot and of course streaming …

this is a demo from OpenCV C++ sample library…