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.

Pages
Contributors: D___Run___
Favorited Favorite 0

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:

Breadboard - Self-Adhesive (White)

Breadboard - Self-Adhesive (White)

PRT-12002
$5.50
48
Trimpot 10K Ohm with Knob

Trimpot 10K Ohm with Knob

COM-09806
$1.05
6
Jumper Wires - Connected 6" (M/M, 20 pack)

Jumper Wires - Connected 6" (M/M, 20 pack)

PRT-12795
$2.10
2
LED - Basic Red 5mm

LED - Basic Red 5mm

COM-09590
$0.45

Resistor 100 Ohm 1/4th Watt PTH - 20 pack

COM-13761
Retired

También necesitará una placa Arduino 101 O Genuino 101.

Arduino 101

DEV-13787
9 Retired

Genuino 101

DEV-13984
Retired

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

texto alternativo

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.

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

texto alternativo

¿Tiene problemas para ver el circuito? Haga clic en el diagrama de cableado para verlo más de cerca.

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.

texto alternativo

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.