Documentos de Académico
Documentos de Profesional
Documentos de Cultura
07 EntradaSalidaDigital
07 EntradaSalidaDigital
1/7
miVariable = digitalRead(pin);
}
Aunque LOW equivale siempre a 0V en una salida digital, en
una entrada digital cualquier valor entre 0V y 1.5V se considerar
LOW en el comando digitalRead(). Del mismo modo todos los valores
entre 3.3V y 5v se considerarn como un valor HIGH.
Programa de aplicacin de pines configurados como salida
digital.
Programa02
Realiza una secuencia de encendido y apagado de
conectados en los pines digitales 3-4-5, el circuito es el siguiente
led
2/7
//prog02_secuencia_v1
//"Curso de Robotica Educativa"
//CEP de ALBACETE
// Manuel Hidalgo Diaz
//Enero 2012
//Programa para realizar una secuencia luminosa con 3 diodos leds
//Adjuntar etiqueta con numero de pin digital de Arduino
#define ledVerde 3
#define ledAmarillo 4
#define ledRojo 5
//Declaracion de variables
int retardo;
//tiempo de encendido del led en milisegundos
void setup()
{
//configuracion de los pines digitales como salida
pinMode(ledVerde, OUTPUT);
pinMode(ledAmarillo, OUTPUT);
pinMode(ledRojo, OUTPUT);
//inicialmente todos los leds apagados
digitalWrite(ledVerde, LOW);
digitalWrite(ledAmarillo, LOW);
digitalWrite(ledRojo, LOW);
//asignacion del tiempo de encendio del led
retardo = 2500;
}
void loop()
{
//se enciende el led verde durante el tiempo asignado en retardo
digitalWrite(ledVerde, HIGH);
delay(retardo);
//se apaga el led verde y se enciende el led amarillo
//durante el tiempo asignado en retardo
digitalWrite(ledVerde, LOW);
digitalWrite(ledAmarillo, HIGH);
delay(retardo);
//se apaga el led amarillo y se enciende el led rojo
//durante el tiempo asignado en retardo
digitalWrite(ledAmarillo, LOW);
digitalWrite(ledRojo, HIGH);
delay(retardo);
//se apaga el led rojo
digitalWrite(ledRojo, LOW);
}
3/7
Programa 03
Programa que realiza una lectura digital por el pin 2 y enciende
un led conectado al pin 3.
Esquema del circuito:
4/7
5/7
Programa 04
Se utiliza el mismo circuito que el programa 03. El programa
realiza una lectura digital del pin D2 y cada cuatro pulsaciones
enciende el led conectado en el pin D3.
/*
State change detection (edge detection)
*/
// this constant won't change:
const int buttonPin = 2; // the pin that the pushbutton is attached to
const int ledPin = 3;
// the pin that the LED is attached to
// Variables will change:
int buttonPushCounter = 0; // counter for the number of button presses
int buttonState = 0;
// current state of the button
int lastButtonState = 0; // previous state of the button
void setup() {
// initialize the button pin as a input:
pinMode(buttonPin, INPUT);
// initialize the LED as an output:
pinMode(ledPin, OUTPUT);
// initialize serial communication:
Serial.begin(9600);
}
void loop() {
// read the pushbutton input pin:
buttonState = digitalRead(buttonPin);
// compare the buttonState to its previous state
if (buttonState != lastButtonState) {
// if the state has changed, increment the counter
if (buttonState == HIGH) {
// if the current state is HIGH then the button
// wend from off to on:
buttonPushCounter++;
Serial.println("on");
Serial.print("number of button pushes: ");
Serial.println(buttonPushCounter);
}
else {
// if the current state is LOW then the button
// wend from on to off:
Serial.println("off");
}
}
// save the current state as the last state, for next time through the loop
lastButtonState = buttonState;
6/7
// turns on the LED every four button pushes by checking the modulo of the
//button push counter.
// the modulo function gives you the remainder of the division of two numbers:
if (buttonPushCounter % 4 == 0) {
digitalWrite(ledPin, HIGH);
} else {
digitalWrite(ledPin, LOW);
}
}
7/7