Stap 11: Pimp je robot, uploaden van de code en ontketenen de Clusterbot!
Ik gehecht een LED aan 7 pin op de Arduino. Ik heb niet een weerstand gebruiken!!! Maar je moet.
Ik gehecht een piëzo-zoemer aan 9 pin op de Arduino. Ik heb niet het gebruik van een weerstand. Maar je moet.
U moet de HC-SR04 bibliotheek download en bewaar het aan uw omslag van de bibliotheek Arduino. Hier krijgen.
De code:
#include "Ultrasonic.h"
Ultrasonic ultrasone (10, 11);
#define PWMA 3
#define AIN1 0
#define AIN2 1
#define PWMB 5
#define BIN1 2
#define BIN2 4
#define STBY 6
#define LED 7
#define spreker 9
#define FREQ 1000
/ * Robot moet blijven rechtdoor totdat een object binnen de drempel afstand * /
/ * Sorry voor de superflous-code onderaan - ik nodig om deze functies * /
/ * in een headerbestand * /
/ * De robot moet vooruit en hebben een gestage groene LED totdat iets 7 inch voor de sensor is.
Dan de robot moet stoppen en links draaien totdat er niet een object binnen 7 inch meer is * /
VOID Setup {}
pinMode(PWMA,OUTPUT);
pinMode(AIN1,OUTPUT);
pinMode(AIN2,OUTPUT);
pinMode(PWMB,OUTPUT);
pinMode(BIN1,OUTPUT);
pinMode(BIN2,OUTPUT);
pinMode(STBY,OUTPUT);
pinMode(LED,OUTPUT);
}
void loop {}
startUp();
tijdje (ultrasone. Ranging(Inc) < 9) {}
rotateLeft();
digitalWrite(LED,HIGH);
Tone(speaker,freq);
vertraging(20);
digitalWrite(LED,LOW);
noTone(SPEAKER);
vertraging(20);
}
goForward();
digitalWrite(LED,HIGH);
}
VOID goForward)
{
digitalWrite (AIN1, hoge);
digitalWrite (AIN2, laag);
analogWrite(PWMA,233);
digitalWrite (BIN1, hoge);
digitalWrite (BIN2, laag);
analogWrite(PWMB,255);
}
VOID goBackward)
{
digitalWrite (AIN1, laag);
digitalWrite (AIN2, hoge);
analogWrite(PWMA,233);
digitalWrite (BIN1, laag);
digitalWrite (BIN2, hoge);
analogWrite(PWMB,255);
}
VOID rotateRight)
{
digitalWrite (AIN1, hoge);
digitalWrite (AIN2, laag);
analogWrite(PWMA,255);
digitalWrite (BIN1, laag);
digitalWrite (BIN2, hoge);
analogWrite(PWMB,255);
}
VOID rotateLeft)
{
digitalWrite (AIN1, laag);
digitalWrite (AIN2, hoge);
analogWrite(PWMA,255);
digitalWrite (BIN1, hoge);
digitalWrite (BIN2, laag);
analogWrite(PWMB,255);
}
VOID veerLeft)
{
digitalWrite (AIN1, hoge);
digitalWrite (AIN2, laag);
analogWrite(PWMA,190);
digitalWrite (BIN1, hoge);
digitalWrite (BIN2, laag);
analogWrite(PWMB,255);
}
VOID veerRight)
{
digitalWrite (AIN1, hoge);
digitalWrite (AIN2, laag);
analogWrite(PWMA,255);
digitalWrite (BIN1, hoge);
digitalWrite (BIN2, laag);
analogWrite(PWMB,190);
}
VOID applyBrakes)
{
digitalWrite (AIN1, hoge);
digitalWrite (AIN2, hoge);
analogWrite(PWMA,255);
digitalWrite (BIN1, hoge);
digitalWrite (BIN2, hoge);
analogWrite(PWMB,255);
}
VOID opstarten)
{
digitalWrite(STBY,HIGH);
}
VOID turnAround()
{
rotateLeft();
delay(1370);
}
VOID afsluiten)
{
digitalWrite(STBY,LOW);
}