Create an digital Thermometer that speaks in the language of your choosing. It is fun because the Thermometer can be personalized for the person using it. Using a thermistor, we were able to calculate the degree in Celsius and play a corresponding audio file on an SD card.
Well, I have finished the build, but am still not finished with tweaking it. Also, I plan on expanding the functionality of this device. First, I want to implement other languages that can be accessed. Secondly, I have plans for at least three other modes that can be added.
- The Electronic Fortune Cookie. (Audible of course)
- Proverbs in a box. (Proverbs from the Bible.)
- Audible dice. Not that I need audible dice, but it wouldn't be hard to implement.
We will see how this goes. When I refine the design, I may post more clearer instructions and code.
- Arduino micro-contoller- For this we will use my simple Arduino UNO minimum build to save on expenses.
- SD card reader I used my Ethernet shield with SD slot to prototype, but than I built my own using voltage dividers for this project. You can see that with the SD card reader link.
- Amplifier circuit.
- Soft latch power switch - To allow the device to turn off with one button and turn itself off I built a Soft latching power switch. The button can also double as an input button as well. I am planning to use the input to change the language it is using and saving that information to be kept between power cycles.
- To not use an Arduino board, I will be going to a bare-bones Arduino setup.
- 3 different voltages. It is actually interesting that I will be using 3 different voltages for this little project.
- 9v from the battery through the P-FET will go to the 5v voltage regulator and the LM386 audio amplifier. The amplifier could run on 5v, but hey if you have 9v the LM386 is happy to take it.
- 5v will power the micro-controller
- 3.3v for the SD card will come by using the switching diodes and a 670k resister grounded to keep the level stable
- read the thermistor & computer the degrees in C.
- play the corresponding file on the SD card.
Before I post any code, I will need to clean it up.
The basis for the audio portion is taken from Darren Yates at APCmag. The Arduino is not fully up to playing high quality audio, but can play at a quality similar to AM radio. The format that can be used is = WAV, mono, 8-bit, up to 19kHz You will have to convert the files using your own audio converter or Yates has a converter I used.
I made an WAV audio file for each degree. You can say the temperature as in, "It is now 38 degrees." But where is the fun in that? Personalize it with, "John, it is 38 degrees. I think it would be a good time to head to the beach." "John at 5 degrees you better check your heat-pump, because I am not sure it is working." And so on. Imagine, after a year of use still all the messages would not have been heard, so they could have a surprise some day.
After making each file, convert to the proper WAV format. Then rename the files by taking away the .WAV file extension. You should be left with a folder of files named 1 2 3 4 5 6 7 8 9 10 11 12 and so on. (depending on the range of you have determined.) Also temps outside of your range you can play a file like. toohot- "Its way too hot for me." and toocold - "It is too cold for me. Is your blood still moving?"
Load the files without extensions onto the SD card.