This is a walk through of designing and manufacturing a microcontroller based project. The goal is to design a consumer product.
My new product is developed from this idea. It is capable of detecting the hygine levels in any environment. Bacteria, Mold, Dust, Hydrocarbon gases. Please email me if you have any questions or are interested in ordering such a product for your family. abhishekpratapa@gmail.com
I've been having a bunch of headaches lately and I didn't know what the cause of those headaches was. Secondarily, during these migraines, I would notice that my mouth felt extremely parched. Initially I had thought that the cause for these symptoms was that I wasn't drinking enough water. This, however, was not the case. I was drinking more than enough of my share of water and I was still feeling horrible. I needed to do something.
I finally arrived on the conclusion that the environment around me was partially causing these symptoms. I decided to build a sensor that told me the humidity and temperature readings in my environment; it would sort of be like a comfort indicator to determine whether these headaches were caused by my surroundings.
User Experience is most important when designing a device like this one. What do we want the user to see? Based off of the limited number of components I had available to me I opted for an analog approach in displaying the temperature and the humidity. It would sort of be like a clock. PLEASE spend more time than I did on this. You need to nail this in order to retain customers or users. The User Experience is illustrated below.
I began rummaging through my electronics and I managed to find a few components that I thought would be ideal to make such a device. They are listed below:
- Neo Pixel Ring
- Teensy 3.1
- Battery Management Unit
- Switch
- DHT22 Humidity and Temperature Sensor
- LiPo Battery
DHT22 Humidity and Temperature Sensor
- Flush Cutters
- Soldering Iron
Below is a figure of the wiring diagram I created. It is fairly simple.
I ended up wiring the device up before I tested it, I had run out of breadboards, and generally this is a horrible idea; however, this was not my first rodeo. I felt confident that I knew what I was doing. Everything worked out without any hiccups.
The code design is shown below in the diagram.
Translating the design to code was a fairly straight forward process. Keeping things simple in Embedded systems design means that space on the micro controller is preserved and that everything is running efficiently.
/*
* Method: setup
*
* Action: This method is the setup loop of the program, it sets up the
* DHT22 and the Neopixel objects
*
* params: [None]
*
* return: void
*
*/
/*
* Method: loop
*
* Action: This method is the main loop of the program, it structurally
* calls the other methods to make the program cohesive
*
* params: [None]
*
* return: void
*
*/
/*
* Method: display_correct
*
* Action: This method takes in two parameters, displays the correct
* number of Neo_pixels and the correct color for those pixels
*
* params: value Integer value to be displayed in the neo_pixels
* sent_color: Enum type color, determines the color to be displayed
* on the neo_pixels
*
* return: void
*
*/
/*
* Method: clear_previous
*
* Action: This method clears the Neo_pixels and sets the values of all the Neo_pixels to zero
*
* params: [None]
*
* return: void
*
*/
/*
* Method: read_sensors
*
* Action: This method reads the DHT22 and places the proper data in an int pointer array
*
* params: *data_retrieved: This is an Integer array pointer that stores the ones, and tens
* decimal places for the temperature and the humidity values.
* The first two indexes are the humidity reading and the second two
* indexes are the temperature reading in [tens, ones] format.
*
* return: void
*
*/
Here is a video of the prototype of the device
[] (http://www.youtube.com/watch?v=CA7ydEnhpj4 "Prototype Video")
Here is the Schematic Design for the project. (Click on it to go to the PDF of the schematic)
[] (https://github.com/abhishekpratapa/Comfort-Sensor/blob/master/Comfort_Sensor_PCB/comfort_board.pdf "PDF Schematic")
Here is the PCB design for the project.
Please take a look at the eagle CAD and schematic designs in: https://github.com/abhishekpratapa/Comfort-Sensor/tree/master/Comfort_Sensor_PCB
Here is a rendering of the Circuit in Solidworks
Quantity | Supplier | Price | Shipping |
---|---|---|---|
3 | Osh Park | $23.50 | $12.50 |
40 | Osh Park | $188.00 | $12.50 |
Name of Consumable | Quantity | Supplier | Price | Shipping | URL |
---|---|---|---|---|---|
Solder Paste | 3 | Digi-Key | $23.50 | $4.89 | http://www.digikey.com/product-detail/en/SMD291AX/SMD291AX-ND/1160002 |