Código

Encender leds con el medidor de distancias 

const int EchoPin = 5;

const int TriggerPin = 6;

int LED_1 = 7;

int LED_2 = 8;

int LED_3 = 9;


void setup() {

   Serial.begin(9600);

   pinMode(TriggerPin, OUTPUT);

   pinMode(EchoPin, INPUT);

   pinMode(LED_1, OUTPUT);

   pinMode(LED_2, OUTPUT);

   pinMode(LED_3, OUTPUT);

   

}


void loop() {

   int Distancia;

   int cm = ping(TriggerPin, EchoPin);

   Serial.print("Distancia: ");

   Serial.println(cm);

   delay(1000);


   if( cm < 20)

    {

      digitalWrite(LED_1, HIGH);

      digitalWrite(LED_2, LOW);

      digitalWrite(LED_3, LOW);

    

    }

     if(cm > 20 && cm <30)

  {

       digitalWrite(LED_1,LOW);

       digitalWrite(LED_2, HIGH);

       digitalWrite(LED_3, LOW);

}

 if(cm > 30)

  {

      digitalWrite(LED_1,LOW);

      digitalWrite(LED_2, LOW);

      digitalWrite(LED_3, HIGH);

}


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;


   

}

Sensor ultrasonidos

const int EchoPin = 5;

const int TriggerPin = 6;


void setup() {

   Serial.begin(9600);

   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;

}


Servo

#include <Servo.h>  //Include the Servo Library

int degree=0;

String words;       

Servo servo1;   // "Servos" objects are created

void setup() {

  // put your setup code here, to run once:

  Serial.begin(9600);

  Serial.println("Servos - Arduino");

  //servo1.attach(5); //Default

  servo1.attach(5,600,2400);

  servo1.write(0);

}

void loop() {

  // put your main code here, to run repeatedly:

 

  while (Serial.available()) {    // Read the value sent by the Serial Port

    delay(5);

    char c  = Serial.read();     // Read the characters

    words += c;              // Convert Characters to character string

  }  

  if (words.length()>0){       

        degree = words.toInt();   // Convert character string to integers

        Serial.print(degree);         //Send value in Degrees

        Serial.println(" Grados");

        delay(5);

        servo1.write(degree); // Ajuste de 512 vueltas a los 360 grados

        while(servo1.read()<degree-3)

        {Serial.println("Desplazando...");}

  }  

  words = "";   // Initialize the string of characters received 

  

}


Enviar mensaje a la consola (mejorado)

/* -------------------------------------- Escritura serial -------------------------------------- Consiste en escribir por la pantalla del computador (consola serial) una letra a , la primera vez que se escriba un LED se enciende, si se vuelve a escribir a por segunda vez el LED se apaga. */  

//--------------------------------------------------  

//Declara puertos de entradas y salidas y variables 

 int led = 13;                          //Pin donde se encuentra el LED, salida  

 int led2 = 12;

 int led3 = 11;

char leer;                              //Variable donde se almacena la letra 

 boolean prendido=false;     //Estado LED la primera vez, apagado

  boolean prendido2=false;

   boolean prendido3=false;

 //------------------------------------  

//Funcion principal 

 //------------------------------------ 

 void setup()                        // Se ejecuta cada vez que el Arduino se inicia  

{  

Serial.begin(9600);           //Inicia comunicación serial 

 pinMode(led, OUTPUT);     //Configurar el LED como una salida 

 pinMode(led2, OUTPUT);

 pinMode(led3, OUTPUT);

 }  

//------------------------------------  

//Funcion ciclicla 

 //------------------------------------ 

 void loop()             // Esta funcion se mantiene ejecutando 

 {                     // cuando este energizado el Arduino 

                 //Guardar en una variable el valor de la consola serial 

 leer=Serial.read();         // Si es la letra 'a' y además el LED está apagado 

 if ( (leer=='a') && (prendido==false) ) 

 { 

 digitalWrite(led,HIGH);     // Enciende el LED  

prendido=true;         // Actualiza el estado del LED 

 }  

// Si es la letra 'a' y además el LED está encendido 

 else if ( (leer=='a') && (prendido==true) ) 

 {  

digitalWrite(led,LOW);     // Apaga el LED 

 prendido=false;        // Actualiza el estado del LED 

 } 

if ( (leer=='s') && (prendido2==false) ) 

 { 

 digitalWrite(led2,HIGH);     // Enciende el LED  

prendido2=true;         // Actualiza el estado del LED 

 }  

// Si es la letra 's' y además el LED está encendido 

 else if ( (leer=='s') && (prendido2==true) ) 

 {  

digitalWrite(led2,LOW);     // Apaga el LED 


 prendido2=false;        // Actualiza el estado del LED 

 } 

 if ( (leer=='d') && (prendido3==false) ) 

 { 

 digitalWrite(led3,HIGH);     // Enciende el LED  

prendido3=true;         // Actualiza el estado del LED 

 }  

// Si es la letra 'd' y además el LED está encendido 

 else if ( (leer=='d') && (prendido3==true) ) 

 {  

digitalWrite(led3,LOW);     // Apaga el LED 


 prendido3=false;        // Actualiza el estado del LED 

 } 

 

 }                 //Fin programa 


Potenciómetro para encender LEDS

long valor;

 

//la salida de corriente de los LEDs

int LED_1 = 2;

int LED_2 = 3;

int LED_3 = 4;


 

void setup() {

  //Iniciamos el motor serial

  Serial.begin(9600);

 

  pinMode(LED_1, OUTPUT);

  pinMode(LED_2, OUTPUT);

  pinMode(LED_3, OUTPUT);

 

}

 

void loop() 

{

  

 int valor = analogRead(A0);

 

  Serial.print("El valor es = ");

  Serial.println(valor);

  

  delay(200);

  

  if( valor > 0 && valor < 300)

  {

      digitalWrite(LED_1, HIGH);

      digitalWrite(LED_2, LOW);

      digitalWrite(LED_3, LOW);

      Serial.print("amarillo ");

     } 

    

  

  

  if ( valor > 300 && valor < 600)

  {

      digitalWrite(LED_1, LOW);

      digitalWrite(LED_2, HIGH);

     digitalWrite(LED_3, LOW);

     Serial.print("verde ");

  }


 

   if (valor > 600 )

   {

     digitalWrite(LED_1, LOW);

      digitalWrite(LED_2, LOW);

      digitalWrite(LED_3, HIGH);

      Serial.print("rojo ");

    }

    }

LED CON BOTÓN

void setup() {

 pinMode(13,OUTPUT);

 pinMode(4,INPUT);

}


void loop() {

 if (digitalRead(4)==HIGH) {

   digitalWrite(13, HIGH);

 }

 else {

  digitalWrite(13, LOW);

 }


}





Semáforo

 int ledrojo = 13;

int ledamarillo = 10;
int ledverde = 11;

void setup() {
  // put your setup code here, to run once:
  pinMode(ledrojo,OUTPUT);
  pinMode(ledamarillo,OUTPUT);
  pinMode(ledverde,OUTPUT);
}

void loop() {
  // hacer un semaforo, el led rojo esta dos segundos encendido, el verde 1 y el amarillo 0,5:

  digitalWrite(ledrojo,HIGH);
  digitalWrite(ledamarillo,LOW);
  digitalWrite(ledverde,LOW);
  delay(2000);
  digitalWrite(ledrojo,LOW);
  digitalWrite(ledamarillo,LOW);
  digitalWrite(ledverde,HIGH);
  delay(1000);
  digitalWrite(ledrojo,LOW);
  digitalWrite(ledverde,LOW);
  digitalWrite(ledamarillo,HIGH);
  delay(200);
  digitalWrite(ledamarillo,LOW);
  delay(200);
  digitalWrite(ledamarillo,HIGH);
   delay(200);
  digitalWrite(ledamarillo,LOW);
  delay(200);
  digitalWrite(ledamarillo,HIGH);
 
 
}

Comentarios

Entradas populares de este blog