Franz Wolf / Mbed 2 deprecated NUClight_TEST_ALL_V2

Dependencies:   mbed MPU6050 DS1820

Files at this revision

API Documentation at this revision

Comitter:
wf
Date:
Wed Feb 13 11:37:14 2019 +0000
Child:
1:75b533b777ad
Commit message:
nuclight L432KC testprogram

Changed in this revision

DS1820.lib Show annotated file Show diff for this revision Revisions of this file
MPU6050.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
mbed.bld Show annotated file Show diff for this revision Revisions of this file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/DS1820.lib	Wed Feb 13 11:37:14 2019 +0000
@@ -0,0 +1,1 @@
+http://mbed.org/users/Sissors/code/DS1820/#c591209285e9
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/MPU6050.lib	Wed Feb 13 11:37:14 2019 +0000
@@ -0,0 +1,1 @@
+https://os.mbed.com/users/wf/code/MPU6050/#2bf425b00c93
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Wed Feb 13 11:37:14 2019 +0000
@@ -0,0 +1,224 @@
+// HIMBED _TEST1_V2 
+// Diese Software testet die verschiedenen Funktionen des M0 Boards  
+// BULME Graz,     by F. Wolf   04.02.2019
+/*
+                             PIN-OUT-NUClight
+                                NUCLEO-L432KC
+                                 |-------|
+                                 |       |
+                                 |       |
+                                 |       |
+                        LED1 <-D2|       |
+                        LED2 <-D3|       |
+SDA (I2C)  (MPU6050 gyro) <- D4  |       | 
+SCL (I2C)  (MPU6050 gyro) <- D5  |       |
+                        LED3 <-D6|       | A3 -> Taster
+                                 |       | A2 -> Taster
+                                 |       | A1 -> Taster
+                                 |       | A0 -> DS18B20
+                     RGB-g <- D10|       |
+                     RGB-b <- D11|       |
+                     RGB-r <- D12|-------|
+        
+ 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);
+
+// 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); 
+InterruptIn sw3(A3); 
+
+
+// Definition der 3 LED's
+DigitalOut led1(D2);
+DigitalOut led2(D3);
+DigitalOut led3(D6);
+
+DigitalOut led4(D13);  // on Board LED
+
+// RGB LED
+DigitalOut RGBb(D10);  // blaue LED
+DigitalOut RGBg(D11);  // grüne LED 
+DigitalOut RGBr(D12);  // rote  LED
+
+int a;          
+int num_devices = 0;          
+
+//mpu6050
+//creating onject of MPU6050 class
+MPU6050 ark(D4,D5); // MPU6050(PinName sda, PinName scl);
+
+DS1820* probe[MAX_PROBES];
+
+// ********** Deklarationen **************
+void RGBtest();
+void LEDtest();
+void LEDonoff();
+
+// **********  Hauptprogramm ************** 
+int main()
+{
+    pc.printf("Welcome to NUClight TEST V1 \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
+    sw3.fall(&LEDtest);      //LED-Test Unterprogramm aufrufen
+   
+
+             
+          /*************** MPU6050 (gyro) TEST *******************************/        
+     
+        //reading Temprature
+        float temp = ark.getTemp();
+        pc.printf("MPU6050-temprature = %0.2f ^C\r\n",temp);
+        
+        //reading Grometer 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]);
+        
+        //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]);
+
+        wait(1); //wait 1000ms
+    
+//DS18B20
+
+       // 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 ****************************/
+/***********************************************************/
+void RGBtest()
+{
+    pc.printf("RGBTEST WEIS-ROT-MAGENTA-BLAU-TURKIS-GRUN-GELB\r\n"); //HTerm Ausgabe
+    
+        //Weiss
+        RGBr = 1;   // Alle RGB LED EIN
+        RGBb = 1;
+        RGBg = 1;
+        wait(0.2); 
+        
+        //Rot
+        RGBb = 0; // Blaue LED ausschalten
+        RGBg = 0; // Grune LED ausschalten
+        wait(0.2);
+        
+        //Purple
+        RGBb = 1; // Blaue LED einschalten
+        wait(0.2);
+        
+        //Blaue
+        RGBr = 0; // Rote LED ausschalten
+        wait(0.2);
+        
+        //Turkis
+        RGBg = 1; // Grune LED einschalten
+        wait(0.2);
+        
+        //Grun
+        RGBb = 0; // Blaue LED ausschalten
+        wait(0.2);
+        
+        //Gelb
+        RGBr = 1; // Rote LED einschalten
+        wait(0.2);
+        
+        //Alle ausschalten
+        RGBr = 0;  
+        RGBb = 0;
+        RGBg = 0;
+}
+
+/************************** LED ****************************/
+/***********************************************************/
+void LEDtest()
+{
+    pc.printf("LAUFLICHT UEBER 3 LED (5-mal) \r\n"); //HTerm Ausgabe
+    a=0;
+     
+    RGBtest(); 
+ 
+    
+    while (a<5) {   
+        led1=1;     //Led1 einschalten
+        wait(0.2);
+        led1=0;     //Led1 ausschalten
+        
+        led2=1;     //Led2 einschalten
+        wait(0.2);
+        led2=0;     //Led2 ausschalten
+        
+        led3=1;     //Led3 einschalten
+        wait(0.2);
+        led3=0;     //Led3 ausschalten
+        
+        led4=!led4;
+        a++;
+        }
+}
+
+/************************ Sensoren *************************/
+/***********************************************************/
+void LEDonoff()
+{
+    /*
+    led1=!led1;     //Led1 einschalten
+    led2=!led2;     //Led1 einschalten
+    led3=!led3;     //Led1 einschalten
+*/
+
+  led4=!led4;     //Led1 einschalten
+}
+
+/***********/
+/********************   ENDE  ***********************/
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mbed.bld	Wed Feb 13 11:37:14 2019 +0000
@@ -0,0 +1,1 @@
+https://os.mbed.com/users/mbed_official/code/mbed/builds/3a7713b1edbc
\ No newline at end of file