SIK Experiment Guide for the Arduino 101/Genuino 101 Board (Spanish)
This Tutorial is Retired!
This tutorial covers concepts or technologies that are no longer current. It's still here for you to read and enjoy, but may not be as useful as our newest tutorials.
Experimento 2: Leer un potenciómetro
Introducción
En este circuito trabajará con un potenciómetro. Aprenderá a utilizar un potenciómetro para controlar la frecuencia de parpadeo de un LED; para ello, realizará una lectura de un sensor y la guardará como una variable; luego la usará como el tiempo de retardo.
Elementos necesarios
Necesitará los siguientes elementos:
- 1x placa de pruebas
- 1x placa Arduino 101 o Genuino 101
- 1x LED
- 1x resistencia de 100 Ω
- 7x cables puente
- 1x potenciómetro
¿No tiene el SIK?
Si está realizando este experimento y no dispone del SIK, le sugerimos que use estos elementos:
También necesitará una placa Arduino 101 O Genuino 101.
Lectura sugerida
Antes de continuar con este experimento, le recomendamos que se familiarice con los conceptos en el siguiente tutorial:
Presentación del potenciómetro
Un potenciómetro es un sensor analógico que basa su funcionamiento en la resistencia. Este dispositivo varía su resistencia interna en función de la rotación del mando. El potenciómetro tiene un divisor de tensión interno que le permite leer el cambio de la tensión en el pin central con un microcontrolador (la placa 101). Para conectar el potenciómetro, conecte los dos pines exteriores a una fuente de alimentación (3,3 V en este circuito) y a tierra. No importa el lugar en el que se conecte cada uno, siempre que uno se conecte a la alimentación y el otro a tierra. El pin central se conecta a un pin de entrada analógica para que la placa 101 pueda medir el cambio de la tensión. Cuando gire el mando, la lectura del sensor cambiará.
**Nota: El potenciómetro incluido en el kit tiene tres marcas que le ayudarán a saber en qué fila de la placa de pruebas se conectan los pines. **
Conexión del hardware
¿Preparado para comenzar a conectar todo? Consulte el diagrama de cableado y la tabla de conexión siguientes para ver cómo está conectado todo.
Componentes polarizados | Preste especial atención a las marcas de los componentes que indican cómo colocarlo en la placa de pruebas. Los componentes polarizados solo se pueden conectar a un circuito en una sola dirección. Los componentes polarizados están resaltados con un triángulo de advertencia amarillo en la tabla. |
Diagrama de cableado del experimento
Abrir el boceto
Abra el software IDE de Arduino en su ordenador. La codificación en el lenguaje de Arduino controlará el circuito. Abra el código del circuito 2; para ello, acceda a "101 SIK Guide Code" (Guía de códigos de SIK 101) que ha descargado y guardado en la carpeta "Examples" (Ejemplos) anteriormente.
Para abrir el código vaya a: File > Examples > 101 SIK Guide Code > Circuit_02 (Archivo > Ejemplos > Guía de códigos de SIK 101 > Circuito_02)
**Copie y pegue el siguiente código en el IDE de Arduino. Cárguelo y observe lo que ocurre. **
language:cpp
/* SparkFun Inventor's Kit
Example sketch 02
POTENTIOMETER
Measure the position of a potentiometer and use it to
control the blink rate of an LED. Turn the knob to make
it blink faster or slower!
This sketch was written by SparkFun Electronics,
with lots of help from the Arduino community.
This code is completely free for any use.
Visit http://learn.sparkfun.com/products/2 for SIK information.
Visit http://www.arduino.cc to learn about Arduino.
*/
//Create global variables (variables that can be used anywhere in our sketch)
// Here we're creating a variable called "sensorPin" of type "int"
// and initializing it to have the value "0," which is the analog input pin the pot is //conected to.
int sensorPin = 0;
// Variable for storing the pin number that the LED is connected to
int ledPin = 13;
// this function runs once when the sketch starts up
void setup()
{
//set ledPin (13) as an OUTPUT
pinMode(ledPin, OUTPUT);
}
// this function runs repeatedly after setup() finishes
void loop()
{
//create a local variable (variable that can only be used inside of loop() to store //a sensor value called sensorValue
int sensorValue;
//use the analogRead() function to read sensorPin and store the value in sensorValue
sensorValue = analogRead(sensorPin);
// Turn the LED on
digitalWrite(ledPin, HIGH);
delay(sensorValue);
// Turn the LED off
digitalWrite(ledPin, LOW);
//delay for the value of sensorValue
delay(sensorValue);
//loop back to the top
}
Código a tener en cuenta
int sensorValue;
Una "variable" es un marcador de posición para los valores que pueden cambiar en el código. Debe introducir (o "declarar") variables antes de utilizarlas; aquí se está declarando una variable denominada sensorValue, de tipo "int" (entero). No olvide que los nombres de variables son sensibles mayúsculas y minúsculas.
sensorValue = analogRead(sensorPin);
Utilice la función analogRead()
para leer el valor en el pin analógico. analogRead()
obtiene un parámetro, el pin analógico que desea usar ("sensorPin"), y devuelve un número ("sensorValue") entre 0 (0 voltios) y 1023 (3,3 voltios).
delay(sensorValue);
Los microcontroladores son muy rápidos y pueden ejecutar miles de líneas de código por segundo. Para reducir la velocidad a fin de poder ver lo que está haciendo, insertaremos retrasos en el código. delay()
cuenta en milisegundos; hay 1000 ms en un segundo.
Lo que debería ver
El LED debería parpadear más rápido o más lento de acuerdo con el potenciómetro. Si no funciona, asegúrese de que ha montado el circuito correctamente y ha verificado y cargado código en la placa o consulte la sección Solución de problemas.
Solución de problemas
Funciona de manera esporádica
Esto se debe probablemente a una conexión deficiente con los pines del potenciómetro. Para solucionarlo, apriete el potenciómetro o mueva el circuito del potenciómetro a otro lugar en la placa de pruebas.
Sigue sin funcionar
Compruebe que no ha conectado accidentalmente el contacto deslizante (pin central), la resistencia en el potenciómetro, al pin digital 0 en lugar de al pin analógico 0 (la fila de pines debajo de los pines de alimentación).
El LED no se enciende
El LED solo funciona en una dirección. Vuelva a comprobar las conexiones.