Blinkm Led's

 
#1

Can you plug in more than 1
I was thinking of using these as they eyes

#2

Yes but if you want them controlled individually you will need to change the address on one of them.

#3

ThingM.com has a downloadable manual if you wanted to read how to do it before getting them.

#4

And to add, it's clearly set out so you can see the commands needed, there are also a few examples in the forum if you struggle to understand the I2CWrite() command (I posted one the other day to make the BlinkM red).

BlinkM Datasheet - You want page 17. Ignore the messy, nasty, arduino code.

Examples; (I'm taking a break from mind numbingly boring work)

Code:


# BlinkM Examples
# Use I2CWrite
# Default address 0x09

# Change the address to 0x0a
I2CWrite(0,0x09,A,0x0a)
# Address now 0x0a

# Change the address back to 0x09
I2CWrite(0,0x0a,A,0x09)
# Address now 0x09

# White light
I2CWrite(0,0x09,n,0xff,0xff,0xff)

# Red light
I2CWrite(0,0x09,n,0xff,0x00,0x00)

# Green light
I2CWrite(0,0x09,n,0x00,0xff,0x00)

# Blue light
I2CWrite(0,0x09,n,0x00,0x00,0xff)

# Fade to yellow light
I2CWrite(0,0x09,c,0xff,0xff,0x00)

# Fade to black (off)
I2CWrite(0,0x09,c,0x00,0x00,0x00)

#End



Just some examples, now they are untested but I had positive feedback with the red light code the other day so assume all others will work. Hopefully it is enough for you to see how to carry out the functions described in the datasheet since this is no arduino you're using so their code is near useless.

#5

Tuesday, 16 April 2013

GREAT Presentation Rich !

Thank You for the introduction to BlinkM & It's Datahheet.

#6

Awesome thanks

#7

Do I add the BlinkM Control?
Do I add a secong EZB?
If I script it as in the post above what language do I choose?

#8

Nevermind I think I just use the Ezscript

JUst not sure how to tell address each device (one differently then the other)

#9

There is an EZ Builder control under I2C. It has a place for the address however I don't know if it has a place to re-address it.

Use

Code:


I2CWrite(0,0x09,A,0x0a)



to change the address of the first one (without the second being connected). That will change it's address from 0x09 to 0x0a. You can change the 0x0a to anything you want provided it doesn't clash with a different I2C device.

Probably easiest to open the script console (under script) in EZ-Builder and manually type the above command in once. Then you can close the console and add the second BlinkM.

Once that command has been run it should be re-addressed. Then use the I2C control, change the address in the box at the top of the control and move the sliders to change colour.

Or write scripts to trigger specific colours for different actions etc.

#10

After you set the unique addresses, you can still address both of them using the address 0x00. That would be useful when using them as eyes.

From the datasheet:
3.1.1 I2C Addresses The default BlinkM address is 0x09. It can be changed at any time with the "Set Address"("A") command described below. BlinkM responds to both its defined I2C address and the "general call" broadcast address (0x00).


Building on Rich's code it would be:

Code:


# White light
I2CWrite(0,0x00,n,0xff,0xff,0xff)



Oh yeah when I was tinkering around with them using the built in pulsing of brightness and color they do fall out of sync. If I remember correctly there was a way to one to be the master timer. It's late here and I need sleep. Rich, can you find and post the correct code for it?