Stap 6: 4e stap - Video en Tests
Dit is mijn eerste test van de "dubbele H-brug" zelfgemaakte, met de IC-L298N in een Breakout Board.
De kar werd gecontroleerd door bluetooth (met behulp van de "blauwe" beheertoepassing van de Android market).
Telkens wanneer we in de controlegroepen raken (vooruit of achteruit) de gelijkstroommotor uitvoeren voor 1s, op deze manier, als we tweemaal de motoren raken wordt uitgevoerd voor 2s, enzovoort.
Voor links en rechts, wordt telkens die we het besturingselement raken, de motoren uitgevoerd voor 500ms. Deze temporization kan worden gewijzigd in het programma hieronder.
Zie de volledige video voor meer informatie; Ahh, sorry voor mijn Engels, ik studeer nog...
/* definição de variáveis, constantes e valores int inA1 = 10; Pinnen voor de PONTE-H Initialisatie van de Arduino lus hoofdsom doen programa lopende motoren
#####################################################################################
# Bestand: BlueTooth_Bot_R1.pde
# Micro controller: Arduino UNO ou Teensy++ 2.0
# Language: Bedrading / C /Processing /Fritzing / Arduino IDE
#
# Doelstellingen: Een bluetooth gecontroleerde kar
#
# Funcionamento: Gewoon een eenvoudige test voor de thuis L298N breakout Board
#
#
# Auteur: Marcelo Moraes
# De datum: 13/02/13
# Plaats: Sorocaba - SP - Brazilië
#
#####################################################################################Dit project bevat code tot het publieke domein.
De wijziging is toegestaan zonder voorafgaande kennisgeving.
*/
int inA2 = 11;
int inB1 = 5;
int inB2 = 6;
VOID Setup {}
Seriële communicatie initialisatie
Serial.begin(9600);
set_motors(0,0);
}
void loop {}
Als (Serial.available() > 0) {/ / als seriële gegevens beschikbaar zijn
char varC = Serial.read(); het lezen van de gegevens van seriële poort
Als (varC == 'U') {/ / vooruit
set_motors(80,75);
delay(1000);
set_motors(0,0);
}
Als (varC == had') {/ / in terugwaartse richting
set_motors(-80,-75);
delay(1000);
set_motors(0,0);
}
Als (varC == 'C') {/ / gestopt
set_motors(0,0);
}
Als (varC == 'R') {/ / sla rechtsaf
set_motors(80,-80);
delay(500);
set_motors(0,0);
}
Als (varC == 'L') {/ / linksaf
set_motors(-80,80);
delay(500);
set_motors(0,0);
}
}
}
FIM DA COMPILAÇÃO
VOID set_motors (int left_speed, int right_speed) {}
Als (right_speed > = 0 & & left_speed > = 0) {}
analogWrite (inA1, 0);
analogWrite (inA2, right_speed);
analogWrite (inB1, 0);
analogWrite (inB2, left_speed);
}
Als (right_speed > = 0 & & left_speed < 0) {}
left_speed = - left_speed;
analogWrite (inA1, 0);
analogWrite (inA2, right_speed);
analogWrite (inB1, left_speed);
analogWrite (inB2, 0);
}
Als (right_speed < 0 & & left_speed > = 0) {}
right_speed = - right_speed;
analogWrite (inA1, right_speed);
analogWrite (inA2, 0);
analogWrite (inB1, 0);
analogWrite (inB2, left_speed);
}
Als (right_speed < 0 & & left_speed < 0) {}
right_speed = - right_speed;
left_speed = - left_speed;
analogWrite (inA1, right_speed);
analogWrite (inA2, 0);
analogWrite (inB1, left_speed);
analogWrite (inB2, 0);
}
}