For my LCC project I decided to use a 2N4401 NPN transistor to control status LEDs and AC Switches. I did this so that the power draw from the Arduino chip would be as low as possible.
Below is a diagram of how this works. I used a 2N4401 NPN transistor that “turns on” when the gate goes high or positive. This essentially allows it to switch the negative or ground leg of the circuit. I did this because the Arduino can’t turn a digital IO line to ground- just 0v or 5v. Continue reading “Using a Transistor to Control an LED or anything”→
The goal of the Lizard Climate Control (LCC) software is to control the climate of my lizard’s enclosure using the Arduino and other hardware components. It can operate independently of a PC. However it is capable of supplying diagnostic data via the serial port to an attached PC if needed. Continue reading “Lizard Climate Control Software Operation Description”→
The PowerSwitch Tail II is a great and VERY simple way to have the Arduino control AC powered devices. I’ve used these in my LCC project. The Arduino can control these directly from a digital IO port, BUT you’re better off using a transistor to drive them, just in case…
I haven’t published my code for this project yet. Mainly because it’s dangerous and not totally tested. Here’s what I mean:
This software controls the environment of a living thing. Failure of the software can cause death. I’m not ok with that. For example- last night I had an over heat condition. Because of a badly written IF statement, the corrective actions never executed. Thankfully I was home!
I am in the process of re-writing the code to simplify the corrective actions and to provide more debug information. Arduino doesn’t provide ANY error trapping/reporting so testing has been more difficult than I’d prefer.
I hope to have a viable and tested code base to publish this weekend.
I just hope my lizard doesn’t mind the flashing lights while I’m testing…. 😉
For the LCC project I had to add a real time clock (RTC) so that it could manage the light schedule independently of a PC. I added a fairly generic RTC shield. I could have used this one or this one. They both use the I2C bus and the DS1307 RTC chip.
The example from LadyAda didn’t allow me to manipulate the date/time components well enough so I went with a library that pulls the date/time in BCD format. The issue was that I needed those preceding zeros on numbers less than 10. 8:8:8 is not as easy to read as 08:08:08 to me. The library I used allowed me to prepend the zero when necessary.