Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* TITULO: Composición de colores RGB con potenciómetros a través de Bluetooth - Arduino_Esclavo -
- AUTOR:
- MARIANO DEL CAMPO GARCÍA (@2017) --> INGENIERO TÉCNICO INDUSTRIAL ESPECIALIDAD ELECTRÓNICA
- - FACEBOOK: https://www.facebook.com/mariano.delcampogarcia
- - TWITTER: https://twitter.com/MarianoCampoGa
- - CORREO: marianodc83@gmail.com
- DESCRIPCIÓN DEL PROGRAMA
- Con este programa controlamos el color de un LED RGB, a través de Bluetooth, a medida que movamos
- el mando de los tres potenciómetros. Este es el programa del Arduino Esclavo, donde se incluye
- la adquisición de los 3 valores RGB a través de Bluetooth y su aplicación al LED RGB.
- ESQUEMA DE CONEXION
- +-----+
- +----[PWR]-------------------| USB |--+
- | +-----+ |
- | GND/RST2 [ ][ ] |
- | MOSI2/SCK2 [ ][ ] A5/SCL[ ] |
- | 5V/MISO2 [ ][ ] A4/SDA[ ] |
- | AREF[ ] |
- | GND[ ] |
- | [ ]N/C SCK/13[ ] |
- | [ ]IOREF MISO/12[ ] |
- | [ ]RST MOSI/11[ ]~| Pin "B" del módulo LED RGB
- | [ ]3V3 +---+ 10[ ]~| Pin "G" del módulo LED RGB
- | [ ]5v -| A |- 9[ ]~| Pin "R" del módulo LED RGB
- | [ ]GND -| R |- 8[ ] |
- | [ ]GND -| D |- |
- | [ ]Vin -| U |- 7[ ] | Pin RX del módulo Bluetooth HC-06
- | -| I |- 6[ ]~| Pin TX del módulo Bluetooth HC-06
- | [ ]A0 -| N |- 5[ ]~|
- | [ ]A1 -| O |- 4[ ] |
- | [ ]A2 +---+ INT1/3[ ]~|
- | [ ]A3 INT0/2[ ] |
- | [ ]A4/SDA RST SCK MISO TX>1[ ] |
- | [ ]A5/SCL [ ] [ ] [ ] RX<0[ ] |
- | [ ] [ ] [ ] |
- | UNO_R3 GND MOSI 5V ____________/
- \_______________________/
- NOTAS:
- - Pin "GND" del módulo LED RGB a "GND" de Arduino
- - Alimentación del módulo Bluetooth HC-06:
- - Pin +5V del módulo Bluetooth HC-06 --> +5V de Arduino.
- - Pin GND del módulo Bluetooth HC-06 --> GND de Arduino.
- */
- #include <SoftwareSerial.h>
- // Definimos el objeto para la comunicación serie (Bluetooth)
- SoftwareSerial BT(6,7); // 6 RX, 7 TX.
- int RGB[3] = {9, 10, 11}; // Pines digitales para el módulo LED RGB
- unsigned int Valor; // Variable que almacena el valor RGB recibido vía Bluetooth
- int i=0; // Variable para recorrer las posiciones de la matriz RGB[3]
- void setup()
- {
- // Comienzo de la comunicación con el módulo Bluetooth HC-06 (configurable mediante comandos AT)
- BT.begin(38400); // Velocidad de comunicación por defecto del módulo Bluetooth HC-06
- for(int j=0; j<3; j++)
- {
- pinMode(RGB[j], OUTPUT); // Pines digitales como SALIDAS
- }
- }
- void loop()
- {
- if(BT.available()) // Si hay datos procedentes de la comunicación Bluetooth dentro del buffer...
- {
- // Lee un entero y lo almacena en la variable valor (nunca superior a 255)
- Valor = BT.read();
- // Si no se ha recibido el valor final de la serie, que es 200.
- if(Valor!=200)
- {
- analogWrite(RGB[i], Valor*2); // Manda el valor del Brillo (PWM) al LED correspondiente
- // Aumentamos una posición en la matriz
- i++;
- }
- // Si se ha recibido el valor final de la serie
- else
- {
- // Se inicializa la posición en la matriz
- i=0;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement