Dies ist eine alte Version des Dokuments!
Hier zu sehen: Der Keksbus wird eingeschaltet und die Motoren drehen die Räder. Als nächstes wird ein Magnet an den Hall-Sensor gehalten, daraufhin stoppen die Räder für 4 Sekunden.
#define Hall1 A4 benennt den PIN A4 in Hall1 um Hall1 ist der Hall-Sensor an der Seite
erster motor links int in1 = 9; vorwärts int in2 = 8; rückwärts zweiter motor rechts int in3 = 7; vorwärts int in4 = 6; rückwärts
int in5 = 15; control speed motor links ENA int in6 = 16; control speed motor rechts ENB
void setup() {
Serial.begin(9600); pinMode(in1, OUTPUT); pinMode(in2, OUTPUT); pinMode(in3, OUTPUT); pinMode(in4, OUTPUT);
pinMode(in5, OUTPUT); pinMode(in6, OUTPUT); //alle genannten PINs dienen zur Steuerung der Motoren und werden als outputs deklariert
pinMode(Hall1, INPUT); //deklariert Hall1 also A4 als Input PIN für den ersten Hall Sensor
} void fahren() {
analogWrite(in5, 142); analogWrite(in6, 142);
digitalWrite(in1, HIGH); digitalWrite(in2, LOW); digitalWrite(in3, HIGH); digitalWrite(in4, LOW);
} void rueckfahren() {
analogWrite(in5, 142); analogWrite(in6, 142);
digitalWrite(in1, LOW); digitalWrite(in2, HIGH); digitalWrite(in3, LOW); digitalWrite(in4, HIGH);
} void drehlinks() {
analogWrite(in5, 142); analogWrite(in6, 160);
digitalWrite(in1, HIGH); digitalWrite(in2, LOW); digitalWrite(in3, HIGH); digitalWrite(in4, LOW);
} void drehrechts() {
analogWrite(in5, 160); analogWrite(in6, 142);
digitalWrite(in1, HIGH); digitalWrite(in2, LOW); digitalWrite(in3, HIGH); digitalWrite(in4, LOW);
} void stop() {
digitalWrite(in1, LOW); digitalWrite(in2, LOW); digitalWrite(in3, LOW); digitalWrite(in4, LOW);
} void loop() {
int hallsensor1 = analogRead(Hall1); //Info: Hallsensor1 gibt den Wert 1051 ohne erkanntes Magnetfeld und den Wert 0 bei erkanntem Magnetfeld an Serial.println(analogRead(Hall1));
if (hallsensor1 <= 10) { // wenn der Hallsensor1 ein Magnetfeld erkennt halten die Motoren an
stop(); delay(4000); } else if (hallsensor1 >= 11) { //bei keinem erkanntem Magnetfeld durch den Hallsensor1 fahren(); }
}