AYUDA PARA CONTRUIR UN MINI SUMOBOT
Publicado por Emanuel (2 intervenciones) el 23/03/2020 21:30:40
Hola, un gusto saludarles, soy nuevo en este maravilloso mundo de Arduino, y pues quiero armar un mini sumo bot, un amigo me envio los elementos principales para poder armarlo los cuales son:
1 Arduino uno
1 sensor Ultrasónico
3 sensores cny70
2 moto reductores
1 puente H L293
me envio el codigo pero no me envio el esquema de armado y no tengo idea donde va conectado cada elemento, este es el código:
agradeceria la ayuda para descifrar las conexiones o si tuvieran el codigo, el esquema y elementos para poder armar el mini sumobot
1 Arduino uno
1 sensor Ultrasónico
3 sensores cny70
2 moto reductores
1 puente H L293
me envio el codigo pero no me envio el esquema de armado y no tengo idea donde va conectado cada elemento, este es el código:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
/*
Sensor de proximidad y al ser inferior a 10cm
envia un pulso de alarma por el pin 13
HC-SR04 conexiones:
VCC al arduino 5v
GND al arduino GND
Echo al Arduino pin 6
Trig al Arduino pin 7
*/
#define botinicio 2
#define SL0 3
#define SL1 4
#define SL2 5
#define Pecho 6
#define Ptrig 7
#define mot1adelante 10
#define mot1atras 11
#define mot2adelante 12
#define mot2atras 13
long duracion, distancia;
int val = 0;
void setup() {
Serial.begin (9600); // inicializa el puerto seria a 9600 baudios
// define el pin 7 como salida (triger)
pinMode(botinicio, INPUT);
pinMode(SL0, INPUT);
pinMode(SL1, INPUT);
pinMode(SL2, INPUT);
pinMode(Pecho, INPUT);
pinMode(Ptrig, OUTPUT);
pinMode(mot1adelante, 1); // Define el pin 13 como salida
pinMode(mot1atras, 1);
pinMode(mot2adelante, 1);
pinMode(mot2atras, 1);
delay(5000);
}
void loop() {
minisumo();
}
void minisumo() {
val = digitalRead(SL0);
digitalWrite(mot1adelante, 1);
digitalWrite(mot1atras, 0);
digitalWrite(mot2adelante, 0);
digitalWrite(mot2atras, 1);
digitalWrite(Ptrig, LOW);
delayMicroseconds(2);
digitalWrite(Ptrig, HIGH); // genera el pulso de triger por 10ms
delayMicroseconds(10);
digitalWrite(Ptrig, LOW);
duracion = pulseIn(Pecho, HIGH);
distancia = (duracion/2) / 29; // calcula la distancia en centimetros
if (distancia >= 500 || distancia <= 0){ // si la distancia es mayor a 500cm o menor a 0cm
minisumo(); // no mide nada
}
if (val == HIGH) {
reversa();
}
else{
if (distancia <= 10 && distancia >= 1){
ataque(); // envia la palabra Alarma por el puerto serial
}
}
// espera 400ms para que se logre ver la distancia en la consola
}
void ataque(){
val = digitalRead(SL0);
digitalWrite(mot1adelante, 1); // en bajo el pin 13
digitalWrite(mot1atras, 0);
digitalWrite(mot2adelante, 1);
digitalWrite(mot2atras, 0);
if (val == HIGH){
reversa();
}
digitalWrite(Ptrig, LOW);
delayMicroseconds(2);
digitalWrite(Ptrig, HIGH); // genera el pulso de triger por 10ms
delayMicroseconds(10);
digitalWrite(Ptrig, LOW);
duracion = pulseIn(Pecho, HIGH);
distancia = (duracion/2) / 29;
if (distancia <= 10 && distancia >= 1){
ataque();
}
else{
if (distancia >= 10 || distancia <= 0){ // si la distancia es mayor a 500cm o menor a 0cm
minisumo(); // no mide nada
}
}
}
void reversa() {
digitalWrite(mot1adelante, 0); // en bajo el pin 13
digitalWrite(mot1atras, 1);
digitalWrite(mot2adelante,0);
digitalWrite(mot2atras, 1);
val = digitalRead(SL0);
if (val == HIGH) {
reversa();
}
else{
minisumo();
}
}
agradeceria la ayuda para descifrar las conexiones o si tuvieran el codigo, el esquema y elementos para poder armar el mini sumobot
Valora esta pregunta


0