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.
Fork of _B15_T4_Motor by
Diff: main.cpp
- Revision:
- 1:0f7c167a4f97
- Parent:
- 0:a8a0195ed7dc
- Child:
- 2:416e90645a22
--- a/main.cpp Mon Jan 26 21:46:32 2015 +0000 +++ b/main.cpp Sun May 31 16:35:31 2015 +0000 @@ -1,44 +1,44 @@ /*********************************** -name: BERTL14_I2C_TEST -author: Enenkel modifizert von Wolfgang Raimann +name: BERTL_2015_MOTOR_TEST +author: Gottfried Enenkel HTL BULME +email: ene@bulme.at description: - Die Taster vom I2C Expander werden direkt auf die LED's des Expander geschalten -***********************************/ - -#include "mbed.h" -I2C i2c(p28, p27); // die Adressen des I2C Busses am uP - // p28 -> SDA - // p27 -> SCL -int main() { - 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(); + Der BERTL fährt 1 sec lang VORWÄRTS! + Danach steht er für 1 sec + + Wenn der Motor richtig eingebaut ist, + steht über dem Linken Anschluß ein PLUS + Wenn sich der BERTL dreht, ist ein Motor verkehrt eingebaut. - while(1) { - // 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(); - - // Schreiben auf Port 0 und damit auf die LED's - i2c.start(); - i2c.write(0x40); // Adresse & schreiben - i2c.write(0x02); // - i2c.write(~btn); // schriebn auf Port 0 den INVERSEN Wert von btn - i2c.stop(); - } -} +***********************************/ +#include "mbed.h" + +// ************ DEKLARATIONEN ************** +DigitalOut Von (P1_2); // Motor Spannung ab BERTL15 nötig ! +DigitalOut MotorL_EN(P1_15); // Enable +DigitalOut MotorL_FORWARD(P1_1); // Forwerts +DigitalOut MotorL_REVERSE(P1_0); // Rückwerts + +DigitalOut MotorR_EN(P0_21); //Die Leitung führt zum Pin PO_21 am Prozessor +DigitalOut MotorR_FORWARD(P1_3); //Die Leitung führt zum Pin P1_3 am Prozessor +DigitalOut MotorR_REVERSE(P1_4); +// ************* Hauptprogramm ************ +int main() { // Start Hauptprogramm + Von=1; // Motor Spannung EIN + MotorR_EN=MotorL_EN=1; // Beide Motoren ENABLE + while(1) { // Anfang der Schleife (ohne Abbruch) + MotorR_FORWARD = MotorL_FORWARD = 1; // Beide Motoren vorwärts EIN + wait (1.0); // warte 1 Sekunde + MotorR_FORWARD = MotorL_FORWARD = 0; // Motoren AUS + wait (1.0); // warte 1 Sekunde + } // Springe zum Anfang der Schleife +} // Ende des Hauptprogrammes + +// ************** ENDE ************* + + + + + +