led parpadeante

Upload: gilbertocr

Post on 13-Oct-2015

11 views

Category:

Documents


0 download

TRANSCRIPT

LED parpadeanteEn 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 laLilyPad) 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)LosLEDstienen 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

CdigoEl 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:intled=13;

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

// the loop routine runs over and over again forever:voidloop(){digitalWrite(led,HIGH);// turn the LED on (HIGH is the voltage level)delay(1000); // wait for a seconddigitalWrite(led,LOW); // turn the LED off by making the voltage LOWdelay(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 retardoEnciende y apaga un diodo emisor de luz (LED) conectado a una entrada digital pin, sin utilizar la funcin () de retardo.Esto significa que otro cdigose 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 tableroque se adjunta a la clavija 13, por lo que no se necesita ningn hardware para este ejemplo.creado 2005por David A. Mellismodificado 08 de febrero 2010por Paul Stoffregenmodificado 11 de noviembre 2013por Scott FitzgeraldEste 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:constintledPin=13; / / el nmero de los pines LED

/ / Variables cambiar:intledState=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 almacenarsin signolargospreviousMillis=0; / / almacenar la ltima vez que se actualiz LED

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

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

voidloop(){/ / 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.unsignedlargocurrentMillis=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);}}

BotnLos 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 resistenciapull-down(en este caso 10KOhms) 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 resistenciapull-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 resistenciapull-upopull-downen el circuito.Circuito

imagen desarollada usandoFritzing. Para ms circuitos de ejemplo, ver lapgina del proyecto FritzingEsquema:haz click en la imagen para ampliar

Cdigo/* ButtonTurns 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 boardattached to pin 13.created 2005by DojoDave modified 30 Aug 2011by Tom IgoeThis 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:constintbuttonPin=2; // the number of the pushbutton pinconstintledPin=13; // the number of the LED pin

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

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

voidloop(){// 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-ReboteEste 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 usandoFritzing. para ms circuitos de ejemplo, visita lapgina del proyecto FritzingEsquema:haz click en la imagen para ampliarla

CodeEl cdigo est basado en laversin 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 usingFritzing. For more circuit examples, see thePgina del projecto FritzingEsquemtico:Haz click en la imagen para agrandarla

CdigoEl 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: