martes, 30 de octubre de 2018

Post 3: Ejercicios Tinkercad (2) Leer un Potenciómetro

El objetivo de este ejercicio es poder leer la resistencia variable que genera un Potenciometro, en el momento en que una corriente (5V) es transmitida a través de este. Utilizando una entrada de la placa Arduino, podremos determinar la cantidad de corriente que ingresa según la resistencia asignada al potenciometro.

Materiales:
1x Arduino Uno R3 conectado a un computador por medio de un cable USB
1x Protoboard
1x LED
1x  Resistencia 330Ω
2x Cables tipo Jumper
1x Potenciometro

IMAGEN 1: Componentes. El potenciometro posee  entradas, siendo la del medio la que utilizaremos para transmitir las medición de resistencia.






Conectamos los componentes a la protoboard, asegurando que las lineas de corriente (+) y de tierra (-) se encuentren "puenteadas" (cada linea roja conectada a la salida de 5v, y cada linea negra conectada a GND).
El potenciometro debe estar conectado en sus entradas exteriores a 5V y GND respectivamente. La salida central se guiará al puerto analogo A0, que será configurado como INPUT. A su vez, el puerto 13 será configurado como salida, que se conectará con el anodo del LED.
IMAGEN 2: Conexiones que comunican la protoboard con la placa Arduino.

















A continuación, ingresaremos el código en la placa Arduino. El potenciometro enviará un valor de resistencia variable análogo, al Pin A0, dicho valor modulará el tiempo de delay() entre el estado HIGH/LOW del Led.


int sensorPin = A0;    // The potentiometer is connected to analog pin 0                  
int ledPin = 13;      // The LED is connected to digital pin 13
int sensorValue;    //We declare another integer variable to store the value of the potentiometer

void setup() // this function runs once when the sketch starts up
{
  pinMode(ledPin, OUTPUT);//definimos la salida 13 como OUTPUT
}

void loop() // this function runs repeatedly after setup() finishes
{
  sensorValue = analogRead(sensorPin); //Designamos la lectura del lector como un valor int(entero), obtenido del potenciometro)    

  digitalWrite(ledPin, HIGH);     // Turn the LED on
  delay(sensorValue);             // Pause for sensorValue in milliseconds (Cada intervalo está modulado por la variable sensorValue, recibida desde el pin A0
  digitalWrite(ledPin, LOW);      // Turn the LED off
  delay(sensorValue);             // Pause for sensorValue in milliseconds} 

IMAGEN 3: Circuito en operación. Los intervalos se regulan según el valor de la resistencia variable del potenciometro.










No hay comentarios:

Publicar un comentario