The new Arduino Nano is the smallest and most versatile Arduino board yet. It contains an ATmega168 micro-controller (w/ boot loader), integrated USB (FTDI chip) w/ Mini-B jack, a full complement of i/o pins, an ICSP programming header, and on-board regulator. Measuring 0.73″ x 1.70″, it’s smaller and cheaper than the combination of Arduino Mini and Mini-USB adapter.
The possibilities that this state of art design brings to Walloid project can be new electronics design as it is now very easy to have a network of Arduino boards, communicating data, processing things faster, etc ... My previous post about I2C is about the same idea; connecting multiple Arduino boards ...
Saturday, April 30, 2011
Thursday, April 28, 2011
I2C
I2C inter micro controller communication
First experiment, failed !!! The problem : Grounds were not connected together !!!
Second experiment, Succeeded :-)
Master Writer Code - Program for Arduino 1
Slave Receiver Code - Program for Arduino 2
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.
// 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
Subscribe to:
Posts (Atom)