Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
For additional information check out the mbed page of the Analog Devices wiki: https://wiki.analog.com/resources/tools-software/mbed-drivers-all
Diff: examples/cn0216_example/main.cpp
- Revision:
- 22:34a97378aab6
- Parent:
- 18:7d35420ff4aa
- Parent:
- 19:fb92949e59c9
diff -r 7d35420ff4aa -r 34a97378aab6 examples/cn0216_example/main.cpp
--- a/examples/cn0216_example/main.cpp Thu May 05 15:59:47 2016 +0300
+++ b/examples/cn0216_example/main.cpp Tue May 17 18:17:18 2016 +0300
@@ -47,7 +47,8 @@
#include "mbed.h"
#include "CN0216.h"
-const float CAL_WEIGHT = (150.0);
+const float CAL_WEIGHT = (500.0);
+
Serial pc(USBTX, USBRX); ///< Serial interface to the pc
@@ -57,10 +58,15 @@
return;
}
-void display_data(uint32_t data, float weight)
+void display_data(uint32_t data, float weight, uint64_t timer)
{
- pc.printf("\r\nADC Input Voltage input = %f V", data); /* Send valid voltage input value */
+ pc.printf("\r\nADC Input Voltage input = %x V", data); /* Send valid voltage input value */
pc.printf("\r\nSensor Input Weight = %f grams", weight); /* Send valid grams value */
+
+
+ /* pc.printf("%d ",timer);
+ pc.printf("%x ",data);
+ pc.printf("%f ",weight);*/
pc.printf("\r\n");
}
@@ -68,17 +74,18 @@
* Project entry-point - initializes the CN0216 shield, reads the data when the ADC is ready and outputs the sensor value
*/
-//#define SINGLE_CONVERSION
-#define CONTINOUS_CONVERSION
+#define SINGLE_CONVERSION
+//#define CONTINOUS_CONVERSION
int main()
{
/* Main variables */
+ //t.start();
CN0216 cn0216;
#ifdef SINGLE_CONVERSION
cn0216.init(CAL_WEIGHT);
#elif defined CONTINOUS_CONVERSION
- cn0216.init(CAL_WEIGHT, 0x00, 0x07);
+ cn0216.init(CAL_WEIGHT, 0x08, 0x07);
#else
#error define SINGLE_CONVERSION or CONTINOUS_CONVERSION, but not both
#endif
@@ -102,13 +109,15 @@
cn0216.calibrate(CN0216::COMPUTE_UNITS_PER_BIT);
/* Infinite loop */
+ uint64_t timer = 0;
while (1) {
wait_ms(1000);
- {
- uint32_t data = cn0216.read_u32();
- float weight = cn0216.compute_weight(data); // Convert ADC data to voltage
- display_data(data, weight); // Display data thru UART
- }
+
+ uint32_t data = cn0216.read_u32();
+ float weight = cn0216.compute_weight(data); // Convert ADC data to voltage
+ display_data(data, weight, timer); // Display data thru UART
+
+ timer++;
}
CN0357 - Toxic gas measurement
CN0216 - Weight Scale