hi everyone,
so i am having an issue trying to readdress a blinkM, i've also tried on a MaxM, but i would guess the firmware is the similar to a point.
so, i started with my own bit of code to sort out what i knew and didnt know about i2c, a fair bit - but i can write to the blink's with no problem. i have 3 pots hooked up and can control rgb directly. nothing new, i know, but it was an exercise.
so the next step is to control multiple blinks, independently. i can't get the addresses to stick though. here is my edited version of the stock code that is in the examples. i could be doing something silly, like sending hex instead of int, or something very strange could be going on... any help would be appreciated.
#include "Wire.h"
#include "BlinkM_funcs.h"
byte blinkm_addr = 0x08;
byte blinkm_globaladdr = 0x00;
int temp;
void setup()
{
Serial.begin(19200);
Serial.println("BlinkMFactoryReset");
BlinkM_beginWithPower();
delay(100);
Serial.print("Setting I2C address...");
BlinkM_setAddress( blinkm_addr );
Serial.println(blinkm_addr, HEX);
delay(500);
Serial.print("Verifying I2C address, sent to 'correct' address...");
temp = BlinkM_checkAddress( blinkm_addr ); //sent to what it should be
Serial.println(temp,DEC);
delay(500);
Serial.print("Verifying I2C address, sent to global address...");
temp = BlinkM_checkAddress( blinkm_globaladdr );
//sent to global, should return matching
Serial.println(temp,DEC);
Serial.println("Did it work?");
}
void loop()
{
digitalWrite(13, HIGH); // flash Arduino LED for fun
delay(300);
digitalWrite(13, LOW);
delay(300);
}
Thanks -- Jon :)