Posts

Showing posts from January, 2013

Upgraded Raspberry Pi Temperature Server

Image
I've been having a lot of fun messing around with the Raspberry Pi as a server and decided to upgrade the temperature monitor with some more advanced I2C shenanigans. I got 10 LM75 I2C temperature sensors on eBay for less than £3 including the delivery, which was a real bargain.  The only drawback was that they are SOIC-8 (i.e. tiny) 8-pin packages, but a small piece of tri-pad copper board and some fine soldering and I was able to come up with the adaptor in the photo below for prototyping purposes. The red LED is just to confirm that 3.3v power is getting to the LM75 on the little breadboard and the white and grey wires are the SCL (clock) and SDA (data) lines for the I2C bus coming from the Raspberry Pi. http://wiltec.no-ip.org (if the server is running, you'll find it above!) Reading temperature data from the LM75 is very simple, but I have hit a minor snag.  The LM75 uses a 2 byte data format although the device is essentially 8-bit. ...

Retro Sci-Fi Fonts

Image
I started looking at the classic fonts used in 1960s and 1970s science fiction and identified Eurostile and Futura as the fonts I remember best from films like '2001,' 'Silent Running' and TV series like 'U.F.O.' I got to thinking how cool it would be to have indicators using these fonts and how to go about making them.  A bit of experimenting and I found that printing the image above onto a transparency made a good indicator which would allow light to shine through the lettering.  The only problem was that the printer couldn't get a deep enough black.  So I figured, print 5 copies of the image, line them up carefully and glue them together to make a transparency 5 times thicker and the black background is really well, black, but light can still shine through the lettering.  A piece of thin white paper behind it all acts as a diffuser and then all that's needed is a good bright LED to finish it off. I've been playing with this and I'll get...

RaspberryPi Micro Server

Image
RaspberryPi micro temperature server, sitting on the mantelpiece serving temperature data out via wireless onto the World Wide Web thingy.  Not always on, but if it is, it can be found at Temperature Sensor I'm working on making the readings more accurate using a better Python script.  The thermistor is (very) non-linear so I'm trying to generate a look-up table to do this quickly.

Blocked

Image
Well we are now trying recycled wooden blocks as a fuel source as we move ever-closer to smug carbon-neutrality.  They burn hot and each one will burn for about an hour, but best of all they are much cleaner to handle than the coal, light quicker and produce much less ash.  They are also easy to store because they are tightly compressed and water has difficulty getting into them so in theory they could be stored outside although I bagged mine in old coal sacks and put a tarpaulin over the whole lot to keep them dry. Cost?  £40 for a big builders bag, must be at least 300kg in there, which is very reasonable.  This compares with about £80 for the same weight in coal.  The only drawback is you need to go and collect the blocks with a trailer.  Of course Ali sweet-talked the supplier into delivering the first order as a favour, but I had to bag it up myself to get it stored. So there is of course a play-off with this arrangement.  That is ...

RaspberryPi Remote Temperature Sensing

Image
Well I finally got around to setting up an I2C device properly on the RaspberryPi, in this case a PCF8591 4-input analogue-to-digital converter (A/D for short).  The PCF8591 is easy to communicate with and has 8-bit resolution so it is okay for basic applications. Above you can see it on a breadboard hooked up to the RaspberryPi.  The device is reading an LM35DZ temperature sensor, which outputs a very accurate voltage at 10mV per degree Celsius (or Kelvin for the purists!), so at a room temperature of 20 degrees C, you get 200mV or 0.2 volts.  The only issue at the minute is that the PCF8591 is using the RPi's 3.3v as its reference so a full '255' reading equates to 3.3v and my minuscule 0.2v gets about 16.  The solution will be to hook up an accurate 1 volt reference to the PCF8591 and I will sort that out next. Now the fun part!  The Python script reads the PCF8591 and if the voltage on input '0' has changed it prints it out, but also writes thi...