Addressing BlinkM and make it stick...
NEWBEE WARNING! --- How do you program the I2C address to the BlinkM? When I try this, it will report the new address when using the a command in the BlinkMTester, however when disconnecting the BlinkM to program the address of the next one, it seems to have lost the address when reconnecting the first BlinkM. I've tried this with four different BlinkM and 1 BlinkM MaxM.
I've read some other posts on this forum, but could not deduct the basics of programming the address.
Should the BlinkM retain its address when unpowered?
- if so, what would be the sequence to do so?
- if not, what would be the sequence to program several units all connected at once?
Could you let your light shine on this one?
Thanks,
Best regards,
Jeroen
I've read some other posts on this forum, but could not deduct the basics of programming the address.
Should the BlinkM retain its address when unpowered?
- if so, what would be the sequence to do so?
- if not, what would be the sequence to program several units all connected at once?
Could you let your light shine on this one?
Thanks,
Best regards,
Jeroen
1
person has this question
I have this question, too!
Tell me when someone answers.
The more people who ask this question, the more it gets noticed.
The more people who ask this question, the more it gets noticed.
Create a customer community for your own organization
Plans starting at $19/month
-
Inappropriate?Hi Jeroen,
In order to make BlinkMs easier to use, the BlinkMCommunicator (and older versions of BlinkMTester) sketches will call "BlinkM_setAddress()" on startup. Future releases of these sketches will have auto-discovery of BlinkMs to make this not needed.
For now, you can comment-out the "BlinkM_setAddress()" line and re-upload the sketches you use. But then you'll have to make sure you have your BlinkMs set to address 9. (the default address)
Also, make sure that you disconnect power to the Arduino before you disconnect the BlinkM. -
Inappropriate?Hi Tod,
Not sure if I understand your reply.
I use the BlinkMTester sketch:
- Connect BLinkM to Arduino board
- Upload BlinkMTester
- Via serialmonitor set the address using the A command
- the a command will return the command I set
- Disconnect the Arduino board
- Reconnect the Arduino board
I get the follow message:
error: addr mismatch, addr received: FF
BlinkM not at expected address. Reset address with 'A' command
This seems to me that the BlinkM did not keep the address I set, isn't it?
How would I create 4 BlinkMs with different address so I could send separete command to each of them, like using the BlinkMMulti sketch?
I’m unsure
-
Inappropriate?Hi Jeroen,
Ahh, I see what your process is. And yes, that is confusing.
The reason why BlinkMTester is giving you that message is that it is expecting the re-addressed BlinkM to be at address 9 and isn't finding it. (It's being very strict and looking only at address 9, not doing a scan)
BlinkMTester right now is made for playing with a single BlinkM, since the command-line interface doesn't have a way to select which BlinkM address you're talking on. There is another example sketch called "BlinkMMulti" which is what I use when setting BlinkM addresses. It's sort of a simpler BlinkMTester that has the ability to communicate with multiple BlinkMs (including setting addresses).
Other people that I know who use multiple BlinkMs, use BlinkMTester to set the addresses, then their own sketches.
If you still want to use BlinkMTester, but have the ability for it to talk to a BlinkM at a different address, you can patch it by adding the following into the if-else command parsing tree:
else if( cmd == '@' ) {
Serial.print("Will now talk on BlinkM address: ");
Serial.println(num,DEC);
blinkm_addr = num;
}
Then, if you type "@ 12", all subsequent commands will be sent to BlinkMs at address 12. Then either ignore the address mismatch error on startup or comment out the section in the setup() that does that check.
Loading Profile...



EMPLOYEE