2018/01/24

LED RBG

Podemos entender un LED RGB CC (Common Cathode) como tres ledes -uno rojo, otro verde y otro azul- encapsulados como un solo led con cuatro patillas. Para conectarlo a la placa Arduino necesitamos, como siempre, interponer unas resistencias de 220 Ω y usaremos pines PWM (3, 5, 6, 9, 10 y 11). La patilla más larga es el cátodo común que irá conectada a GND.


Este es el código que tenemos que cargar en nuestra placa:
int r = 11;
int g = 10;
int b = 9;

void setup() {
  pinMode(r, OUTPUT);
  pinMode(g, OUTPUT);
  pinMode(b, OUTPUT);
}

void loop() {
  analogWrite(r, 255);
  delay(1000);
  analogWrite(r, 0);
  delay(1000);
  analogWrite(g, 255);
  delay(1000);
  analogWrite(g, 0);
  delay(1000);
  analogWrite(b, 255);
  delay(1000);
  analogWrite(b, 0);
  delay(1000);
  analogWrite(r, 255);
  analogWrite(g, 255);
  analogWrite(b, 255);
  delay(1000);
  analogWrite(r, 0);
  analogWrite(g, 0);
  analogWrite(b, 0);
  delay(1000);
}

2018/01/15

LDR: sensor de luminosidad y monitor serie

En esta práctica aprenderemos a leer la señal de entrada de un pin analógico conectado a una resistencia LDR mediante un divisor de tensión. La lectura que obtenemos en el pin número A0, la vamos a imprimir continuamente en el monitor serie.


Este es el código que tenemos que cargar en nuestra placa:
void setup(){
  Serial.begin(9600);
}

void loop(){
  Serial.print("Lectura de la resistencia LDR: ");
  Serial.println(analogRead(A0));
  delay(100);
}

Potenciómetro: lectura de un pin analógico

En esta práctica aprenderemos a leer la señal de entrada de un pin analógico conectado a un potenciómetro. En función de la lectura que obtengamos en el pin número A0, variaremos el tiempo de encendido y apagado del led conectado al pin número 13.


Este es el código que tenemos que cargar en nuestra placa:
void setup(){
  pinMode(13, OUTPUT);
}

void loop(){
  digitalWrite(13, HIGH);
  delay(analogRead(A0));
  digitalWrite(13, LOW);
  delay(analogRead(A0));
}

2018/01/10

Botón: lectura de un pin digital

En esta práctica aprenderemos a leer la señal de entrada de un pin digital conectado a un botón mediante un divisor de tensión. En función de la lectura que obtengamos en el pin número 5, lanzaremos una señal de salida por el pin número 13 que encenderá o apagará el led.

 

Este es el código que tenemos que cargar en nuestra placa:
void setup() {
  pinMode(13, OUTPUT);
  pinMode(5, INPUT);
}

void loop() {
  if (digitalRead(5) == HIGH) {
    digitalWrite(13, HIGH);
  } else {
    digitalWrite(13, LOW);
  }
}

2018/01/03

Blink a LED: Hello World!

Esta práctica se considera el Hola Mundo! de Arduino. Consiste en programar el parpadeo de un led. La placa Arduino UNO tiene un led integrado conectado al pin número 13. La placa también tiene la resistencia necesaria para este led, por lo que no tendremos que preocuparnos de hacer ninguna conexión.


Este es el código que tenemos que cargar en nuestra placa:
void setup(){
  pinMode(13, OUTPUT);
}

void loop(){
  digitalWrite(13, HIGH);
  delay(1000);
  digitalWrite(13, LOW);
  delay(1000);
}

Opcionalmente, podemos conectar un led externo al pin número 13 y a tierra (GND). Recuerda que la patilla más larga del led se corresponde con el ánodo (positivo) y tiene que ir al pin número 13. La patilla más corta se corresponde con el cátodo (negativo) y tiene que ir a tierra (GND). Si el led tiene las patillas recortadas, podemos recurrir a la parte lisa del reborde del encapsulado, que se corresponde con el cátodo (negativo).


No obstante, si vamos a mantener el led encendido durante un largo tiempo, debemos usar una resistencia conectada al cátodo o al ánodo. En este ejemplo he usado una de 220 Ω conectada al cátodo.


El mismo circuito se puede montar más fácilmente con la ayuda de una placa de prototipos sin soldadura, protoboard o breadboard, como puede apreciarse en la última figura.



Prácticas y proyectos con Arduino


Prácticas:
  1. Blink a LED: Hello World! (1)
  2. Monitor serie
  3. Botón: lectura de un pin digital (1)
  4. Potenciómetro: lectura de un pin analógico (1)
  5. LDR: sensor de luminosidad y monitor serie (1)
  6. LDR + LED
  7. LED RGB (1)
  8. Distancias con sensor de ultrasonidos HC-SR04 (1)
  9. Distancias con sensor IR
  10. Motor DC
  11. Servomotor (1)
  12. Arduino + Processing

Proyectos:
  • Mando a ditancia con Arduino y Processing (1)
  • Robot seguidor de luz
  • Robot seguidor de líneas
  • Sistema contador de personas

Robots construidos:

Enlaces de interés: