Sei sulla pagina 1di 14

LED parpadeante

En la mayora de los lenguajes de programacin, el primer


programa que tu escribes imprime en la pantalla del ordenador
la frase "Hola Mundo". Ya que una placa Arduino no tiene una
pantalla, haremos parpadear un LED.
Las placas estn diseadas para que hacer parpadear un LED
sea muy fcil usando el pin digital 13. Algunas (como la
Diecimila y la LilyPad) tienen el LED directamente incorporado
en la placa. En la mayora de las otras (como en la Mini y la BT),
existe una resistencia de 1KOhm en el pin permitindote
conectar un LED directamente. (para conectar un LED a otro pin
digital, deberas usar una resistencia externa)
Los LEDs tienen polaridad, lo que significa que solo encendern
si los orientas debidamente. Generalmente el terminal mas largo
es el positivo y deber estar conectado al pin 13. El terminal
corto debe conectarse con la tierra (GND); adicionalmente el
bulbo del LED tiene un borde plano en su extremo. Si el LED no
enciende, trata de conectarlo de manera opuesta,
intercambiando los terminales de posicin (no daaras el LED si
lo conectas en sentido opuesto por un periodo de tiempo corto).
Circuito

Esquemtico:
haz click en la imagen para agrandarla

Cdigo
El cdigo de ejemplo es bastante sencillo, los crditos los
encontraras en los comentarios.
/*
Blink
Turns on an LED on for one second, then off for one second,
repeatedly.

This example code is in the public domain.
*/

// Pin 13 has an LED connected on most Arduino boards.
// give it a name:
int led = 13;

// the setup routine runs once when you press reset:
void setup() {
// initialize the digital pin as an output.
pinMode(led, OUTPUT);
}

// the loop routine runs over and over again forever:
void loop() {
digitalWrite(led, HIGH); // turn the LED on (HIGH is the
voltage level)
delay(1000); // wait for a second
digitalWrite(led, LOW); // turn the LED off by making
the voltage LOW
delay(1000); // wait for a second
}

retardo pecado parpadeo (retardo )
En OCASIONES Puede Ser Necesario HACER parpadear sin LED (o Alguna Otra
Cuestin visible) al Mismo Tiempo Que se Hacen Otras Cosas (Como Controlar la
pulsacin de Button no). ESTO implicaciones ningn retraso utilizar Poder (), o Todo Se
parara MIENTRAS EL parpadea el LED. AQUI TIENES UN Cdigo Que Muestra Como
hacer parpadear el LED pecar retraso USAR (). Controla la ltima Vez Que se Encendio o
Apago el LED. Entonces, Que Chvez CADA pasa Por El bucle () comparativamente si ha
transcurrido sin INTERVALO Suficiente de Tiempo y si es asi, Apaga el LED si estba
Encendido o viceversa.
Circuito

Esquema:
haz clic en la imagen prr ampliarla

Cdigo
/ * Blink sin retardo Enciende y apaga un diodo emisor de
luz (LED) conectado a una entrada digital pin, sin
utilizar la funcin () de retardo. Esto significa que otro
cdigo se puede ejecutar al mismo tiempo sin ser
interrumpido por el cdigo de LED. El circuito: * LED
adjunta del pin 13 a tierra. * Nota: en la mayora de
Arduinos, ya hay un LED en el tablero que se adjunta a la
clavija 13, por lo que no se necesita ningn hardware para
este ejemplo. creado 2005 por David A. Mellis modificado 08
de febrero 2010 por Paul Stoffregen modificado 11 de
noviembre 2013 por Scott Fitzgerald Este cdigo de ejemplo
se encuentra en el dominio pblico. http://www.arduino.cc /
es / Tutorial / BlinkWithoutDelay * /























/ / constantes no cambiarn. Se utiliza para establecer un
nmero de pin:
const int ledPin = 13 ; / / el nmero de los pines LED

/ / Variables cambiar:
int ledState = BAJO ; / / ledState utiliza para
establecer el LED

/ / En general, usted shuould utiliza "sin firmar largo "para
las variables que tienen el tiempo
/ / El valor se convertir rpidamente en demasiado grande
para un int para almacenar
sin signo largos previousMillis = 0 ; / / almacenar
la ltima vez que se actualiz LED

/ / constantes no cambiarn:
const largo intervalo = 1,000 ; / / intervalo en el
que parpadean (milisegundos)

void setup ( ) {
/ / establece el pin digital como salida:
pinMode ( ledPin , SALIDA ) ;
}

void loop ( )
{
/ / aqu es el lugar donde quiere colocar el cdigo que
tiene que . estar corriendo todo el tiempo

/ / Verificamos si es tiempo de parpadear el LED, es decir,
si el
/ / diferencia entre el tiempo actual y la ltima vez que
parpade
/ / el LED es mayor que el intervalo con el que desea
/ / parpadear el LED.
unsigned largo currentMillis = millis ( ) ;

si ( currentMillis - previousMillis > = intervalo ) {
/ / guardar la ltima vez que el LED parpadeara
previousMillis = currentMillis ;

/ / si el LED est apagado enciende y vice inversa:
si ( ledState == BAJA )
ledState = ALTO ;
ms
ledState = BAJO ;

/ / establecer el LED con la ledState de la variable:
digitalWrite ( ledPin , ledState ) ;
}
}

Botn
Los pulsadores o switches conectan dos puntos de un circuito al ser pulsados. Este ejemplo
enciende el LED integrado en el pin 13 cuando pulsas el botn.
Conecta tres cables a la placa Arduino. Los dos primeros, rojo y negro, conectan a las dos
hileras largas verticales de los laterales de la placa universal (breadboard ) para
proporcionar acceso a la fuente de 5 voltios y a masa (ground). El tercer cable va desde el
pin digital 2 a una patilla del pulsador. Esa misma patilla del pulsador se conecta a travs de
una resistencia pull-down (en este caso 10 KOhms) a masa. El otro extremo del pulsador se
conecta a la fuente de 5 voltios.
Cuando el pulsador est abierto (sin pulsar) no hay conexin entre las dos patas del
pulsador, de forma que el pin est conectado a tierra (a travs de la resistencia pull-down) y
leemos un LOW (bajo 0). Cuando el botn se cierra (pulsado), se establece la unin entre
sus dos extremos, conectando el pin a 5 voltios, por lo que leemos un HIGH (alto 1).
Tambin puedes cablear el circuito en sentido contrario, con una resistencia "pull-up" que
mantenga la entrada en HIGH, y que pase a LOW cuando se pulse el botn. As, el
comportamiento del programa (sketch) se invertir, con el LED normalmente encendido y
apagado cuando se pulsa el botn.
Si se desconectas el pin digital de E/S del todo, el LED puede parpadear de forma errtica.
Esto se debe a la entrada es "flotante", es decir, al azar se tornar en HIGH o LOW. Por eso
se necesita la resistencia pull-up o pull-down en el circuito.
Circuito

imagen desarollada usando Fritzing. Para ms circuitos de ejemplo, ver la pgina del proyecto
Fritzing
Esquema:
haz click en la imagen para ampliar

Cdigo
/*
Button

Turns on and off a light emitting diode(LED) connected to
digital
pin 13, when pressing a pushbutton attached to pin 2.


The circuit:
* LED attached from pin 13 to ground
* pushbutton attached to pin 2 from +5V
* 10K resistor attached to pin 2 from ground

* Note: on most Arduinos there is already an LED on the
board
attached to pin 13.


created 2005
by DojoDave <http://www.0j0.org>
modified 30 Aug 2011
by Tom Igoe

This example code is in the public domain.

http://www.arduino.cc/en/Tutorial/Button
*/

// constants won't change. They're used here to
// set pin numbers:
const int buttonPin = 2; // the number of the pushbutton
pin
const int ledPin = 13; // the number of the LED pin

// variables will change:
int buttonState = 0; // variable for reading the
pushbutton status

void setup() {
// initialize the LED pin as an output:
pinMode(ledPin, OUTPUT);
// initialize the pushbutton pin as an input:
pinMode(buttonPin, INPUT);
}

void loop(){
// read the state of the pushbutton value:
buttonState = digitalRead(buttonPin);

// check if the pushbutton is pressed.
// if it is, the buttonState is HIGH:
if (buttonState == HIGH) {
// turn LED on:
digitalWrite(ledPin, HIGH);
}
else {
// turn LED off:
digitalWrite(ledPin, LOW);
}
}
Anti-Rebote
Este ejemplo muestra el uso de un pulsador como un
interruptor: cada vez que pulsas el botn, el LED (o lo que sea)
es encendido (si est apagado) o apagado (si est encendido).
Esto requiere anti rebotes en la entrada, sin el una sola
pulsacin puede aparecer para el cdigo como muchas
pulsaciones. Haz uso de la funcin millis() para no perder de
vista el momento de pulsar el botn.
Circuito

imagen desarrollada usando Fritzing. para ms circuitos de ejemplo, visita
lapgina del proyecto Fritzing
Esquema:
haz click en la imagen para ampliarla

Code
El cdigo est basado en la versin de anti rebotes de Limor
Fried, pero la lgica est invertida en el ejemplo. En su ejemplo,
el switch retorna LOW cuando est cerrado, y HIGH cuando est
abierto. Aqu, el switch retorna HIGH cuando est pulsado y
LOW cuando no est pulsado.
Reproduce un tono usando la funcin tone()
Este ejemplo muestra como usar la funcin tone() para generar
notas. Reproduce una pequea melodia que quizs hayas
escuchado antes.
Circuito

image developed using Fritzing. For more circuit examples, see the Pgina
del projecto Fritzing
Esquemtico:
Haz click en la imagen para agrandarla

Cdigo
El cdigo de abajo usa un archivo extra, pitches.h. Este archivo
contiene todos los valores de las frecuencias de las notas tpica.
Por ejemplo, NOTE_C4 es una C media. NOTE_FS4 es F aguda,
y as sucesivamente. Esta tabla de notas fue originalmente
escrita por Brett Hagman, en el que est basada la funcin
tone(). La encontrars util cada vez que tengas que reproducir
notas musicales.
Para crear este archivo, haz click en el botn "new Tab" (nueva
pestaa) en la esquina superior derecha de la ventana. Queda
algo as:

The paste in the following code:

Potrebbero piacerti anche