Taller #1
Circuito en Tinkercad
Código Arduino:
int valor; // Variable para lecturas del potenciometro
int Led1 = 3; // Verde
int Led2 = 2; // Rojo
void setup()
{
Serial.begin(9600); // Iniciamos la comunicación serial
pinMode(Led1, OUTPUT);
pinMode(Led2, OUTPUT);
}
void loop()
{
valor = analogRead(A0);// tomamos las lecturas de potenciómetro en pin analógico A0
Serial.print("El valor es= "); // Mostramos en monitor serie
Serial.println(valor);
if (valor >= 0 && valor <= 500)
{
digitalWrite(Led1, HIGH); // ya que los valores obtenidos del potenciómetro van desde 0 a 1023
digitalWrite(Led2, LOW); //
}
if (valor >= 501 && valor <= 1023)
{
digitalWrite(Led1, LOW);
digitalWrite(Led2, HIGH);
}
}
Taller #2
Circuito en Tinkercad para adapta Protoboard
Pasar la siguiente configuración, adaptándole una Protoboard y una resistencia de 220Ω en el circuito en serie de la parte negativa de los Leds.
Código Arduino:
int pinUltrasonido = 4; // Pin de conexión sensor ultrasonido
int distancia;
int Led1 = 3;
int Led2 = 11;
int Led3 = 5;
int ZumbadorPin = 10;
void setup() {
Serial.begin(9600); // Inicia la comunicación con el puerto serial del computador a 9600 baudios
pinMode(Led1, OUTPUT);
pinMode(Led2, OUTPUT);
pinMode(Led3, OUTPUT);
pinMode(ZumbadorPin,OUTPUT);
}
void loop() {
int distancia = obtenerDistancia(); //Se iguala la variable distancia al valor de lectura de la función obetenerDistancia
if (distancia > 26){
digitalWrite(Led1,LOW);
digitalWrite(Led2,LOW);
digitalWrite(Led3,LOW);
noTone(ZumbadorPin);
}
if (distancia > 18 && distancia < 25){
digitalWrite(Led1,HIGH);
digitalWrite(Led2,LOW);
digitalWrite(Led3,LOW);
noTone(ZumbadorPin);
}
if (distancia > 9 && distancia < 17){
digitalWrite(Led1,LOW);
digitalWrite(Led2,HIGH);
digitalWrite(Led3,LOW);
noTone(ZumbadorPin);
}
if (distancia > 4 && distancia < 8){
digitalWrite(Led1,LOW);
digitalWrite(Led2,LOW);
digitalWrite(Led3,HIGH);
tone(ZumbadorPin,1000);
delay (1000);}
Serial.print(distancia); //Escribir en el puerto serial del computador la variable "distancia"
Serial.println(" cm"); //Escribir en el puerto serial del computador el texto que se encuentra dentro de las comillas
}
int obtenerDistancia()
{
int d;
pinMode(pinUltrasonido, OUTPUT); //Indicar que se usará como salida para generar señal ultrasónica
digitalWrite(pinUltrasonido, LOW); //Asegurarse de que no esté generando señal ultrasónico
delayMicroseconds(2); //Pequeño tiempo de espera para ecos o ruidos iniciales
digitalWrite(pinUltrasonido, HIGH); //Generar señal ultrasónica
delayMicroseconds(10); //Pequeño tiempo de generación de señal
digitalWrite(pinUltrasonido, LOW); //Apagar señal ultrasónica
pinMode(pinUltrasonido, INPUT); //Indicar que se usará como entrada para recibir señal ultrasónica ("micrófono")
d = pulseIn(pinUltrasonido, HIGH); //Instrucción para medir el tiempo en que la señal ultrasónica rebota y produce HIGH
d = d / 58; //Divisíon entre 58 para pasar de tiempo (microsegundos) a distancia (cm) - Valor a calibrar
return d; //Retorna d para que se pueda almacenar en variable
}
int distancia;
int Led1 = 3;
int Led2 = 11;
int Led3 = 5;
int ZumbadorPin = 10;
void setup() {
Serial.begin(9600); // Inicia la comunicación con el puerto serial del computador a 9600 baudios
pinMode(Led1, OUTPUT);
pinMode(Led2, OUTPUT);
pinMode(Led3, OUTPUT);
pinMode(ZumbadorPin,OUTPUT);
}
void loop() {
int distancia = obtenerDistancia(); //Se iguala la variable distancia al valor de lectura de la función obetenerDistancia
if (distancia > 26){
digitalWrite(Led1,LOW);
digitalWrite(Led2,LOW);
digitalWrite(Led3,LOW);
noTone(ZumbadorPin);
}
if (distancia > 18 && distancia < 25){
digitalWrite(Led1,HIGH);
digitalWrite(Led2,LOW);
digitalWrite(Led3,LOW);
noTone(ZumbadorPin);
}
if (distancia > 9 && distancia < 17){
digitalWrite(Led1,LOW);
digitalWrite(Led2,HIGH);
digitalWrite(Led3,LOW);
noTone(ZumbadorPin);
}
if (distancia > 4 && distancia < 8){
digitalWrite(Led1,LOW);
digitalWrite(Led2,LOW);
digitalWrite(Led3,HIGH);
tone(ZumbadorPin,1000);
delay (1000);}
Serial.print(distancia); //Escribir en el puerto serial del computador la variable "distancia"
Serial.println(" cm"); //Escribir en el puerto serial del computador el texto que se encuentra dentro de las comillas
}
int obtenerDistancia()
{
int d;
pinMode(pinUltrasonido, OUTPUT); //Indicar que se usará como salida para generar señal ultrasónica
digitalWrite(pinUltrasonido, LOW); //Asegurarse de que no esté generando señal ultrasónico
delayMicroseconds(2); //Pequeño tiempo de espera para ecos o ruidos iniciales
digitalWrite(pinUltrasonido, HIGH); //Generar señal ultrasónica
delayMicroseconds(10); //Pequeño tiempo de generación de señal
digitalWrite(pinUltrasonido, LOW); //Apagar señal ultrasónica
pinMode(pinUltrasonido, INPUT); //Indicar que se usará como entrada para recibir señal ultrasónica ("micrófono")
d = pulseIn(pinUltrasonido, HIGH); //Instrucción para medir el tiempo en que la señal ultrasónica rebota y produce HIGH
d = d / 58; //Divisíon entre 58 para pasar de tiempo (microsegundos) a distancia (cm) - Valor a calibrar
return d; //Retorna d para que se pueda almacenar en variable
}