Practica Arduino 2
Practica Arduino 2
AUTOMATISMOS II
UNIVERSIDAD POLITECNICA SALESIANA
1. DETECTOR DE LUZ
Cambiar el nivel de luminosidad del aula donde te encuentras. La idea es que cuando
la intensidad luminosa disminuya un cierto umbral, el LED se active.
Materiales:
- Sensor de luz LDR (light-dependent resistor)
- Dos resistencias eléctricas (220 ohm y 1 kOhm)
- Un LED.
ESQUEMA:
PROGRAMA:
#define pinLED 12
void setup() {
pinMode(pinLED, OUTPUT);
Serial.begin(9600);
}
void loop() {
int v = analogRead(A0);
// El valor 600 (siguiente línea) se debe de ajustar dependiendo de la luz en el local
// y del valor de la resistencia pull-down
// poca luz -> v pequeño, mucha luz -> v grande.
if (v < 600) digitalWrite(pinLED, HIGH);
else digitalWrite(pinLED, LOW);
Serial.println(v);
}
2. CONTROL DE SERVO
ESQUEMA:
PROGRAMA:
#include <Servo.h>
Servo servoRotCont; // crea los objetos para controlar los servomotores
void setup() {
servoRotCont.attach(9);
}
void loop() {
servoRotCont.write(0);//clockwise
delay(2000);
servoRotCont.write(90); //stop (el valor 90 depende del motor.
//Es conveniente probar valores por encima o por debajo
//de 90 hasta comprobar que se para el servomotor.
delay(2000);
servoRotCont.write(180);//counter-clockwise
delay(2000);
servoRotCont.write(90); //stop
}
3. Display de 7 segmentos
En el loop usamos una primera iteración que va iluminando los 8 segmentos con un
delay, y en la segunda los borra y vuelVE a empezar.
ESQUEMA:
PROGRAMA:
void setup()
{
for (int i = 2; i<11; i++)
pinMode(i, OUTPUT);
}
void loop()
{
for ( int j= 2; j<11 ; j++) // Va encendiendo los segmentos
{
digitalWrite(j, HIGH);
delay(400) ;
}
for ( int j= 2; j<11 ; j++) //Apaga todos los segmentos
digitalWrite(j, LOW);
delay(400) ;
}