#define PIN_BOTON 5
#define PIN_LED 8
byte estado_anterior = 0;
byte estado_nuevo;
byte estado_1ed = LOW ;
void setup() {
pinMode (PIN_BOTON, INPUT);
pinMode (PIN_LED, OUTPUT);
}
void loop() {
estado_nuevo = digitalRead (PIN_BOTON);
if ((estado_anterior == 0) && (estado_nuevo == 1)) {
cambiar_estado_led();
}
estado_anterior = estado_nuevo;
delay (10);
void cambiar_estad_led == LOW){
digitalWrite (PIN_LED, HIGH);
estado_led = HIGH;
}
else {
digitalWrite (PIN_LED, LOW);
estado_led = LOW;
}
}
2. Semáforo:
const int pinLED= 13; //asignar variable led como 13
void setup() {
pinMode(pinLED, OUTPUT); //definir pin 13 como salida
}
void loop() {
digitalWrite(pinLED, HIGH); // encender LED
delay(600); // esperar un segundo
digitalWrite(pinLED, LOW); // apagar LED
delay(400); // esperar un segundo
digitalWrite(pinLED, HIGH); // encender LED
delay(300); // esperar un segundo
digitalWrite(pinLED, LOW); // apagar LED
delay(200); // esperar un segundo
digitalWrite(pinLED, HIGH); // encender LED
delay(600); // esperar un segundo
digitalWrite(pinLED, LOW); // apagar LED
delay(25); // esperar un segundo}
3. Juego de Interruptores:
#define PIN_LED_1 11
#define PIN_BOTON_1 12
#define PIN_LED_2 2
#define PIN_BOTON_2 3
#define PIN_SALIDA 7
byte game_over;
void setup (){
pinMode (PIN_LED_1, OUTPUT);
pinMode (PIN_BOTON_1, INPUT);
pinMode (PIN_LED_2, OUTPUT);
pinMode (PIN_BOTON_2, INPUT);
pinMode (PIN_SALIDA, OUTPUT);
game_over = 0;
digitalWrite (PIN_LED_1, LOW);
digitalWrite (PIN_LED_2, LOW);
digitalWrite (PIN_SALIDA, HIGH);
delay (random(10000));
digitalWrite (PIN_SALIDA,LOW);
}
void loop() {
byte boton_1 = digitalRead (PIN_BOTON_1);
byte boton_2 = digitalRead (PIN_BOTON_2);
if ((boton_1 == 1) && (game_over == 0)){
digitalWrite (PIN_LED_1, HIGH);
game_over =1;
}
if ((boton_2 == 1) && (game_over == 0)){
digitalWrite (PIN_LED_2, HIGH);
game_over =1;
}
delay (10);
}
4. Display 7 segmentos:
#define Pin_a 3
#define Pin_b 4
#define Pin_c 7
#define Pin_d 6
#define Pin_e 5
#define Pin_f 2
#define Pin_g 1
void setup()
{
pinMode(Pin_a,OUTPUT);
pinMode(Pin_b,OUTPUT);
pinMode(Pin_c,OUTPUT);
pinMode(Pin_d,OUTPUT);
pinMode(Pin_e,OUTPUT);
pinMode(Pin_f,OUTPUT);
pinMode(Pin_g,OUTPUT);
}
void loop()
{
nueve();
delay(1000);
ocho();
delay(1000);
siete();
delay(1000);
seis();
delay(1000);
cinco();
delay(1000);
cuatro();
delay(1000);
tres();
delay(1000);
dos();
delay(1000);
uno();
delay(1000);
cero();
delay(1000);
}
void cero()
{
digitalWrite(Pin_a,LOW);
digitalWrite(Pin_b,LOW);
digitalWrite(Pin_c,LOW);
digitalWrite(Pin_d,LOW);
digitalWrite(Pin_e,LOW);
digitalWrite(Pin_f,LOW);
digitalWrite(Pin_g,HIGH);
}
void uno ()
{
digitalWrite(Pin_a,HIGH);
digitalWrite(Pin_b,LOW);
digitalWrite(Pin_c,LOW);
digitalWrite(Pin_d,HIGH);
digitalWrite(Pin_e,HIGH);
digitalWrite(Pin_f,HIGH);
digitalWrite(Pin_g,HIGH);
}
void dos()
{
digitalWrite(Pin_a,LOW);
digitalWrite(Pin_b,LOW);
digitalWrite(Pin_c,HIGH);
digitalWrite(Pin_d,LOW);
digitalWrite(Pin_e,LOW);
digitalWrite(Pin_f,HIGH);
digitalWrite(Pin_g,LOW);
}
void tres()
{
digitalWrite(Pin_a,LOW);
digitalWrite(Pin_b,LOW);
digitalWrite(Pin_c,LOW);
digitalWrite(Pin_d,LOW);
digitalWrite(Pin_e,HIGH);
digitalWrite(Pin_f,HIGH);
digitalWrite(Pin_g,LOW);
}
void cuatro()
{
digitalWrite(Pin_a,HIGH);
digitalWrite(Pin_b,LOW);
digitalWrite(Pin_c,LOW);
digitalWrite(Pin_d,HIGH);
digitalWrite(Pin_e,HIGH);
digitalWrite(Pin_f,LOW);
digitalWrite(Pin_g,LOW);
}
void cinco()
{
digitalWrite(Pin_a,LOW);
digitalWrite(Pin_b,HIGH);
digitalWrite(Pin_c,LOW);
digitalWrite(Pin_d,LOW);
digitalWrite(Pin_e,HIGH);
digitalWrite(Pin_f,LOW);
digitalWrite(Pin_g,LOW);
}
void seis()
{
digitalWrite(Pin_a,LOW);
digitalWrite(Pin_b,HIGH);
digitalWrite(Pin_c,LOW);
digitalWrite(Pin_d,LOW);
digitalWrite(Pin_e,LOW);
digitalWrite(Pin_f,LOW);
digitalWrite(Pin_g,LOW);
}
void siete()
{
digitalWrite(Pin_a,LOW);
digitalWrite(Pin_b,LOW);
digitalWrite(Pin_c,LOW);
digitalWrite(Pin_d,HIGH);
digitalWrite(Pin_e,HIGH);
digitalWrite(Pin_f,HIGH);
digitalWrite(Pin_g,HIGH);
}
void ocho()
{
digitalWrite(Pin_a,LOW);
digitalWrite(Pin_b,LOW);
digitalWrite(Pin_c,LOW);
digitalWrite(Pin_d,LOW);
digitalWrite(Pin_e,LOW);
digitalWrite(Pin_f,LOW);
digitalWrite(Pin_g,LOW);
}
void nueve()
{
digitalWrite(Pin_a,LOW);
digitalWrite(Pin_b,LOW);
digitalWrite(Pin_c,LOW);
digitalWrite(Pin_d,HIGH);
digitalWrite(Pin_e,HIGH);
digitalWrite(Pin_f,LOW);
digitalWrite(Pin_g,LOW);
}
5. Sensor Movimiento:
#define PIN_LDR A0
#define PIN_LED 2
void setup() {
pinMode (PIN_LDR, INPUT);
pinMode (PIN_LED, OUTPUT);
}
void loop() {
int ldr = analogRead (PIN_LDR);
if (ldr <= 800){
digitalWrite (PIN_LED, HIGH);
}
if (ldr>800){
digitalWrite (PIN_LED, LOW);
}
}
6. Ultrasonido:
const int EchoPin = 5;
const int TriggerPin = 6;
const int LedPin = 13;
void setup() {
Serial.begin(9600);
pinMode(LedPin, OUTPUT);
pinMode(TriggerPin, OUTPUT);
pinMode(EchoPin, INPUT);
}
void loop() {
int cm = ping(TriggerPin, EchoPin);
Serial.print("Distancia: ");
Serial.println(cm);
delay(1000);
}
int ping(int TriggerPin, int EchoPin) {
long duration, distanceCm;
digitalWrite(TriggerPin, LOW); //para generar un pulso limpio ponemos a LOW 4us
delayMicroseconds(4);
digitalWrite(TriggerPin, HIGH); //generamos Trigger (disparo) de 10us
delayMicroseconds(10);
digitalWrite(TriggerPin, LOW);
duration = pulseIn(EchoPin, HIGH); //medimos el tiempo entre pulsos, en microsegundos
distanceCm = duration * 10 / 292/ 2; //convertimos a distancia, en cm
return distanceCm;
}
7. Servomotor:
#include <Servo.h>
Servo myservo; // crea el objeto servo
int pos = 0; // posicion del servo
void setup() {
myservo.attach(9); // vincula el servo al pin digital 9
}
void loop() {
//varia la posicion de 0 a 180, con esperas de 15ms
for (pos = 0; pos <= 220; pos += 2)
{
myservo.write(pos);
delay(10);
}
//varia la posicion de 0 a 180, con esperas de 15ms
for (pos = 220; pos >= 0; pos -= 2)
{
myservo.write(pos);
delay(10);
}
}
8. Sensor Humedad y Temperatura:
#include <LiquidCrystal.h>
#include <LiquidCrystal.h>
#include <DHT11.h>
int pin=2;
DHT11 dht11(pin);
void setup()
{
Serial.begin(9600);
}
void loop()
{
int err;
float temp, hum;
if((err = dht11.read(hum, temp)) == 0) // Si devuelve 0 es que ha leido bien
{
Serial.print("Temperatura: ");
Serial.print(temp);
Serial.print(" Humedad: ");
Serial.print(hum);
Serial.println();
}
else
{
Serial.println();
Serial.print("Error Num :");
Serial.print(err);
Serial.println();
}
delay(1000); //Recordad que solo lee una vez por segundo
}
9. Relé:
int rele = 8;
void setup (){
pinMode (rele, OUTPUT);
}
void loop (){
digitalWrite (rele, HIGH);
delay (2000);
digitalWrite (rele, LOW);
delay (2000);
}
10. Coche Fantástico:
int pin2 = 2;
int pin3 = 3;
int pin4 = 4;
int pin5 = 5;
int pin6 = 6;
int pin7 = 7;
int timer = 100; // Temporizador
void setup(){
pinMode(pin2, OUTPUT); // Configuración de los PIN-es como salida
pinMode(pin3, OUTPUT);
pinMode(pin4, OUTPUT);
pinMode(pin5, OUTPUT);
pinMode(pin6, OUTPUT);
pinMode(pin7, OUTPUT);
}
void loop() {
digitalWrite(pin2, HIGH); // Enciende y apaga secuencialmente LED-s
delay(timer);
digitalWrite(pin2, LOW);
delay(timer);
digitalWrite(pin3, HIGH);
delay(timer);
digitalWrite(pin3, LOW);
delay(timer);
digitalWrite(pin4, HIGH);
delay(timer);
digitalWrite(pin4, LOW);
delay(timer);
digitalWrite(pin5, HIGH);
delay(timer);
digitalWrite(pin5, LOW);
delay(timer);
digitalWrite(pin6, HIGH);
delay(timer);
digitalWrite(pin6, LOW);
delay(timer);
digitalWrite(pin7, HIGH);
delay(timer);
digitalWrite(pin7, LOW);
delay(timer);
digitalWrite(pin6, HIGH);
delay(timer);
digitalWrite(pin6, LOW);
delay(timer);
digitalWrite(pin5, HIGH);
delay(timer);
digitalWrite(pin5, LOW);
delay(timer);
digitalWrite(pin4, HIGH);
delay(timer);
digitalWrite(pin4, LOW);
delay(timer);
digitalWrite(pin3, HIGH);
delay(timer);
digitalWrite(pin3, LOW);
delay(timer);
}
11. Potenciómetro:
int potPin = 2; // seleccionar el pin de entrada analógico para el potenciómetro
int ledPin = 13; // seleccionar el pin de salida digital para el LED
int val = 0; // variable para almacenar el valor capturado desde el sensor
void setup() {
pinMode(ledPin, OUTPUT); // declara el ledPin en modo salida
}
void loop() {
val = analogRead(potPin); // lee el valor del sensor
digitalWrite(ledPin, HIGH); // enciende LED
delay(val); // detiene el programa por un tiempo “val”
digitalWrite(ledPin, LOW); // apaga el LED
delay(val); // detiene el programa por un tiempo “val”
}
12. Contador:
int LED = 13;
int Boton = 7;
int valor = 0;
int contador = 0;
int estadoanteriorboton = 0;
void setup()
{
Serial.begin(9600);
pinMode(LED, OUTPUT); // inicializa como salida digital el pin 13
pinMode(Boton, INPUT); // inicializa como entrada digital el 7
}
void loop()
{
valor = digitalRead(Boton); // lee el valor de la entrada digital pin 7
digitalWrite(LED, valor);
if(valor != estadoanteriorboton){
if(valor == 1){
contador++;
Serial.print (contador);
Serial.write(10);
Serial.write(13);
}
}
estadoanteriorboton = valor;
}
No hay comentarios:
Publicar un comentario