Skip to content

Commit 6b9d6a7

Browse files
Add files via upload
1 parent 8431e29 commit 6b9d6a7

File tree

1 file changed

+101
-0
lines changed

1 file changed

+101
-0
lines changed

roboBT/roboBT.ino

Lines changed: 101 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,101 @@
1+
/**
2+
* Robô BT (controlado via bluetooth)
3+
* @author Professor José de Assis
4+
* @link https://roboticapratica.com.br/projeto/battlebot-arduino.html
5+
*/
6+
7+
// Biblioteca usada para criar uma "porta USB extra" para o bluetooth
8+
#include <SoftwareSerial.h>
9+
SoftwareSerial MinhaSerial(2, 3);
10+
11+
// Biblioteca usada para controle do servo sem interferência nos motores
12+
#include <PWMServo.h>
13+
PWMServo myservo;
14+
15+
int ENA = 11;
16+
int IN1 = 9;
17+
int IN2 = 8;
18+
int ENB = 5;
19+
int IN3 = 7;
20+
int IN4 = 6;
21+
int velA = 120; //ajuste de velocidade (motor IN1,IN2)
22+
int velB = 120; //ajuste de velocidade (motor IN3,IN4)
23+
char leitor;
24+
25+
void setup() {
26+
pinMode(ENA, OUTPUT);
27+
pinMode(IN1, OUTPUT);
28+
pinMode(IN2, OUTPUT);
29+
pinMode(ENB, OUTPUT);
30+
pinMode(IN3, OUTPUT);
31+
pinMode(IN4, OUTPUT);
32+
MinhaSerial.begin(9600);
33+
myservo.attach(SERVO_PIN_B); //pino 10
34+
myservo.write(130); //posição inicial do servo
35+
}
36+
37+
void loop() {
38+
if (MinhaSerial.available()) {
39+
leitor = MinhaSerial.read();
40+
if (leitor == 'w') {
41+
frente();
42+
} else if (leitor == 's') {
43+
re();
44+
} else if (leitor == 'a') {
45+
esquerda();
46+
} else if (leitor == 'd') {
47+
direita();
48+
} else if (leitor == 'p') {
49+
parar();
50+
} else if (leitor == 'b') {
51+
myservo.write(130);
52+
} else if (leitor == 'x') {
53+
myservo.write(180);
54+
}
55+
}
56+
}
57+
58+
void parar() {
59+
analogWrite(ENA, 0);
60+
digitalWrite(IN1, LOW);
61+
digitalWrite(IN2, LOW);
62+
analogWrite(ENB, 0);
63+
digitalWrite(IN3, LOW);
64+
digitalWrite(IN4, LOW);
65+
}
66+
67+
void frente() {
68+
analogWrite(ENA, velA);
69+
digitalWrite(IN1, HIGH);
70+
digitalWrite(IN2, LOW);
71+
analogWrite(ENB, velB);
72+
digitalWrite(IN3, HIGH);
73+
digitalWrite(IN4, LOW);
74+
}
75+
76+
void re() {
77+
analogWrite(ENA, velA);
78+
digitalWrite(IN2, HIGH);
79+
digitalWrite(IN1, LOW);
80+
analogWrite(ENB, velB);
81+
digitalWrite(IN4, HIGH);
82+
digitalWrite(IN3, LOW);
83+
}
84+
85+
void esquerda() {
86+
analogWrite(ENA, velA);
87+
digitalWrite(IN2, HIGH);
88+
digitalWrite(IN1, LOW);
89+
analogWrite(ENB, velB);
90+
digitalWrite(IN3, HIGH);
91+
digitalWrite(IN4, LOW);
92+
}
93+
94+
void direita() {
95+
analogWrite(ENA, velA);
96+
digitalWrite(IN1, HIGH);
97+
digitalWrite(IN2, LOW);
98+
analogWrite(ENB, velB);
99+
digitalWrite(IN4, HIGH);
100+
digitalWrite(IN3, LOW);
101+
}

0 commit comments

Comments
 (0)