Skip to content

Instantly share code, notes, and snippets.

@ojulianos
Created September 19, 2019 20:19
Show Gist options
  • Save ojulianos/c3783a3d2db534f30b7e000445b7e5a3 to your computer and use it in GitHub Desktop.
Save ojulianos/c3783a3d2db534f30b7e000445b7e5a3 to your computer and use it in GitHub Desktop.
#include <Ultrasonic.h>
#define TRIGGER_PIN 12
#define ECHO_PIN 11
// motor um
int enA = 5;
int in1 = 6;
int in2 = 7;
// motor dois
int enB = 10;
int in3 = 8;
int in4 = 9;
Ultrasonic ultrasonic(TRIGGER_PIN, ECHO_PIN);
void setup()
{
Serial.begin(9600);
pinMode(13, OUTPUT);
// saidas dos motores
pinMode(enA, OUTPUT);
pinMode(enB, OUTPUT);
pinMode(in1, OUTPUT);
pinMode(in2, OUTPUT);
pinMode(in3, OUTPUT);
pinMode(in4, OUTPUT);
}
int liga_motores(int a = 0, int b = 0, int c = 0, int d = 0){
digitalWrite(in1, a);
digitalWrite(in2, b);
digitalWrite(in3, c);
digitalWrite(in4, d);
}
void loop()
{
float cmMsec;
long microsec = ultrasonic.timing();
cmMsec = ultrasonic.convert(microsec, Ultrasonic::CM);
int vel;
int ultrasonico = int(cmMsec) ;
liga_motores(1, 0, 1, 0);
if(cmMsec > 100.00){
vel = 255;
} else if(cmMsec < 10.00){
vel = 0;
} else {
vel = map(ultrasonico, 10, 100, 0, 255);
}
analogWrite(enA, vel);
analogWrite(enB, vel);
delay(500);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment