Ejemplos de Arduino: pulsador, joystick con LEDs y zumbador, encendido suave y control RGB
Pulsador
int led = 13;
int pulsador = 7;
void setup()
{
pinMode(led, OUTPUT);
pinMode(pulsador, INPUT);
}
void loop()
{
if (digitalRead(pulsador) == HIGH) {
digitalWrite(led, HIGH);
} else {
digitalWrite(led, LOW);
}
}
Joystick con luces y sonido
const int boton = 2; //Variable con el pin del pulsador
const int pinx = A0; //Variable con el pin del eje X
const int piny = A1; //Variable con el pin del eje Y
const int zumbador = A2; //Variable con el pin del zumbador
const int ledrojo = 9; //Variable con el pin de uno de los LEDs
const int ledamarillo = 10; //Variable con el pin del otro LED
void setup() {
pinMode(pinx, INPUT); //El pin A0 recibirá información
pinMode(piny, INPUT); //El pin A1 recibirá información
pinMode(boton, INPUT_PULLUP); //El pin 2 recibirá información
Serial.begin(9600); //Establece la velocidad de transmisión en 9600
}
void loop() {
bool pressed = digitalRead(boton); //Variable de tipo booleano con el valor del botón
int x = analogRead(pinx); // Variable con el valor del eje X
int y = analogRead(piny); // Variable con el valor del eje Y
if (x == 1023) {
digitalWrite(9, HIGH); //Si el valor del eje X es igual al máximo, el LED se encenderá; cuando no sea el máximo, se apagará
} else {
digitalWrite(9, LOW);
}
if (x == 0) {
digitalWrite(ledamarillo, HIGH); //Si el valor del eje X es igual al mínimo, el LED se encenderá; cuando no sea el mínimo, se apagará
} else {
digitalWrite(ledamarillo, LOW);
}
if (pressed == 0) {
tone(zumbador, 400); //Si se pulsa el botón, el zumbador suena
} else {
noTone(zumbador);
}
}
Encendido suave de un LED
int contador;
void setup() {
pinMode(6, OUTPUT);
}
void loop() {
for (contador = 0; contador < 256; contador = contador + 5) {
analogWrite(6, contador);
delay(200);
}
for (contador = 256; contador > 0; contador = contador - 5) {
analogWrite(6, contador);
delay(200);
}
}
Control analógico RGB
int i;
void setup() {
pinMode(3, OUTPUT);
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
analogWrite(3, 255);
}
void loop() {
for (i = 0; i < 255; i = i + 1) {
analogWrite(5, i);
delay(10);
}
for (i = 255; i > 0; i = i - 1) {
analogWrite(3, i);
delay(10);
}
for (i = 0; i < 255; i = i + 1) {
analogWrite(6, i);
delay(10);
}
for (i = 255; i > 0; i = i - 1) {
analogWrite(5, i);
delay(10);
}
for (i = 0; i < 255; i = i + 1) {
analogWrite(3, i);
delay(10);
}
for (i = 255; i > 0; i = i - 1) {
analogWrite(6, i);
delay(10);
}
}