Lifelong Learning Knowledge should be uncompromisingly sought after and freely given away.

12Sep/090

Arduino Powered Dog Stairs!

Arduino Powered Dog Stairs

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.

DogStairs
Title: DogStairs (862 clicks)
Caption:
Filename: dogstairs.zip
Size: 8 MB

DogStairs
Title: DogStairs (862 clicks)
Caption:
Filename: dogstairs.zip
Size: 8 MB

Tagged as: No Comments
12Sep/090

My First PCB, WOOT!

My First PCBThis past week I received my first order from BatchPCB.com! I had built a 5V regulated 5v power supply. I figured I'd start small and simple to ensure I understood the pincipals of PCB layout and what the fab houses expected. I can say that without a doubt the information I found online from the community and the guys over at SparkFun.com helped tremendously. I have (4) new PCBs and none of them have any issues. I've only assembled one so far, it only took me a few minutes to assemble them and I think I actually did a jig when I plugged it up and it worked exactly as I expected! I've since built numerous boards and will be placing an order next week to get them manufactured as well. Very excited stuff to see your ideas developed with such a professional appearance.

  My First PCB

Filed under: Electronics No Comments
30Aug/090

Laying Out a Custom PCB

Basic Arduino Board

Ever since I started playing with the Arduino I knew I wanted to get futher into how they worked and even start forging ahead with my own designs. Fortunately there is a fantastic community of folks out there who are more than willing to share their knowledge and even blog about it. I owe the community a great deal of thanks in helping me get up-to-speed so quickly on designing and laying out boards for my projects. I have been working feverishly on a new project which I'll dedicate a whole category on here for later. It's really going to be a neat project and I think it's a great way to give back to the community by relasing all my work for anyone to use. Anyhow, more on that later.

EaglePCB, how can I say it. It's freaking amazing. Who could ask for much more with a freeware PCB board layout program? I'm actually in the process of purchasing the Non-Profit version so I can build bigger boards. That being said, the freeware version will do everything the paid version can do but is limited to double-sided boards and limited board size. It really is a neat program and definitely helps people get started with PCB layout cheaply.

For now I wanted to share with the community just one of the boards I've finished and am awaiting arrival of the fabricated board. I released it to get feedback and hopefully help somone else out. It's taken from the Boarduino concept from AdaFuit.com. Basically it's a very basic USB powered Arduino board which can be integrated easily into other projects. I'll be using this board on my new project. I'll warn you of this, I haven't received the fabricated boards from BatchPCB.com yet and tested them throughly so you've been warned. You'll find the board and schematic in the attached ZIP file. I've used parts for the SparkFun.com library. None of this would be possible without those fantastic guys!

Please, I encourage feedback on this design!

BasicArduino
Title: BasicArduino (529 clicks)
Caption:
Filename: basicarduino.zip
Size: 90 KB

30Aug/090

Using the Maxim7219 with Arduino

A few weeks ago I setup my Arduino to power a simple single digit 7 segment LED array. It took lots of pins from the Arduino (one per segment) to power it.Maxim7219 In Action Nice simple setup but I knew it would never work for powering more than a single 7-segment digit. I found the Maxim 7219 which is a chip designed specifically to drive LED arrays. It's really a neat device (although a bit expensive). I decided I'd pick up some 7291's from Jameco (I often switch between them and Digi-Key) and picked up a few of thier 4 digit 7-segment LED arrays (common cathode) as well to test the IC out. You'll definitely want to take a look here which outlines the library used, basic schematic and the really important calculation of the RSet value. I've included a demo sketch, high-res pictures and the Maxim 7219 datasheet in the ZIP file below.

 

4DigitLEDWithMaximIC
Title: 4DigitLEDWithMaximIC (938 clicks)
Caption:
Filename: 4digitledwithmaximic.zip
Size: 2 MB

4DigitLEDWithMaximIC
Title: 4DigitLEDWithMaximIC (938 clicks)
Caption:
Filename: 4digitledwithmaximic.zip
Size: 2 MB

18Aug/090

The Hall Effect…

Hall Effect Sensor With ArduinoI got an order in from Jameco yesterday and inside found a long awaited sensor! I had ordered a couple of the Allegro linear hall effect sensors. These are different than the others I purchased from SparkFun.com, they are not latching sensors but measure the magnetic force applied which is more of what I was looking for. I wanted something that I could use as a proximity switch and this worked out much nicer. They are a breeze to use and even more fun to play with than I had imagined. I've included some high res pictures and the Arduino code I used to test the sensor with below. I do have a proto shield from AdaFruit that I use and it has a green and red LED onboard, but you can easily hook up a couple of LEDs (don't forget your resistors). I'll be using this in a bigger project soon...

 

AllegroHallEffectTestApp
Title: AllegroHallEffectTestApp (766 clicks)
Caption:
Filename: allegrohalleffecttestapp.zip
Size: 2 MB

AllegroHallEffectTestApp
Title: AllegroHallEffectTestApp (766 clicks)
Caption:
Filename: allegrohalleffecttestapp.zip
Size: 2 MB

16Aug/093

Controlling a servo with a TV remote using Arduino!

Ardunio IR Servo Controller

I decided today after I got home from work, I'd try to get my next quick project done. I wanted to control a hobby servo using a standard TV remote. I had a RadioShack IR receiver (Part No. 276-640) already as well as a standard hobby servo.

I quickly hooked things up. 10k resistor between the PWM pin on the Arduino and the servo sensor wire. 200ohm resistor between the digial pin on the Arduino and the output of the IR reciever. Hooked up my 5v to both and grounds and I was done.

I found some sample code as referenced in the Ardunio code below and modified it to find out what codes my remote was outputting for different keys. I decided I'd have it move the servo left and right using the left and right arrow keys on the remote and then center it at 90 degrees when the "OK" button was pushed.  I also output the keypresses to the serial port to verify movement...

Worked like a charm! Amazing how simple tasks like this are with such a great community of folks posting example code and a wonderous board like the Ardunio!

Arduino IR Servo Controller

Hi resolution pictures and the Ardunio code can be found in the attached ZIP file.

IRServoProject
Title: IRServoProject (1160 clicks)
Caption:
Filename: irservoproject.zip
Size: 2 MB

IRServoProject
Title: IRServoProject (1160 clicks)
Caption:
Filename: irservoproject.zip
Size: 2 MB