|     Inicio    |   |         |  |   FOROS      |  |      |      
   Elastix - VoIP B4A (Basic4Android) App inventor 2 PHP - MySQL
  Estación meteorológica B4J (Basic4Java) ADB Shell - Android Arduino
  Raspberry Pi Visual Basic Script (VBS) FireBase (BD autoactualizable) NodeMCU como Arduino
  AutoIt (Programación) Visual Basic Cosas de Windows Webs interesantes
Translate:
Búsqueda en este sitio:


.

Arduino en español
Circuitos con Arduino - Juan Antonio Villalpando

-- Tutorial de iniciación a Arduino --

Volver al índice del tutorial

___________________________

3.- Pulsador.

En este caso es un pulsador duplicado, en la parte de arriba y en la parte de abajo.

El pulsador se situa como indico en esta figura.

________________________________________________________________
- Cuando pulsamos el pulsador parpadea y cuando dejamos de pulsar, el LED13 queda estático.

- Vamos a poner un pulsador en el montaje del circuito anterior, es decir el Blink, de manera que cuando pulsemos el pulsador el LED13 externo parpadeará y cuando dejemos de pulsar el LED13 externo no parpadee, podrá quedar apagado o encendido, pero sin parpadear.

- Realizamos el siguiente montaje, ponemos el pulsador en serie con el LED y la resistencia como se ve en la imagen.

- El programa es el mismo del Blink.

Código
/*
  Blink
  Turns on an LED on for one second, then off for one second, repeatedly.

  Most Arduinos have an on-board LED you can control. On the Uno and
  Leonardo, it is attached to digital pin 13. If you're unsure what
  pin the on-board LED is connected to on your Arduino model, check
  the documentation at http://arduino.cc

  This example code is in the public domain.

  modified 8 May 2014
  by Scott Fitzgerald
 */


// the setup function runs once when you press reset or power the board
void setup() {
  // initialize digital pin 13 as an output.
  pinMode(13, OUTPUT);
}

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

 

________________________________________________________________________________
- Al pulsar el pulsador se enciende el LED, al dejar de pulsar, se apaga.

- Ahora vamos a poner el pulsador en uno de los terminales, será un terminal de entrada INPUT, tomaremos el terminal 2.

- Al pulsar el pulsador se enciende el LED, al dejar de pulsar, se apaga.

Código
/*
  Juan A. Villalpando
  kio4.com
 */

// Entrada y Salida.
// Al pulsar el pulsador se enciende el LED, al dejar de pulsarlo, se apaga.

#define pin2 2   // Al terminal  2 lo llamamos pin2. Aquí irá el pulsador.
#define pin13 13 // Al terminal 13 lo llamamos pin13. Aquí irá el LED.
int valor2; // Esto es una variable entera

// En el setup establecemos los parámetros iniciales.
void setup() {
  pinMode(pin2, INPUT);     // El pin2 será entrada. Pulsador.
  pinMode(pin13, OUTPUT);   // El pin13 será salida. LED.
  Serial.begin(9600);        // Para ver información en el Seria Monitor.
}


void loop() {
  valor2 = digitalRead(pin2); // Lee el valor del pin2 y se lo asigna a valor2. (Puede ser 0 o 1)
if (valor2 == HIGH) { 
    digitalWrite(pin13, HIGH); // Si valor2 es ALTO, pone el pin13 en ALTO
    Serial.println("Pulsado");
} 

if (valor2 == LOW) { 
    digitalWrite(pin13, LOW); // Si valor2 es BAJO, pone el pin13 en BAJO
    Serial.println("No Pulsado");
} 
}

IMPORTANTE: digitalWrite(pin13, HIGH); para escribir en el terminal 13. Importante que lo recuerdes.

IMPORTANTE: digitalRead(pin2); para leer el terminal 2. Importante que lo recuerdes.

- digitalRead(pin2); Lee el valor del pin2, que puede ser alto o bajo. 1 o 0.

- Estos terminales, del 0 al 13, pueden dar en su salida 0 Voltios o 5 Voltios. Solo trabajan en forma digital.

- Cuando leen, obtienen un 1 o un 0, en este caso o 5 Voltios o 0 Voltios, trabajan tanto en entrada como en salida en forma digital.

- No es apropiado introducir en estos terminales 2,3 Voltios ni leer 1,9 Voltios, por ejemplo.

- Recuerda que las líneas de código terminan en punto y coma; (Salvo algunas de ellas.)

- Recuerda que debes guardar cada archivo de proyecto en una carpeta única para él.

________________________________________________________________
- Cuando pulsamos el pulsador parpadea y cuando dejamos de pulsar el LED13 queda estático, el pulsador debe estar en el terminal 2.

- Este programa debe realizar algo parecido a lo que hemos visto el principio de esta página, es decir, cuando pulsemos el pulsador, el LED13 parpadeará y cuando no pulsemos el LED13 dejará de parpadear (en este caso dejará de parpadear el LED13 externo y el LED13 que se encuentra en la placa del Arduino).

- El circuito es el mismo que el anterior.

- Puedes utilizar el código del encendido y apagado que acabamos de ver y además introducir en la parte del

if (valor2 == HIGH) {

la parte correspondiente al parpadeo visto en el código que está al principo de esta página.

digitalWrite(13, HIGH); // turn the LED on (HIGH is the voltage level)
delay(1000); // wait for a second
digitalWrite(13, LOW); // turn the LED off by making the voltage LOW
delay(1000); // wait for a second

_____________________________________________________________
- Aquí tenemos dos pulsadores, uno incrementa y el otro decrementa.

Código
		const int boton2 = 2;
const int boton3 = 3;
int valor2 = 0;
int valor3 = 0;
int estadoanteriorboton2 = 0;
int estadoanteriorboton3 = 0;
int contador = 0;

void setup() {
    Serial.begin(9600);
    pinMode(boton2,INPUT);
    pinMode(boton3,INPUT);
    digitalWrite(boton2,HIGH);
    digitalWrite(boton3,HIGH);
}

void loop() {
 valor2 = digitalRead(boton2);
 if(valor2 != estadoanteriorboton2){
 if(valor2 == 1){
 contador++;
 Serial.println(contador);
 delay(200);
 }
 }
 valor3 = digitalRead(boton3);
 if(valor3 != estadoanteriorboton3){
 if(valor3 == 1){
 contador--;
 Serial.println(contador);
 delay(200);
 }
 }

 estadoanteriorboton2 = valor2;
 estadoanteriorboton3 = valor3;
 
}	
			
			

 

________________________________

- Mi correo:
juana1991@yahoo.com
- KIO4.COM - Política de cookies. Textos e imágenes propiedad del autor:
© Juan A. Villalpando
No se permite la copia de información ni imágenes.
Usamos cookies propias y de terceros que entre otras cosas recogen datos sobre sus hábitos de navegación y realizan análisis de uso de nuestro sitio.
Si continúa navegando consideramos que acepta su uso. Acepto    Más información