I am pretty happy with it, its a thousand times better than the horrible interfaces you get on your average Electronic Speed Controller. Take the example of a Tamiya TEU104BK, the user interface consists of a single 1*2 mm grey button hidden in a 4mm recess in the case. The button and indicator light are in highlighted area in the pic below, a 10mm push button is included for size comparison.
While I have used a great big bright red 10mm push button, I haven't completely broken away from tradition, the interface still relies on the users ability to count and interpret a sequence of flashing lights. The reason for this is that mirco controllers provide a limited number of inputs and outputs. Each of these inputs/outputs can be extremely powerful so using them up with indicators, displays and multiple push buttons is an unacceptable waste of resources.
The data logger user interface
1 Big Red 10mm Push Button
1 Bright Red LED to signal 'Recording'
1 Bright Green LED to signal 'Sending recorded data over the serial interface'
The system has 5 states -
State | Meaning | Record Indicator | Serial Indicator |
Idle | Not currently doing anything | Brief flash every 2 seconds | As Record |
Record | Recording Data to SD Card | On | Off |
Serial | Reading SD Data and writing to serial | Off | On |
Memory Full | No more data can be recorded | On 1 Second/Off 1 Second | As Record |
Error | Something is wrong | Rapid Alternate with Serial | Rapid Alternate with Record |
To move between states the push button must be held for 1 second or more. To enter record from idle 1 Second, to enter Serial from idle 4 Seconds, to exit either record or idle 1 second.
All I need now is a Micro SD Card and the data logger is up and running.
Would you Please! post your code to help those of us who are trying to learn from all the information you have provided about your project. The whole purpose of reading about a project is to learn techniques for improving all aspects and the most important is the Code which is the heart of your project.
ReplyDelete