Welcome to Part 5, in this part we’ll talk about enabling brown out detection to our Standalone Temperature Logger as a safety mechanism. The information below about brown out detection is also available as a video explanation, I recommend viewing the video whilst reading below.
Before we do anything let’s take a look at the ATtiny85’s datasheet, we want to check what voltage range works on.
Welcome back to Part 4, we now get to see some results of our work :). The video below shows the ATtiny85 running at 5 volts with our standalone temperature logger software and retrieving the data from the ATtiny’s EEPROM and printing it on our computer screen.
Why did I mention “ATtiny85 running at 5 volts”? It’s because we aren’t quite done yet with this project, the next step which is Part 5 is to adjust our code and schematic to run the ATtiny85 on 2 AA batteries. Then after that we need to make a PCB of it!
Lets begin with Part 3 in which I’ll hook up the ATtiny85, program the simple LED blinking test, take it away from the Arduino, run it on a 9V battery and also how we are actually using the thermistor to calculate the temperature.
Firstly we’ll visit the website I gave in the first part, which shows us how to hook up the ATtiny85 to the Arduino so the Arduino can program it. Here is a mirror of the site and download files in case it’s down: HLT wiki Arduino A Ttiny 4585_files
We choose from the Arduino program to open up the ArduinoISP sketch which is below the “8. Strings” selection. Now just upload that to your Arduino.
Welcome to Part 2, here we’ll test our implemented code out on the Arduino for a proof of concept. As you’ll recall the Standalone Temperature Logger’s function is to record temperature every x minutes defined by the user and log this to the EEPROM.
The code is fairly simple and will be explained in this post. What hasn’t been coded is my implementation of a simpler 2 Wire protocol as this actually requires an ATtiny85, so I’d like to make sure the code is functional before continuing.
I plan to build a Standalone Temperature Logger with the minimum components as I can, I’ll be using the ATtiny85 and Arduino software to program it. Firstly I’ll have it run on the Arduino to confirm it’s working, then migrate it to the ATtiny85, make it run on battery and make a PCB of it all. It sounds like a simple concept, but I know there’s going to be more to it that meets the eye.
Design Characteristics
Use the minimum components possible
Power the project with batteries
Specify the logging delay time
Write temperature to EEPROM on-board
How to extract data from EEPROM
Now lets go through all these design characteristics.
So I’ve been playing with the LED Matrix for a little while and decided a few weeks ago to make a breakout board for it. There are 3 versions of breakout board, all of which can be connected together so you can send your outputs for each register via just 3 wires. Now you can save time wiring the shift registers on your bread board.
The first version is the the basic Shift Register Breakout Board.
I’ve now gotten a feel for the LED Matrix and have made a Road Runner game for it too, similar to the LCD Road Runner except you don’t have enemies and don’t shoot. I’ve optimised the way levels are stored better than LCD Road Runner so we don’t have to use PROMEM any more. The main highlight is that you can make your own level very easily which I’ll show you how to do near the end of this post.
LED Matrix Road Runner v1.0 (10 December 2010) – Initial Release with 1 level
Instructions
You control the dot and you need to avoid the walls, you can move in all directions.
Following on from Part 3, our motor controller has been successfully built and tested, now it’s time to release the parts used, where to place them, etc so you can build your own. I’ve actually taken consideration to what I said in Part 3 and have re-designed the Motor Controller to have the components and lines to be spaced out a bit more however I’ve changed the lines back to 0.254mm wide. You have the option of both v1.0 or v1.1 boards, I recommend v1.1 even though it is a little bigger.
Now it’s time for the part that you and I have been waiting for, the PCB development of this circuit! It sure did take me while to get everything I need for this and a some research on this topic but in the end it all worked out. This is a step by step guide to how to develop your PCB using a collaboration of various resources I’ve found on the net so you should be set to make your own PCB once you have a design after reading this.
I bet you were expecting to see Part 3 of this build? I’ve recently learned about the important of power dissipation when giving my circuit the real test of 12 volts @ 0.75 Amps and thought I’d share it with you.
In my selection of transistors for the motor controller I went with ones that firstly had a low Vce and then based on price after that; what I didn’t completely take into account is the power dissipation of these components. I know I mentioned it in part 1 however I didn’t completely understand why one of my transistor’s datasheets had 2 values for power dissipation… and now I do, and you will to!
AdvanceVGA – Play your GBA on the big screen! Swap out the LCD for our board, solder some wires, connect 5V USB and VGA and you’re ready to go.
GBxCart RW allows you to backup GB/GBC/GBA ROMs, save or restore game saves and re-write supported flash carts. Mini RW option available for GB/GBC only.
Wireless Gameboy Controller – Use your Gameboy, mGB, GBC, GBA, GBA SP, GB Micro, NDS and NDS Lite as a wireless controller on Windows, Linux, Raspberry Pi, etc, and on your NES, SNES, N64, Gamecube and Wii.