40910
Compluino Modular es un nuevo conjunto de sensores y actuadores que se conectan directamente con un único cable de tres pines con la placa Compluino UNO.
Compluino Modular simplifica los procesos de prototipado electrónico permitiendo que el alumno se pueda centrar más en la resolución de problemas relacionados con la algoritmia y la programación.
Se basa en la placa controladora Compluino UNO. Compluino es la versión mejorada de la placa Arduino UNO original, realizada por Complubot. Compluino dispone de un conjunto adicional de pines de entrada salida que facilitan el conexionado de módulos sensores y actuadores, algo fundamental para realizar proyectos de forma sencilla y estable.
Este kit incluye los siguientes materiales:

// Ejemplo 1: parpadeo de dos ledes rojos.
#define LEDA 7
#define LEDB 4
void setup()
{
pinMode(LEDA, OUTPUT); // Definir el pin 7 como salida.
pinMode(LEDB, OUTPUT); // Definir el pin 4 como salida.
}
void loop()
{
digitalWrite (LEDA, HIGH); // Encender el led A
digitalWrite (LEDB, HIGH); // Encender el led B
delay (2000); // Esperar dos segundos
digitalWrite (LEDA, LOW); // Apagar el led A
digitalWrite (LEDB, LOW); // Apagar el led B
delay (2000); // Esperar dos segundos
}

// Ejemplo 2: iluminación secuencial de cinco ledes.
#define LEDA 11
#define LEDB 9
#define LEDC 7
#define LEDD 5
#define LEDE 3
#define TIEMPO 125
void setup()
{
pinMode(LEDA, OUTPUT); // Definir el pin 11 como salida
pinMode(LEDB, OUTPUT); // Definir el pin 9 como salida
pinMode(LEDC, OUTPUT); // Definir el pin 7 como salida
pinMode(LEDD, OUTPUT); // Definir el pin 5 como salida
pinMode(LEDE, OUTPUT); // Definir el pin 3 como salida
}
void loop()
{
digitalWrite (LEDA, HIGH); // Encender el led A
delay (TIEMPO); // Esperar 0.125 segundos
digitalWrite (LEDA, LOW); // Apagar el led A
digitalWrite (LEDB, HIGH); // Encender el led B
delay (TIEMPO); // Esperar 0.125 segundos
digitalWrite (LEDB, LOW); // Apagar el led B
digitalWrite (LEDC, HIGH); // Encender el led C
delay (TIEMPO); // Esperar 0.125 segundos
digitalWrite (LEDC, LOW); // Apagar el led C
digitalWrite (LEDD, HIGH); // Encender el led D
delay (TIEMPO); // Esperar 0.125 segundos
digitalWrite (LEDD, LOW); // Apagar el led D
digitalWrite (LEDE, HIGH); // Encender el led E
delay (TIEMPO); // Esperar 0.125 segundos
digitalWrite (LEDE, LOW); // Apagar el led E
}

// Ejemplo 3: encender o apagar un led dependiendo del estado de un pulsador.
#define LED 4
#define PULSADOR 7
void setup()
{
pinMode(LED, OUTPUT); // Definir el pin 4 como salida
pinMode(PULSADOR, INPUT); // Definir el pin 7 como entrada
}
void loop()
{
if (digitalRead(PULSADOR)==HIGH) //Comparar el estado que se lee en el pin del pulsador
{
digitalWrite(LED,HIGH); // Si se cumple la condición enciende el led
}
else
{
digitalWrite(LED,LOW); // Si no se cumple la condición apaga el led
}
}

// Ejemplo 4: Semáforo peatones y vehículos con pulsador
#define C_ROJO 13
#define C_AMBAR 5
#define C_VERDE 9
#define P_ROJO 11
#define P_VERDE 7
#define PULSADOR 3
void setup()
{
pinMode(C_ROJO, OUTPUT); // Definir el pin 13 como salida
pinMode(C_AMBAR, OUTPUT); // Definir el pin 5 como salida
pinMode(C_VERDE, OUTPUT); // Definir el pin 9 como salida
pinMode(P_ROJO, OUTPUT); // Definir el pin 11 como salida
pinMode(P_VERDE, OUTPUT); // Definir el pin 7 como salida
pinMode(PULSADOR, INPUT); // Definir el pin 3 como entrada
}
void loop()
{
digitalWrite(P_ROJO, HIGH); // Vehículos circulan y los peatones esperan en rojo hasta que se pulse
digitalWrite(C_VERDE, HIGH);
while (digitalRead(PULSADOR) == LOW);
delay(1000);
digitalWrite (C_VERDE, LOW); //Vehículos en ámbar
digitalWrite(C_AMBAR, HIGH);
delay(1000);
digitalWrite (C_AMBAR, LOW); //Vehículos en rojo
digitalWrite(C_ROJO, HIGH);
delay(500);
digitalWrite (P_VERDE, HIGH); //Peatones en verde mientras los vehículos esperan en rojo
delay(2000);
for (int x = 0; x < 5; x++) //Parpadea el semáforo verde de los peatones cinco veces
{
digitalWrite(P_VERDE, HIGH);
delay(250);
digitalWrite(P_VERDE, LOW);
delay(250);
}
digitalWrite(P_ROJO, HIGH); //Ambos semáforos en rojo para no atropellar a los peatones lentos
delay(500);
}

// Ejemplo 5: encender el led verde o el rojo dependiendo de si el valor del potenciómetro es menor o mayor de 512
#define POT A5
#define LEDA 7
#define LEDB 4
int lectura_pot = 0;
void setup()
{
pinMode(LEDA, OUTPUT); // Definir el pin 7 como salida
pinMode(LEDB, OUTPUT); // Definir el pin 4 como salida
}
void loop()
{
lectura_pot = analogRead(POT); //Guardar el valor leido en el pin A5 en una variable
if (lectura_pot >= 512) // Comparar la lectura del potenciómetro con un valor de corte
{
digitalWrite(LEDA, HIGH);
digitalWrite(LEDB, LOW);
}
else
{
digitalWrite(LEDB, HIGH);
digitalWrite(LEDA, LOW);
}
}

// Ejemplo 6: controlar el brillo de un led con la LDR.
#define LDR A5
#define LED 6
int lectura_ldr = 0;
int brillo = 0;
void setup()
{
pinMode(LED, OUTPUT);
}
void loop()
{
lectura_ldr = analogRead(LDR); //Guardar el valor leido en el pin A5 en una variable
brillo = map(lectura_ldr, 0, 1023, 0, 255); //Convertir el valor a un rango de 0 a 255
analogWrite(LED, brillo);
}

// Ejemplo 7: dos pulsadores activan tonos diferentes en el zumbador
#define PULSADORB 7
#define PULSADORC 4
#define ZUMBADOR 11
void setup()
{
pinMode(PULSADORB, INPUT);
pinMode(PULSADORC, INPUT);
pinMode(ZUMBADOR, OUTPUT);
tone(ZUMBADOR, 293); //Nota RE
delay(200);
tone(ZUMBADOR, 440); //Nota LA
delay(200);
noTone(ZUMBADOR);
}
void loop()
{
if (digitalRead(PULSADORB) == HIGH)
{
tone(ZUMBADOR, 659); //Nota MI
}
else
{
if (digitalRead(PULSADORC) == HIGH)
{
tone(ZUMBADOR, 392); //Nota SOL
}
else
{
noTone(ZUMBADOR);
}
}
}

// Ejemplo 8: medir temperatura y mostrarla en el monitor serie
#define TEMP A5
float temperatura = 0, medida_sensor = 0, voltaje = 0;
void setup()
{
Serial.begin(9600);
}
void loop()
{
medida_sensor = analogRead(TEMP); //Actualizamos el valor del sensor de temperatura
voltaje = medida_sensor * 5 / 1024; //convierte cuentas a voltios
temperatura = (voltaje * 100) - 50; //convierte de voltios a grados Cº
Serial.print("La temperatura actual es: ");
Serial.print(temperatura);
Serial.println(" grados");
delay(500);
}

// Ejemplo 9: 8 colores con el led RGB y la librería de Neopixel
#include <Adafruit_NeoPixel.h>
#define PIN_RGB 6 //Pin del rgb
Adafruit_NeoPixel rgb(1, PIN_RGB, NEO_GRB + NEO_KHZ400); //Configura 1 pixel RGB
void setup()
{
rgb.begin();
}
void loop()
{
rgb.setPixelColor(0, rgb.Color(255, 0, 0)); //Muestra el color rojo
rgb.show();
delay(2000);
rgb.setPixelColor(0, rgb.Color(0, 255, 0)); //Muestra el color verde
rgb.show();
delay(2000);
rgb.setPixelColor(0, rgb.Color(0, 0, 255)); //Muestra el color azul
rgb.show();
delay(2000);
rgb.setPixelColor(0, rgb.Color(255, 255, 0)); //Muestra el color amarillo
rgb.show();
delay(2000);
rgb.setPixelColor(0, rgb.Color(255, 0, 255)); //Muestra el color magenta
rgb.show();
delay(2000);
rgb.setPixelColor(0, rgb.Color(0, 255, 255)); //Muestra el color cian
rgb.show();
delay(2000);
rgb.setPixelColor(0, rgb.Color(255, 255, 255)); //Muestra el color blanco
rgb.show();
delay(2000);
rgb.clear(); //Apaga el RGB
rgb.show();
delay(2000);
}

// Ejemplo 10: medir distancia con el HC SR04 y variar la frecuencia de pitido de un zumbador
#define PIN_US 7 //Pin del ultrasonido
#define ZUMBADOR 4 //Pin del zumbador
float tiempo; //Variable para guardar el tiempo
float distancia; //Variable para guardar la distancia
void setup()
{
pinMode(ZUMBADOR,OUTPUT); //Configuramos el zumbador como salida
}
void loop()
{
pinMode(PIN_US,OUTPUT); //Configuramos el pin como salida
digitalWrite(PIN_US,LOW);
delayMicroseconds(5);
digitalWrite(PIN_US,HIGH); //Emitimos un echo por el ultrasonidos
delayMicroseconds(10);
digitalWrite(PIN_US,LOW);
//Medimos el tiempo que tarda el sonido en ir y volver
pinMode(PIN_US,INPUT); //Cambiamos el pin a entrada
tiempo = pulseIn(PIN_US,HIGH);
//Calculamos la distancia en cm
distancia = tiempo/58;
//Cambiamos la frecuencia del pitido en funcion de la distancia
tone(ZUMBADOR,440);
delay(map(distancia,0,255,50,1000)); //La espera va desde los 50 ms a 1s
noTone(ZUMBADOR);
delay(map(distancia,0,255,50,1000));
}
Compluino Modular es un nuevo conjunto de sensores y actuadores que se conectan directamente con un único cable de tres pines con la placa Compluino UNO.
Compluino Modular simplifica los procesos de prototipado electrónico permitiendo que el alumno se pueda centrar más en la resolución de problemas relacionados con la algoritmia y la programación.
Se basa en la placa controladora Compluino UNO. Compluino es la versión mejorada de la placa Arduino UNO original, realizada por Complubot. Compluino dispone de un conjunto adicional de pines de entrada salida que facilitan el conexionado de módulos sensores y actuadores, algo fundamental para realizar proyectos de forma sencilla y estable.
Este kit incluye los siguientes materiales:

// Ejemplo 1: parpadeo de dos ledes rojos.
#define LEDA 7
#define LEDB 4
void setup()
{
pinMode(LEDA, OUTPUT); // Definir el pin 7 como salida.
pinMode(LEDB, OUTPUT); // Definir el pin 4 como salida.
}
void loop()
{
digitalWrite (LEDA, HIGH); // Encender el led A
digitalWrite (LEDB, HIGH); // Encender el led B
delay (2000); // Esperar dos segundos
digitalWrite (LEDA, LOW); // Apagar el led A
digitalWrite (LEDB, LOW); // Apagar el led B
delay (2000); // Esperar dos segundos
}

// Ejemplo 2: iluminación secuencial de cinco ledes.
#define LEDA 11
#define LEDB 9
#define LEDC 7
#define LEDD 5
#define LEDE 3
#define TIEMPO 125
void setup()
{
pinMode(LEDA, OUTPUT); // Definir el pin 11 como salida
pinMode(LEDB, OUTPUT); // Definir el pin 9 como salida
pinMode(LEDC, OUTPUT); // Definir el pin 7 como salida
pinMode(LEDD, OUTPUT); // Definir el pin 5 como salida
pinMode(LEDE, OUTPUT); // Definir el pin 3 como salida
}
void loop()
{
digitalWrite (LEDA, HIGH); // Encender el led A
delay (TIEMPO); // Esperar 0.125 segundos
digitalWrite (LEDA, LOW); // Apagar el led A
digitalWrite (LEDB, HIGH); // Encender el led B
delay (TIEMPO); // Esperar 0.125 segundos
digitalWrite (LEDB, LOW); // Apagar el led B
digitalWrite (LEDC, HIGH); // Encender el led C
delay (TIEMPO); // Esperar 0.125 segundos
digitalWrite (LEDC, LOW); // Apagar el led C
digitalWrite (LEDD, HIGH); // Encender el led D
delay (TIEMPO); // Esperar 0.125 segundos
digitalWrite (LEDD, LOW); // Apagar el led D
digitalWrite (LEDE, HIGH); // Encender el led E
delay (TIEMPO); // Esperar 0.125 segundos
digitalWrite (LEDE, LOW); // Apagar el led E
}

// Ejemplo 3: encender o apagar un led dependiendo del estado de un pulsador.
#define LED 4
#define PULSADOR 7
void setup()
{
pinMode(LED, OUTPUT); // Definir el pin 4 como salida
pinMode(PULSADOR, INPUT); // Definir el pin 7 como entrada
}
void loop()
{
if (digitalRead(PULSADOR)==HIGH) //Comparar el estado que se lee en el pin del pulsador
{
digitalWrite(LED,HIGH); // Si se cumple la condición enciende el led
}
else
{
digitalWrite(LED,LOW); // Si no se cumple la condición apaga el led
}
}

// Ejemplo 4: Semáforo peatones y vehículos con pulsador
#define C_ROJO 13
#define C_AMBAR 5
#define C_VERDE 9
#define P_ROJO 11
#define P_VERDE 7
#define PULSADOR 3
void setup()
{
pinMode(C_ROJO, OUTPUT); // Definir el pin 13 como salida
pinMode(C_AMBAR, OUTPUT); // Definir el pin 5 como salida
pinMode(C_VERDE, OUTPUT); // Definir el pin 9 como salida
pinMode(P_ROJO, OUTPUT); // Definir el pin 11 como salida
pinMode(P_VERDE, OUTPUT); // Definir el pin 7 como salida
pinMode(PULSADOR, INPUT); // Definir el pin 3 como entrada
}
void loop()
{
digitalWrite(P_ROJO, HIGH); // Vehículos circulan y los peatones esperan en rojo hasta que se pulse
digitalWrite(C_VERDE, HIGH);
while (digitalRead(PULSADOR) == LOW);
delay(1000);
digitalWrite (C_VERDE, LOW); //Vehículos en ámbar
digitalWrite(C_AMBAR, HIGH);
delay(1000);
digitalWrite (C_AMBAR, LOW); //Vehículos en rojo
digitalWrite(C_ROJO, HIGH);
delay(500);
digitalWrite (P_VERDE, HIGH); //Peatones en verde mientras los vehículos esperan en rojo
delay(2000);
for (int x = 0; x < 5; x++) //Parpadea el semáforo verde de los peatones cinco veces
{
digitalWrite(P_VERDE, HIGH);
delay(250);
digitalWrite(P_VERDE, LOW);
delay(250);
}
digitalWrite(P_ROJO, HIGH); //Ambos semáforos en rojo para no atropellar a los peatones lentos
delay(500);
}

// Ejemplo 5: encender el led verde o el rojo dependiendo de si el valor del potenciómetro es menor o mayor de 512
#define POT A5
#define LEDA 7
#define LEDB 4
int lectura_pot = 0;
void setup()
{
pinMode(LEDA, OUTPUT); // Definir el pin 7 como salida
pinMode(LEDB, OUTPUT); // Definir el pin 4 como salida
}
void loop()
{
lectura_pot = analogRead(POT); //Guardar el valor leido en el pin A5 en una variable
if (lectura_pot >= 512) // Comparar la lectura del potenciómetro con un valor de corte
{
digitalWrite(LEDA, HIGH);
digitalWrite(LEDB, LOW);
}
else
{
digitalWrite(LEDB, HIGH);
digitalWrite(LEDA, LOW);
}
}

// Ejemplo 6: controlar el brillo de un led con la LDR.
#define LDR A5
#define LED 6
int lectura_ldr = 0;
int brillo = 0;
void setup()
{
pinMode(LED, OUTPUT);
}
void loop()
{
lectura_ldr = analogRead(LDR); //Guardar el valor leido en el pin A5 en una variable
brillo = map(lectura_ldr, 0, 1023, 0, 255); //Convertir el valor a un rango de 0 a 255
analogWrite(LED, brillo);
}

// Ejemplo 7: dos pulsadores activan tonos diferentes en el zumbador
#define PULSADORB 7
#define PULSADORC 4
#define ZUMBADOR 11
void setup()
{
pinMode(PULSADORB, INPUT);
pinMode(PULSADORC, INPUT);
pinMode(ZUMBADOR, OUTPUT);
tone(ZUMBADOR, 293); //Nota RE
delay(200);
tone(ZUMBADOR, 440); //Nota LA
delay(200);
noTone(ZUMBADOR);
}
void loop()
{
if (digitalRead(PULSADORB) == HIGH)
{
tone(ZUMBADOR, 659); //Nota MI
}
else
{
if (digitalRead(PULSADORC) == HIGH)
{
tone(ZUMBADOR, 392); //Nota SOL
}
else
{
noTone(ZUMBADOR);
}
}
}

// Ejemplo 8: medir temperatura y mostrarla en el monitor serie
#define TEMP A5
float temperatura = 0, medida_sensor = 0, voltaje = 0;
void setup()
{
Serial.begin(9600);
}
void loop()
{
medida_sensor = analogRead(TEMP); //Actualizamos el valor del sensor de temperatura
voltaje = medida_sensor * 5 / 1024; //convierte cuentas a voltios
temperatura = (voltaje * 100) - 50; //convierte de voltios a grados Cº
Serial.print("La temperatura actual es: ");
Serial.print(temperatura);
Serial.println(" grados");
delay(500);
}

// Ejemplo 9: 8 colores con el led RGB y la librería de Neopixel
#include <Adafruit_NeoPixel.h>
#define PIN_RGB 6 //Pin del rgb
Adafruit_NeoPixel rgb(1, PIN_RGB, NEO_GRB + NEO_KHZ400); //Configura 1 pixel RGB
void setup()
{
rgb.begin();
}
void loop()
{
rgb.setPixelColor(0, rgb.Color(255, 0, 0)); //Muestra el color rojo
rgb.show();
delay(2000);
rgb.setPixelColor(0, rgb.Color(0, 255, 0)); //Muestra el color verde
rgb.show();
delay(2000);
rgb.setPixelColor(0, rgb.Color(0, 0, 255)); //Muestra el color azul
rgb.show();
delay(2000);
rgb.setPixelColor(0, rgb.Color(255, 255, 0)); //Muestra el color amarillo
rgb.show();
delay(2000);
rgb.setPixelColor(0, rgb.Color(255, 0, 255)); //Muestra el color magenta
rgb.show();
delay(2000);
rgb.setPixelColor(0, rgb.Color(0, 255, 255)); //Muestra el color cian
rgb.show();
delay(2000);
rgb.setPixelColor(0, rgb.Color(255, 255, 255)); //Muestra el color blanco
rgb.show();
delay(2000);
rgb.clear(); //Apaga el RGB
rgb.show();
delay(2000);
}

// Ejemplo 10: medir distancia con el HC SR04 y variar la frecuencia de pitido de un zumbador
#define PIN_US 7 //Pin del ultrasonido
#define ZUMBADOR 4 //Pin del zumbador
float tiempo; //Variable para guardar el tiempo
float distancia; //Variable para guardar la distancia
void setup()
{
pinMode(ZUMBADOR,OUTPUT); //Configuramos el zumbador como salida
}
void loop()
{
pinMode(PIN_US,OUTPUT); //Configuramos el pin como salida
digitalWrite(PIN_US,LOW);
delayMicroseconds(5);
digitalWrite(PIN_US,HIGH); //Emitimos un echo por el ultrasonidos
delayMicroseconds(10);
digitalWrite(PIN_US,LOW);
//Medimos el tiempo que tarda el sonido en ir y volver
pinMode(PIN_US,INPUT); //Cambiamos el pin a entrada
tiempo = pulseIn(PIN_US,HIGH);
//Calculamos la distancia en cm
distancia = tiempo/58;
//Cambiamos la frecuencia del pitido en funcion de la distancia
tone(ZUMBADOR,440);
delay(map(distancia,0,255,50,1000)); //La espera va desde los 50 ms a 1s
noTone(ZUMBADOR);
delay(map(distancia,0,255,50,1000));
}



