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.
Dependencies: mbed
Fork of _B15_T3_Line by
Revision 2:90c675f0505a, committed 2015-06-08
- Comitter:
- Enenkel
- Date:
- Mon Jun 08 13:23:44 2015 +0000
- Parent:
- 1:d646fe79bc6c
- Commit message:
- LINE TEST
Changed in this revision
| main.cpp | Show annotated file Show diff for this revision Revisions of this file |
--- 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;
+ }
}
}
