Spent the day working with DS18B20 temperature sensors and getting an Arduino to read the data they spit out. Lucky for me and you, we have the shoulders of giants to stand upon as we copy and paste some magical code to get us started!
The DS18B20 is a small 3 pin temperature sensor that closely resembles a transistor. Each one has a “unique” 64bit serial code and can communicate over a “1 Wire” protocol. With a bit of code, we can have multiple temperature sensors all communicating and sending data over just one pin!
I’ve taken some pictures of my project today. I have three DS18B20 all communicating over pin 10 on an Arduino.
DS18B20 Temperature Sensor and Arduino
DS18B20 Temperature Sensor and Arduino
DS18B20 Temperature Sensors and Arduino
DS18B20 Temperature Sensors and Arduino
DS18B20 Temperature Sensors
“Screen Shot”
The first, or closest to the Arduino, is wired in “Normal” or “Master” mode.
GND(pin1) to Arduino GND
DQ(pin2) to Arduino Pin 10
VDD(pin3) to Arduino 5V
a 4.7K Resistor between DQ(pin2) and VDD(pin3)
The last two, or middle and furthest away from the Arduino are wired in “Parasitic” or “Slave” mode. These two require no power (as their name sake implies).
GND(pin1) and VDD(pin3) to Arduino GND
DQ(pin2) to Arduino Pin 10
The bit of sample code scans through the DS18B20 64bit serial codes until it finds no more unique codes. It displays the information in HEX, followed by Celsius, then Fahrenheit of each sensor before moving to the next.
Finally gotten around to posting some pictures and video from the Flourish Conference, in Chicago IL. Flourish was a blast, Droops and I had a wonderful time with all the great people that we met.
Flourish Conf 09
Morgellon talks to Massimo Banzi, co-founder of the Arduino
There has been quite a flurry of development revolving around the official ethernet shield recently. Here are what I consider a few of the more important changes.
Ethernet fixes – There are some connection issues with the ethernet library with regard to incomplete disconnects. Since the wiznet chip only supports 4 simultaneous connections, this manifests itself pretty quickly if you are trying to poll a server for changes. Etracer, from the arduino forums, found and fixed this problem and has released a new client.cpp as well as detailed the issues in a post to the arduino developers mailing list.
Another recent addition is Ben Combee’s Webduino library, which greatly simplifies processing html forms when using the arduino and ethernet shield as a web server. The library and basic examples are available at: http://code.google.com/p/webduino/
Bjoern Hartmann’s UDP library has also been used for a couple of recent projects including work on DNS/DHCP and fellow Infonomicon member Cynshard’s work on a NTP library. The NTP library is particularly useful since it can be combined with the software Date/Time library to have fairly accurate time without adding a hardware realtime clock to your project.
As you can see, there seems to be a lot of development activity ongoing for the official ethernet shield and since the addition of networking to the arduino greatly expands its possible uses, I think we’ll see even more. Please remember to thank these folks for their code and bugfix contributions…
What a short strange trip its been. I work at a small private military school with a really fun summer camp/school program. I asked the principal the other day if I could teach an Arduino class this summer, fully expecting to have to explain what it was and how I would do it, and he looked at the syllabus and said that it was cool.
I am teaching an Arduino class for High School Credit!
Then we went to Flourish ‘09 in Chicago and met Massimo, one of the founders of the Arduino project. (pics and video to come). He was excited about this class, saying that we needed more english language lesson plans for the Arduino. So not only am I teaching a really cool class, I am going to be helping with making lesson plans for teachers to use the world over.
So what about this class, what is it all about? It is an Innovation and Invention credit in 6 weeks, or half a credit in 3 weeks. I am going to guide the students in building what they want to create, which should be really fun.
Here’s another video from last weekend’s RepRap adventure!
This time Graxe describes the communications and controller boards, how they work and what they do. He’s using a bootable USB drive that contains all the software needed to work and communicate with the RepRap. Graxe also explains how one loads a file for printing and what type of files are excepted. Better lighting this time around… still in 720p goodness, enjoy!
Looks like Massimo Banzi, one of the co-founders of the Arduino was interviewed this week on FLOSS Weekly. A great interview, I highly recommend you jump over to the FLOSS Weekly site and give it a listen!
So, I like to lurk in the #arduino IRC chatroom on freenode.net. While in there the other day I started talking with Graxe and he mentioned that he would be near my area and inquired if I was interested in the RepRap. Needless to say, I didn’t hesitate on arranging a meet-up!
So, Graxe was kind enough to drive down and share all his awesome gear with me. I decided to take a bit of video last night, as he was unpacking. The video is a little dark, as it was an impromptu session. The battery was almost dead, so the video cuts out near the end.
Fear not… after a trip to the Chinese buffet, we plan to return and do more electronics work. We also plan on taking some more video and pictures… hopefully a little better quality this time around
WOW… Back from Outerz0ne and managed to catch up on sleep! I had a fantastic time with all the wonderful people attending Outerz0ne.
I’ve finally uploaded the video of my talk, so go check it out! You may notice that the few slides I use look very similar to the Phreaknic slides. That’s because they are the Phreaknic slides. I forgot to pack up my laptop power cord and since it’s kinda old, the battery life is non existent. Luckily, Jeremy and Brian (two FANTASTIC guys that were sharing the room with me and Irongeek) had an extra EEE PC they let me borrow. I managed to download the PDF of the slides from my server, a small bit of code, the arduino IDE… and throw “something” together.
Now that Outerz0ne is over, we should be getting back to a more “daily” feel. I received some conductive thread and some temperature sensors the day before Outerz0ne, so I’ll be doing some basic projects with them soon!
I’m also working on some LillyPad based projects, to create some wearable electronics. I’m starting to get the needlework down and I have acquired a sewing machine… now I just need to learn how to use the sewing machine…