Schaltet die LINE Sensoren ein -> die Sensoren sind auf LED gelegt. Durch anheben bzw am Tisch aufsetzen können die LED geschalten werden. Kannst auch mit dem Finger über die LINE Sensoren fahren. Durch drehen der MONTIERTEN Räder blinken die 4 INCREMENT LED's

Dependencies:   mbed

Revision:
2:90c675f0505a
Parent:
1:d646fe79bc6c
Child:
3:5c3f86316047
--- a/main.cpp	Sun May 31 16:34:40 2015 +0000
+++ b/main.cpp	Mon Jun 08 13:23:44 2015 +0000
@@ -6,72 +6,56 @@
 ***********************************/
 #include "mbed.h"
 
-DigitalOut Von (P1_2);    // Motor Spannung ON 
-DigitalOut LineON (P1_16);// Line Sensor aktivieren
-DigitalIn OSI1 (P0_14);   // OSI1
-DigitalIn OSI2 (P0_12);
-DigitalIn OSI3 (P0_16);
-DigitalIn OSI4 (P0_13);
-DigitalIn OSI5 (P0_22);   // OSI5
-I2C i2c(p28, p27);        // die Adressen des I2C Busses am uP 
-                          // p28 -> SDA
-                          // p27 -> SCL 
-                        
-char anzeige;                          
-                          
+DigitalOut Von (P1_2);       // Motor Spannung ON 
+DigitalOut LineON (P1_6);    // Line Sensor aktivieren
+DigitalIn ISO1 (P0_14);      // ISO1
+DigitalIn ISO2 (P0_12);
+DigitalIn ISO3 (P0_16);
+DigitalIn ISO4 (P0_13);
+DigitalIn ISO5 (P0_22);      // OSI5
+DigitalOut LedD10 (P1_8);    // Led D10
+DigitalOut LedD11 (P1_9);
+DigitalOut LedD12 (P1_10);
+DigitalOut LedD13 (P1_11);
+DigitalOut LedBlue (P1_28);  // Unterboden LED blau
+
+
 int main() {
-    anzeige = 0x00;       // Anzeige der LED's 
-    char btn = 0;
-    //     ****  Config PCA9555 I0 as output *******
-    i2c.start();
-       i2c.write(0x40);   // Adresse des PCA9555 = 40 
-                          // das letzte Bit = 0 -> schreiben  0040 0000
-       i2c.write(0x06);   // Befehl für das IO Port 0 -> siehe SCHEMA des PCA9555
-       i2c.write(0x00);   // Schalte alle Pins des Ports als OUTPUT
-    i2c.stop();    
-    
+    Von=1;                  // 12 V leitung EIN
+    LineON=1;               // Line Sensoren AKTIV
+
     while(1) {
-        anzeige = 0x00;        // Anzeige LED'y auf 0 setzen
-        // Einlesen der Taster und speichern unter btn
-        i2c.start();
-                               /* Das letzte Bit der Adresse entscheidet 
-                               ob geschrieben oder gelesen wird. 
-                               0 => schreiben;   1 => lesen  */
-        i2c.write(0x40);       //Adresse & schreiben   0100 0000 
-        i2c.write(0x01);       //aktivate Port 1        
-       
-        i2c.start();
-          i2c.write(0x41);     // Adresse & LESEN    0100 0001  
-          btn = i2c.read(0);   // Einlesen des Ports 1 und speichern unter btn
-        i2c.stop();
         // Auswertung der LINE SENSOREN
-        if (OSI1 == 1 )        // Line Sensor ganz LINKS
+        if (ISO1 == 1 )        // Line Sensor ganz LINKS
            {
-              anzeige = anzeige & 0x80; 
-           }          
-        if (OSI2 == 1)         // Line Sensor LINKS
+              LedD10=1;        // Mit dem FINGER LED's einzeln abdunkeln! 
+           } else{
+              LedD10=0;
+                 }          
+        if (ISO2 == 1)         // Line Sensor LINKS
+           {
+              LedD11=1;
+           } else {
+              LedD11=0;
+                  }                 
+        if (ISO3 == 1)         // Line Sensor RECHTS
            {
-              anzeige = anzeige & 0x40; 
-           }                 
-        if (OSI3 == 1)         // Line Sensor RECHTS
-           {
-              anzeige = anzeige & 0x20;
-           }
-        if (OSI4 == 1)         // Line Sensor ganz RECHT
+              LedD12=1;
+           } else {
+              LedD12=0;
+                  } 
+        if (ISO4 == 1)         // Line Sensor ganz RECHT
            {
-              anzeige = anzeige & 0x08;    
-           }   
-        if (OSI5 == 1)         // Line Sensor MITTE
+              LedD13=1;   
+           } else{
+              LedD13=0;
+                 }    
+        if (ISO5 == 1)         // Line Sensor MITTE
            {
-              anzeige = anzeige & 0x40;    
-           }  
-           
-        // Schreiben auf Port 0 und damit auf die LED's
-        i2c.start();
-          i2c.write(0x40);      // Adresse & schreiben
-          i2c.write(0x02);      // 
-          i2c.write(~anzeige);  // schriebn auf Port 0 den INVERSEN Wert von btn
-        i2c.stop();
+              LedBlue=0;    
+           } else {
+              LedBlue=1;  
+                  }
     }
 }