Clusterbot! (11 / 11 steg)

Steg 11: Pimp din robot, ladda upp koden och släpp loss Clusterbot!



Jag bifogade en LED till stift 7 på Arduino. Jag använde inte ett motstånd! Men du bör.

Jag bifogade en Piezo Summer till stift 9 på Arduino. Jag använde inte en resistor. Men du bör.

Du kommer att behöva ladda ner HC-SR04 biblioteket och spara den på din Arduino biblioteksmappen. Få det här.

Koden:

#include "Ultrasonic.h"
Ultraljuds ultraljud (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 högtalare 9
#define FREQ 1000

/ * Robot bör fortsätta rakt tills ett objekt är inom avstånd tröskeln * /
/ * Ledsen för superflous koden längst ner - jag måste få dessa funktioner * /
/ * till en header-fil * /

/ * Roboten bör gå framåt och har en stadig grön LED förrän något är 7 inches framför sensorn.
Roboten ska sluta och rotera åt vänster tills det inte finns ett objekt inom 7 inches längre * /

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();
tag (ultraljud. Ranging(Inc) < 9) {
rotateLeft();
digitalWrite(LED,HIGH);
Tone(Speaker,freq);
Delay(20);
digitalWrite(LED,LOW);
noTone(SPEAKER);
Delay(20);
}
goForward();
digitalWrite(LED,HIGH);

}
void goForward)
{
digitalWrite (AIN1, hög);
digitalWrite (AIN2, låg);
analogWrite(PWMA,233);
digitalWrite (BIN1, hög);
digitalWrite (BIN2, låg);
analogWrite(PWMB,255);
}

void goBackward)
{
digitalWrite (AIN1, låg);
digitalWrite (AIN2, hög);
analogWrite(PWMA,233);
digitalWrite (BIN1, låg);
digitalWrite (BIN2, hög);
analogWrite(PWMB,255);
}

void rotateRight)
{
digitalWrite (AIN1, hög);
digitalWrite (AIN2, låg);
analogWrite(PWMA,255);
digitalWrite (BIN1, låg);
digitalWrite (BIN2, hög);
analogWrite(PWMB,255);
}

void rotateLeft)
{
digitalWrite (AIN1, låg);
digitalWrite (AIN2, hög);
analogWrite(PWMA,255);
digitalWrite (BIN1, hög);
digitalWrite (BIN2, låg);
analogWrite(PWMB,255);
}

void veerLeft)
{
digitalWrite (AIN1, hög);
digitalWrite (AIN2, låg);
analogWrite(PWMA,190);
digitalWrite (BIN1, hög);
digitalWrite (BIN2, låg);
analogWrite(PWMB,255);
}

void veerRight)
{
digitalWrite (AIN1, hög);
digitalWrite (AIN2, låg);
analogWrite(PWMA,255);
digitalWrite (BIN1, hög);
digitalWrite (BIN2, låg);
analogWrite(PWMB,190);
}

void applyBrakes)
{
digitalWrite (AIN1, hög);
digitalWrite (AIN2, hög);
analogWrite(PWMA,255);
digitalWrite (BIN1, hög);
digitalWrite (BIN2, hög);
analogWrite(PWMB,255);
}

Ogiltig start)
{
digitalWrite(STBY,HIGH);
}

void turnAround()
{
rotateLeft();
Delay(1370);
}

void avstängning)
{
digitalWrite(STBY,LOW);
}

Se Steg
Relaterade Ämnen