no se lo que esta mal en mi codigo de tinkercad ayuda :<
Publicado por Elsa (1 intervención) el 10/06/2021 06:17:28
El profesor nos dio estas instrucciones:
Hacer funcionar el circuito para lo siguiente:
En el sensor ultrasónico, si el objeto está muy lejos debe encender el led verde y aparecer una C de Cerrado en el display.
Si el objeto se acerca debe encender el led amarillo y seguir apareciendo la C en el display.
Si el objeto está ya muy cerca encender el led rojo, en el display debe aparecer una A de Abierto y el servomotor debe girar (180° o 90°)
Pero al momento yo de iniciar la simulacion solamente me prende el led rojo y enciende la letra A y ni el servomotor ni los demas leds funcionan y cuando abro el monitor en serie me sale que el tiempo y la distancia siempre es 0 aun que el sensor diga otra cosa
El codigo:
por favor necesito ayuda


Hacer funcionar el circuito para lo siguiente:
En el sensor ultrasónico, si el objeto está muy lejos debe encender el led verde y aparecer una C de Cerrado en el display.
Si el objeto se acerca debe encender el led amarillo y seguir apareciendo la C en el display.
Si el objeto está ya muy cerca encender el led rojo, en el display debe aparecer una A de Abierto y el servomotor debe girar (180° o 90°)
Pero al momento yo de iniciar la simulacion solamente me prende el led rojo y enciende la letra A y ni el servomotor ni los demas leds funcionan y cuando abro el monitor en serie me sale que el tiempo y la distancia siempre es 0 aun que el sensor diga otra cosa
El codigo:
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
129
130
131
132
#include <Servo.h>
//Se establecen las variables para sensor de proximidad
int trig=1;
int echo=2;
Servo servomotor;
//Se establecen las variables para leds
int rojo=4;
int amarillo=5;
int verde=6;
//Se establecen las variables para display
int a=12;
int b=13;
int c=8;
int d=7;
int e=9;
int f=11;
int g=10;
void setup()
{
Serial.begin(9600);
pinMode(trig, OUTPUT);
pinMode(echo, INPUT);
digitalWrite(trig, LOW);
// Establecer salidas de los Leds
pinMode (rojo, OUTPUT);
pinMode (verde, OUTPUT);
pinMode (amarillo, OUTPUT);
// Establecer salidas del Display
pinMode(a, OUTPUT);
pinMode(b, OUTPUT);
pinMode(c, OUTPUT);
pinMode(d, OUTPUT);
pinMode(e, OUTPUT);
pinMode(f, OUTPUT);
pinMode(g, OUTPUT);
// INiciamos el Servomotor
servomotor.attach(3);
}
void loop()
{
// Estableciendo la distancia
long tiempo;
long distancia;
servomotor.write(0);
digitalWrite(trig,HIGH);
delay (1000);
digitalWrite(trig,LOW);
tiempo=pulseIn(echo,HIGH);
Serial.println("Tiempo: ");
Serial.println (tiempo);
delay(10);
distancia=tiempo/58.2;
Serial.println("Distancia: ");
Serial.println (distancia);
delay(10);
// Caso en que el objeto esta cerca
if (distancia<=5)
{
//Led Rojo
digitalWrite(rojo, HIGH); //se queda apagado
digitalWrite(amarillo, LOW); //se queda apagado
digitalWrite(verde, LOW); //Enciende Led Verde
//Letra A
digitalWrite(a, HIGH);
digitalWrite(b, HIGH);
digitalWrite(c, HIGH);
digitalWrite(d, LOW);
digitalWrite(e, HIGH);
digitalWrite(f, HIGH);
digitalWrite(g, HIGH);
//Servo Gira 90 grados
servomotor.write(90);
}
// Caso en que el objeto esta a media distancia
if (distancia>5 && distancia<=10)
{
//Led Amarillo
digitalWrite(rojo, LOW); //se queda apagado
digitalWrite(amarillo, HIGH); //Enciende Led Amarillo
digitalWrite(verde, LOW); //se queda apagado
//Letra C
digitalWrite(a, HIGH);
digitalWrite(b, LOW);
digitalWrite(c, LOW);
digitalWrite(d, HIGH);
digitalWrite(e, HIGH);
digitalWrite(f, HIGH);
digitalWrite(g, LOW);
//Servo NO Gira
servomotor.write(0);
}
// Caso en que el objeto esta a mucha distancia
if (distancia>10)
{
//Led Verde
digitalWrite(rojo, LOW); //Enciende Led Amarillo
digitalWrite(amarillo, LOW); //se queda apagado
digitalWrite(verde, HIGH); //se queda apagado
//Letra C
digitalWrite(a, HIGH);
digitalWrite(b, LOW);
digitalWrite(c, LOW);
digitalWrite(d, HIGH);
digitalWrite(e, HIGH);
digitalWrite(f, HIGH);
digitalWrite(g, LOW);
//Servo NO Gira
servomotor.write(0);
}
}
por favor necesito ayuda


Valora esta pregunta


0