Primer Código Arduino.

08092009

Durante estos días he estas jugueteando con mi placa arduino y he echo unas cuantas pruebas. Es muy sencillo el funcionamiento y divertido. La programación es sencilla si tienes a mano un listado de los comandos. El entorno de programación es muy sencillo he intuitivo y tiene un par de aspectos que me gustan mucho, como el que te marque el cierre de las llaves “}” cuando seleccionas un de inicio “{”

Screenshot0003

Voy a compartir mi primer código que he creado con arduino, que es realmente sencillo.

El funcionamiento es muy simple, lo que he conseguido después de derivar un simple circuito de prueba de un botón que enciende un  led y hace pitar un zumbador , a un circuito que con un fotorresistor, que al recibir diferentes cantidades de luz enciende tres led’s diferentes .

Si recibe poca cantidad de luz se enciende el led verde, con luz moderada el amarillo y con mucha luz se pone a pitar el zumbador y se enciende el led rojo. También si pulsamos el botón se encienden los 3 led’s y el zumbador, independiente de los que reciba el fotorresistor.

Y luego aparte hay una resistencia variable a la temperatura que envía sus datos por la conexión serie ( para hacer futuras pruebas) .

El esquema del circuito es este:

2009-09-18_140305

Y el código es el siguiente :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
const int led1= 10; //Se declara en pin de conexión del led Verde
const int led2= 9; //Se declara en pin de conexión del led Amarillo
const int led3= 8; //Se declara en pin de conexión del led Rojo
const int boton = 11; //Se declara en pin de conexión del pulsador
const int zumbador = 3; //Se declara en pin de conexión del zumbador
const int ldr = 0;  //Se declara en pin de conexión del fotorresistor
const int ntc=1;  //Se declara en pin de conexión de la resistencia variable al calor
 
void setup() //Declaración de la dirección de los puertos digitales  
{              
  pinMode(led1, OUTPUT);
  pinMode(led2, OUTPUT);  
  pinMode(led3, OUTPUT);  
  pinMode(boton, INPUT);
  pinMode(zumbador,OUTPUT);
  Serial.begin(9600);       //apertura del canal de comunicación seria a través del usb
}
 
void loop()  //inicio bucle de la aplicación
{
  if (digitalRead(boton) == HIGH) // con botón pulsado
  {
    digitalWrite(led1, HIGH); //enciende led verde
    digitalWrite(led2, HIGH); //enciende led amarillo
    digitalWrite(led3, HIGH); //enciende led rojo
    digitalWrite(zumbador, HIGH); //manda un impulso al zumbador
    delayMicroseconds(1700); //delay durante el siguiente impulso ( con esto conseguimos el tono)
    digitalWrite(zumbador, LOW); // detenemos impulso del tono 
 
  }else{  //si no hay boton pulsado
 
    digitalWrite(led1, LOW); //apagado led verde
    digitalWrite(led2, LOW); //apagado led amarillo
    digitalWrite(led3, LOW); //apagado led rojo
 
    if (analogRead(ldr) <=200){ //lectura del fotorresistor por debajo de 200 (mayor luz)
      digitalWrite(led3, HIGH); //enciende led rojo
      digitalWrite(zumbador, HIGH); //manda un impulso al zumbador
      delayMicroseconds(1700); //delay durante el siguiente impulso
      digitalWrite(zumbador, LOW); // detenemos impulso del tono
    }
    if (analogRead(ldr)  >200 && analogRead(ldr) < 800 ){ //lectura del fotorresistor entre 200 y 800 (luz media)
      digitalWrite(led2, HIGH); //enciende led amarillo
    }
    if (analogRead(ldr) >=800){ //lectura del fotorresistor por encima de 800 (menor luz)
      digitalWrite(led1, HIGH); //enciende led verde
    }
  }
  Serial.println(analogRead(ntc)); // envió de información de temperatura por conexión serial
}

Deja un comentario

This site is using OpenAvatar based on