This device measures fine dust and NO2 concentration in the air while on the move and adds GPS coordinates to each measurement location.
Project showcase by Telina
Without a GPS-signal the mobile meter will not log the data on the SDcard, but the data will be shown on the 7-segment display. So, to enable logging you have to comment out the code between line 453 and 463 where the retrieval of GPS data is done. The GPS-module itself however must still be present. If you want to get rid of GPS completely, a lot of other parts in the code have to be deleted or commented out. If you really want this last option, I can send you a redesigned code version.
A few months ago I answered a similar question from someone in India. My reply was as follows:
If you order the SDS011 finedust sensor, you also get a flat cable with two connectors attached to it and a serial2USB convertor module. When you connect the sensor to this module with the flat cable, then you can plug the serial2USB module into a USB-port of your laptop or notebook. Of course, you always need some software to read the serial messages which the SDS011 sensor sends every second and decode these into readable format on the screen. I recommend to install Python and the CH341 serial2usb driver on your computer (you can get a free download of both on the internet). By running a small Python program (which I can always post to you) you can read the current PM10 and PM2.5 values on the screen and with a small extension, you can also log all measurements into a file for later consultation.
This is to my opinion the cheapest and simplest solution to measure finedust concentration on a fixed location.
So, you don't need an Arduino microcontroller to display PM-values on a laptop or notebook. If it's this what you are looking for, I can send you the Python program as well. If you need the mobile version as it is explained in this project, I can also send the set of the two PCBs to you with a description how to build one for yourself. Cost of these PCBs excl. shipping is about 50$.
Thanks for your comment: you've apparently found an error in the static declaration of the 'days' array. However the compiler does not treat this as an error, but indicates it as a warning. It is obvious that you cannot store the last 3 values (273, 304, 334) in a memory location of type uint8_t, it should be uint16_t. Reason why I didn't notice this was because warnings were suppressed in my IDE-settings. But by changing this type 12 extra memory bytes are needed, which causes the 'low memory' warning. Therefore I changed the 'days' array so that values indicate the number of days to be added from previous month at beginning of each month i.s.o. the cumulative number of days since beginning of the year. I also added more comments in the function 'hour_inc' and corrected another error in the last two if-statements. The new code has been inserted in the SW-description of the project.
The use of the function 'hour_inc' is only relevant for those countries belonging to the GMT+1 timezone where the daylight saving procedure applies. For other time zones where this procedure applies other values in the 'hours' array have to be filled in. This function is not needed for time zones where there doesn't exist any daylight saving procedure and it should be replaced by a fixed integer reflecting the number of hours that the time zone is earlier or later than the GMT time zone.
Or connect with your social account:
New here? Create an account