So I finally got my next shipment of PCB boards from BatchPCB.com. The boards were perfect, not one mfg issue (I suspect this is mostly thanks to what I learned from SparkFun.com). It's fantastically rewarding to see your ideas come to life, I posted here originally about the Arduino controlled dog stairs I had built but I wasn't satisfied. I wanted to free up the Arduino, it's not what a development board is for anyhow. I have since crossed the hurdle of building my own code in C using AVRStudio. I decided upon the ATTINY13A chip because it was small and really had just enough functionality to make this project work as I had wanted it to. The Arduino was overkill; an ATMEGA328 is WAY overkill for this project. I've learned so much about AVR programming I can't even believe how far I've come. I've posted the AVR source code, high resolution pictures and the eagle files so you can build your own. I figure I've got no more than $10 invested in this not including the stairs!
And here are the boards I got from BatchPCB.com the other day.
Anyone who knows my wife knows that she loves to "fall-ify" as much as she loves to decorate for Halloween! This year I found an example using LEDs to simulate a flickering fire. I decided this would be perfect to put inside our jack-o-latern and as soon as I got home today from work, I whipped up a working version for myself. I've attached a ZIP file which contains a few high-res pictures and the embedded C code you can use to program any AVR. I've used an ATTINY13A for this as I have a bunch laying around and they work perfectly for this project. They are also very cheap, I got mine from DigiKey for .87 each. The whole project cost me about $3.50 excluding the batteries. I think I may expand on this design a bit to include a photo-transistor and a small solar panel to only turn the circuit on at night and recharge the batteries during the day...Once I get the updated version, I'll update this post. Check out the video below of the LED Fire in action!
My wife had been asking for some time for us to head up to the IKEA store in West Chester Ohio but I had been stalling. I had never been to an IKEA store and the things I had seen online didn't really impress me that much. Seeing as how we were in the midst of redoing the bedroom, I figured we'd make the trip and invited my parents along. All I can say is take the time if you haven't even been to one and visit your local IKEA store. This store was massive, had a 350 seat restaurant inside and had some of the most amazing things I've seen. I couldn't believe the prices either, they had really great quality things for really great prices! Natalie and I picked up some curtains and other sweet sliding shade thingies...I'll post pictures once we get them installed, that's another DIY project...Oh, they had none of the White Lampan lights I really wanted, going to hack them with an AVR and some RGB leds to make a sweet multi-color light which is kid friendly...
I finally got around to trying my hand at making my own liquid soap. It's something that I was intrested in since Natalie and I started making cold process bar soap. Funny thing is we never realized that so many people (men and women) have moved away from bar soap in the shower in favor of the shower loofah! I actually prefer using bar soap, perhaps because I'm bias, but I never liked the old washcloth solution either, plain old bar soap! Anyhow, with the tred of using shower gel I decided I needed to learn how it was made. Homemade liquid soap was my first step, more for washing your hands than shower gel but I figured it I could master liquid soap, shower gel would be a no-brainer. I think given the time investment (~6 hours), I'll be making larger batches, but the first batch turned out perfect. Natalie thought I should break up the batch into three scents, so that's why there are three mason jars full. We did Island Coconut (yellow), Tea Tree Oil and Lavendar (green) and China Rain (purple). We picked up some soap despensers from Hobby Lobby (which Natalie hates). More pictures in the attached ZIP file.
I've been spending time researching options for additional memory capacity for an embedded AVR project and found that there are many storage options available. My problem is that I wanted to consume as few I/O pins as possible as my project was already using most of the pins on my AVR. This is when I decided I would try out a few of the 24LC256 chips from digikey.com. The great things about these chips is that you can put 8 of them on the same bus (2 pins from the AVR). I just wired up a quick demo using two of them and put together a sketch to read and write from both. You can check out more example code here on the Arduino playground. I've included a demo sketch, high-res pictures as well. I think Fritzing is going to add lots of value to the community as I'll be included schematics from thier software in future postings.
Yes, you read that right! I've talked briefly about my dog stairs project in my first post and finally got around to taking lots of high resolution pictures and thought I'd share the project with everyone. You can find all the pictures and code in the attached ZIP file. Here's basically what I did:
1. I purchased a Parallax PIR motion detector from Radio Shack.
2. A photo cell I had lying around, it doesn't matter what resistance, just modify the value in the code to reflect your photocell's darkness value.
3. Project box (enclosure) from Radio Shack.
4. Two white 20ma LEDs.
5. Wire, plenty of wire (you'll see in the pictures, I used a bit much)!
I've hooked up the photocell to the analog pin 0 of the Arduino. The code loops checking for the pre-configured value for darkness, when the value is read from the photocell and it's at or below that value we increment a counter and delay 1 second. We repeat this process until the counter equals the number of seconds of darkness required to activate the PIR. We do this to prevent momentary darkness/lightness from switching the state of the PIR. We of course perform the exact opposite logic for light (this helps if for example you flip on the light and then flip it back off).
Once the state has changed and the PIR is activated we enable power on Arduino pin 7 and give the PIR a pre-configured 30 seconds to calibrate. This is per the datasheet. Once calibration is over we monitor pin 3 on the Arduino for motion (which is triggered by a logical HIGH on pin 3). When motion is detected we turn on the LEDs by setting pin 13 to logical HIGH for the pre-configured 15 seconds. This motion detection sequence repeats until it's light outside and we shut down the PIR. I power the whole thing with a 9V 500MA wall wart.
Simple huh? This project went together quite nicely and fairly quickly. If you have questions or comments, please feel free to ask.