May 15

OK, a few things. Externally powering the arduino took care of my FTDI reset issues, my data is nice and stable now. I made an outdoor sensor out of some copper tube, some silicon caulk, some thermal goo and some shrink wrap. The copper tube acts like a heat sink, the silicon seals the tube up, the tube is filled with the thermal goo to help heat conduction and the shrink wrap is all over the place to seal it all up. I’ll post pictures later. I also got the servo code working and proof of concept setup controlling a damper just for fun. I’m so stoked. Lots of great stuff in the works.

May 15

I’ve switched my arduino from bus powered to an external power supply in an effort to get the darn thing to stop reseting it’s FTDI Serial->USB adapter.  Every time it does that, my code loses it’s connection to the arduino and I get big holes in my data. Not cool.  I made the swap this morning, if it can run 24 hours without reseting, I’m calling this one done.

May 14

I ran into a small problem with WHIA recently that seemed to be fairly serious.  I could only attach two sensors at a time without the whole 1-wire network going dark.  After doing some research and being pointed by Maxim to app note 148 I found that my trouble was based on using a star type topology and parasitic powered sensors. The star topology was necessary simply due to the layout of the sensors. I guess I could have done some weird loop with the cables once they were in the basement, but that was far from ideal. The parasitic power was a requirement because, well, those sensors are free from maxim and it’s what I had on hand.  In the end, I decided to go with a switched 1-wire network. What this means is that currently, each sensor is on it’s own isolated 1-wire network. I tell the arduino to do a 1-wire discovery, read the sensor it finds, then disconnect that sensor and move on to the next network. The whole process only takes 1 second, so not problem at all there.  I wanted to use a common source analog switch of some sort, but had a hard time finding one cheaply that would do what I wanted, so instead I chose to use 1 digital IO pin on the arduino for each network.  My sensor read loop then simply moves from one pin to the next looking for 1-wire devices.  It’s not great and it won’t scale like a true 1-wire network will, but it’s doing a darn fine job at the moment.  I am having one lingering problem. The boarduino that Im using seems to like to reset its usb bus and change what device it’s attached to, so my update script stops working. I think that is just power related though and Im going to try to address it tomorrow.

Apr 29

Just taking a moment to geek out. I finished my arduino code for my home HVAC project and decided to give it a burn in test tonight. I have 5 DS18S20 temperature sensors connected via parasitic 1-wire to pin 10 on a boarduino. My code just goes out and does a beacon looking for any 1-wire devices on the network and then queries them. It takes that data, turns it from hex to a Fahrenheit temperature and then prints a colon delimited string with that information out onto the serial port. I had been using just 1 probe, so tonight I decided for giggles to hot add 4 more. I smacked the ICs onto the breadboard while everything was running and what do you know, the code picked the new units up and never skipped a beat! Cool!

Oct 31

The Arduino IDE is a neat little bit of software that doesn’t have a ready made launcher for those of use in the unix world.   It’s easy enough to create though.

  • Right click on your taskbar and select Add to Panel
  • Choose Custom Application Launcher
  • Type should be Application
  • Name should be Whatever you want, I just use ‘Arduino’
  • Command should be

bash -c “cd $HOME/Dropbox/Code/arduino-0012/; ./arduino”

This assumes that the arduino software is in a directory called “Dropbox/Code” in your home directory. If it’s just in your home directory, then the command would look like this

bash -c “cd $HOME/arduino-0012/; ./arduino”

  • Now just pick an icon of your choice and hit OK.

« Previous Entries