There are lots of examples on the internet on how to program an Arduino as an I2C master to communicate with I2C slave devices. There are, however, very few examples out there on how to program your Arduino as a slave device. One of the best sites I’ve seen for documentation on I2C slave programming is over at Nick Gammon’s blog.
Well I thought I would take it a step further and put together a step by step guide showing you a real life example of how to make an I2C slave device using an Arduino. I did a lot of research while making my I2C GPS Shield and thought I’d pass along some of what I learned.
I just received the first set of boards for my new tracking device. They actually came in a little earlier then I had anticipated. Unfortunately I wasn't able to order the SIM900 modules in time because here at DSS Circuits we've been without power for several days due to a bad snow snowstorm so I had more pressing matters to attend too.
I've received many many emails regarding the Name This Board Contest so keep the entries coming, I'm going to leave it open until I have a working prototype.
And if anyone has any good leads on some cheap low volume SIM900 GSM suppliers, please feel free to drop me an email.
After an overwhelming positive response to the Video Game Console Tracker project and several requests to incorporate the project into a single board, I’ve decided to move forward and design a complete tracking system on one board.
So a couple of years ago we had a pretty bad ice storm here on the east coast and there were thousands of homes left without power for a week or more. As with any disaster one can expect the criminals to come out of the woodwork and make a bad situation worse. Well as luck would have it my brother in law was one of the people that had their homes robbed while they “seeking shelter” elsewhere. Among the items stolen was their sons’ Sony PlayStation 3. Of course the requisite police report was filed and as is usually the case, none of his property was ever recovered.
Now someone can easily have an alarm system installed in their home which can deter some burglars, but let’s be honest, even the best alarm systems have “holes” in them. So I got to thinking, why spend the money on a home security system that might deter a burglar when we can catch the burglar instead and possibly get him off the streets.
I spoke with several law enforcement personnel and sure enough, video game consoles are one of the most popular items stolen from home break ins. So a quick search on Ebay showed several empty Sony PlayStation 3 cases in the $20 range that would work for my project.
So one day I was trying to interface to a Freescale MMA8451Q accelerometer, for a project I was working on, and I was having a difficult time getting data back from the registers. After some investigating I found that this device is not compatible with the Arduino Wire library for I2C devices. The reason being is that the Wire library does not support the use of the repeated start function as defined by the I2C protocol.