Test ok

Dependencies:   mbed MPU6050 DS1820

Files at this revision

API Documentation at this revision

Comitter:
wf
Date:
Sun Oct 20 13:41:52 2019 +0000
Parent:
2:0e87ebc53aa8
Commit message:
Test ok

Changed in this revision

DS1820.lib Show annotated file Show diff for this revision Revisions of this file
main.cpp Show annotated file Show diff for this revision Revisions of this file
diff -r 0e87ebc53aa8 -r 3dcdaf0d09a1 DS1820.lib
--- a/DS1820.lib	Fri Oct 11 09:44:36 2019 +0000
+++ b/DS1820.lib	Sun Oct 20 13:41:52 2019 +0000
@@ -1,1 +1,1 @@
-http://mbed.org/users/Sissors/code/DS1820/#c591209285e9
+https://os.mbed.com/users/hudakz/code/DS1820/#db94b6510df6
diff -r 0e87ebc53aa8 -r 3dcdaf0d09a1 main.cpp
--- a/main.cpp	Fri Oct 11 09:44:36 2019 +0000
+++ b/main.cpp	Sun Oct 20 13:41:52 2019 +0000
@@ -1,6 +1,6 @@
-// NUClight_TEST1_V3 
-// Diese Software testet die verschiedenen Funktionen des M0 Boards  
-// BULME Graz,     by F. Wolf   05.10.2019
+// Diese Software testet die verschiedenen Funktionen des NUClight V3 Boards  
+// BULME Graz,     
+// by F. Wolf   20.10.2019
 /*
                              PIN-OUT-NUClight
                                 NUCLEO-L432KC
@@ -22,24 +22,14 @@
         
  RGB LED aktiv hight (1)       
  */   
-        
 #include <mbed.h>
 #include "MPU6050.h"
 #include "DS1820.h"
 
-#define DATA_PIN        A0  // DS18B20
-#define MAX_PROBES      2
-
-// ********   Definitionen  **********
-//Serial pc(USBTX, USBRX);
-Serial pc(SERIAL_TX,SERIAL_RX);
+//****** Definitionen **********************
+Serial pc(SERIAL_TX,SERIAL_RX);  //nucleo
 
 // Definition der Taster (Switches)
-/*
-InterruptIn  sw1(A1); //SW1
-InterruptIn  sw2(A2); //SW2 -> sein IO Pin ist laut Schaltplan der P0_15
-InterruptIn  sw3(A3); //SW3
-*/
 InterruptIn sw1(A1); 
 InterruptIn sw2(A2); 
 AnalogIn   ain(A3);
@@ -55,102 +45,85 @@
 DigitalOut led8(D13);   // on Board LED
 
 // RGB LED
-//DigitalOut RGBb(D0);  // blaue LED
-//DigitalOut RGBg(D1);  // grüne LED 
-//DigitalOut RGBr(D12);  // rote  LED
 PwmOut RGBg(D0);  // gruen LED
 PwmOut RGBr(D1);  // rote LED
-PwmOut RGBb(D10);  // blaue LED
-
-int a;          
-int num_devices = 0;          
+PwmOut RGBb(D10); // blaue LED
 
-//mpu6050
-//creating onject of MPU6050 class
+// DS1820 Temperatursensor
+#define DATA_PIN        A0  // DS18B20
+DS1820      ds1820(DATA_PIN);             // create a ds1820 sensor
+
+// GY-521 Module MPU-6050 3-Achsen-Gyroskop + 3 Achsen Accelerometre
 MPU6050 ark(D4,D5); // MPU6050(PinName sda, PinName scl);
-DS1820* probe[MAX_PROBES];
 
 // ********** Deklarationen **************
 void RGBtest();
 void LEDtest();
 void LEDonoff();
 
+// variable
+int a;          
+int num_devices = 0;     
+
 // **********  Hauptprogramm ************** 
 int main()
 {
-    pc.printf("Welcome to NUClight TEST V2 \r\n"); //HTerm Welcome Message  
-    
+    pc.printf("******** TEST-SW *************\r\n"); //HTerm Welcome Message  
+    pc.printf("TEST-SW Welcome to NUClight V3 \r\n"); //HTerm Welcome Message 
+    pc.printf("*******************************\r\n"); //HTerm Welcome Message 
     while(1)
     {
-    // attach the address of the flip function to the rising edge
-    sw1.fall(&RGBtest);      //RGB-Test Unterprogramm aufrufen
-    sw2.fall(&LEDonoff);     //LED ON OFF - Test Unterprogramm aufrufen
-   
-    pc.printf("percentage: %3.3f%%\n", ain.read()*100.0f);  
-  
-    
-    RGBr.period_ms(20.0f);  // 20 mili second period
-    RGBr.pulsewidth_ms(ain.read()*10.0f);  //  5 mili second pulse (on)
-    
+        // attach the address of the flip function to the rising edge
+        sw1.fall(&RGBtest);      //RGB-Test Unterprogramm aufrufen
+        sw2.fall(&LEDonoff);     //LED ON OFF - Test Unterprogramm aufrufen
+        pc.printf("percentage: %3.0f%%\r\n", ain.read()*100.0f);  
+        RGBr.period_ms(20.0f);  // 20 mili second period
+        RGBr.pulsewidth_ms(ain.read()*10.0f);  //  5 mili second pulse (on)
+        
+        wait(1);      
+        // *** MPU6050 (gyro) TEST        
+        // reading Temprature
+        float temp = ark.getTemp();
 
-    
-       
-    wait(1);
-             
-          /*************** MPU6050 (gyro) TEST *******************************/        
-     
-        //reading Temprature
-        float temp = ark.getTemp();
-        pc.printf("MPU6050-temprature = %0.2f ^C\r\n",temp);
-        
-        //reading Grometer readings
+        pc.printf("MPU6050-temprature = %0.2f ^C\r\n",temp); 
+        pc.printf("__________________\r\n");
+        //reading Gyrometer readings
         float gyro[3];
         ark.getGyro(gyro);
-        pc.printf("Gyro0=%0.3f,\tGyro1=%0.3f,\tGyro2=%0.3f\r\n",gyro[0],gyro[1],gyro[2]);
-        
+        pc.printf("Gyroscope\r\n");
+        pc.printf("__________________\r\n");
+        pc.printf("Gyro0=%0.3f,  Gyro1=%0.3f,  Gyro2=%0.3f\r\n",gyro[0],gyro[1],gyro[2]);
         //reading Acclerometer readings
         float acce[3];
         ark.getAccelero(acce);
-        pc.printf("Acce0=%0.3f,Acce1=%0.3f,Acce2=%0.3f\r\n",acce[0],acce[1],acce[2]);
-
+        pc.printf("Accelerometer\r\n");
+        pc.printf("__________________\r\n");
+        pc.printf("Acce0=%0.3f,  Acce1=%0.3f,  Acce2=%0.3f\r\n",acce[0],acce[1],acce[2]);
         wait(1); //wait 1000ms
-    
-//DS18B20
+        
+        //DS18B20
+        if(ds1820.begin()) 
+        {
+            ds1820.startConversion();   // start temperature conversion
+            wait(1.0);                  // let DS1820 complete the temperature conversion
+            pc.printf("temprature DS1820 = %3.1f ^C\r\n", ds1820.read(),248);     // read temperature
+            pc.printf("__________________\r\n");
+        }
+        else
+        {
+            pc.printf("No DS1820 sensor found!\r\n");
+        }
+    }
+}
 
-       // define MULTIPLE_PROBES
-        DS1820* probe[MAX_PROBES];
-     
-            // Initialize the probe array to DS1820 objects
-           // int num_devices = 0;
-            while(DS1820::unassignedProbe(DATA_PIN)) {
-                probe[num_devices] = new DS1820(DATA_PIN);
-                num_devices++;
-                if (num_devices == MAX_PROBES)
-                    break;
-            }
-            
-            printf("Found %d device(s)\r\n\n", num_devices);
-      
-                probe[0]->convertTemperature(true, DS1820::all_devices);         //Start temperature conversion, wait until ready
-                for (int i = 0; i<num_devices; i++)
-                    printf("DS18B20-Device %d returns %3.1f oC\r\n", i, probe[i]->temperature());
-                printf("\r\n");
-                wait(1);
-            
-            wait(1);
-            }
-} 
-/**************************************************** Unterprogramme****************************************************/
-/***********************************************************************************************************************/
-           
-/************************** RGB ****************************/
-/***********************************************************/
+
+// **********  Funktionen **************   
+// TEST-RGB
+//------------------------------------
 void RGBtest()
 {
     pc.printf("RGBTEST\r\n"); //HTerm Ausgabe
-    
     LEDtest();
-    
     for (int t=1; t<15;t++)
     {
         RGBr.period_ms(20.0f);  // 20 mili second period
@@ -159,24 +132,21 @@
     }
     
     RGBr.pulsewidth_ms(0);  //  5 mili second pulse (on) 
-    
     for (int t=1; t<15;t++)
     {
         RGBg.period_ms(20.0f);  // 20 mili second period
         RGBg.pulsewidth_ms(t);  //  5 mili second pulse (on)
         wait(0.3);
     }
-    
+
     RGBr.pulsewidth_ms(0);  //  5 mili second pulse (on)
     RGBg.pulsewidth_ms(0);  //  5 mili second pulse (on)
-    
     for (int t=1; t<15;t++)
     {
         RGBb.period_ms(20.0f);  // 20 mili second period
         RGBb.pulsewidth_ms(t);  //  5 mili second pulse (on)
         wait(0.3);
     }
-    
     wait(1);
     RGBr.pulsewidth_ms(0);  //  RGB-LED off
     RGBg.pulsewidth_ms(0);  //  
@@ -202,13 +172,12 @@
    
 }
 
-/************************** LED ****************************/
-/***********************************************************/
+// TEST-LED
+//------------------------------------
 void LEDtest()
 {
     pc.printf("LAUFLICHT UEBER 8 LED (5-mal) \r\n"); //HTerm Ausgabe
     a=0;
-     
     while (a<5) {   
         led1=1;     //Led1 einschalten
         wait(0.2);
@@ -241,13 +210,12 @@
         led8=1;     //Led3 einschalten
         wait(0.2);
         led8=0;     //Led3 ausschalten
-    
         a++;
         }
 }
 
-/************************ Sensoren *************************/
-/***********************************************************/
+// TEST-LED-on-off
+//------------------------------------
 void LEDonoff()
 {
     led1=!led1;     //Led1 einschalten
@@ -259,6 +227,4 @@
     led7=!led7;     //Led1 einschalten
     led8=!led8;     //Led1 einschalten
 }
-
-/***********/
 /********************   ENDE  ***********************/
\ No newline at end of file