1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108
| #include <SoftwareSerial.h>
#include <DmxSimple.h>
char cmd[4] = {'*','*','*','*'};
SoftwareSerial btSerial(6, 7);
int i,nb = 0;
void setup()
{
DmxSimple.usePin(3);
DmxSimple.maxChannel(6);
setupBlueToothConnection();
Serial.begin(9600);
Serial.print("DMX prêt !");
}
void loop()
{
//On récupère les caractères sur la liaison série PC
if (Serial.available())
{
nb=0;
for (i=0;i<4;i++)
{
if (Serial.available())
{
cmd[i] = Serial.read();
}
else
{
cmd[i] = '*';
}
}
for (i=1;i<4;i++)
{
if (cmd[i]!='*')
{
nb = 10*nb + (cmd[i]-'0');
}
}
}
Serial.flush();
// Ou on récupère les caractères sur la liaison série bluetooth
if (btSerial.available())
{
nb=0;
for (i=0;i<4;i++)
{
if (btSerial.available())
{
cmd[i] = btSerial.read();
}
else
{
cmd[i] = '*';
}
}
for (i=1;i<4;i++)
{
if (cmd[i]!='*')
{
nb = 10*nb + (cmd[i]-'0');
}
}
}
btSerial.flush();
if (nb>=0 and nb<=255)
{
Serial.println(cmd[0]);
Serial.println(nb);
//On traite les données pour le dmx
switch (cmd[0])
{
case 'C':
DmxSimple.write(3,nb);
delay(25);
break;
case 'G':
DmxSimple.write(2,nb);
delay(25);
break;
case 'P':
DmxSimple.write(4,nb);
delay(25);
break;
case 'T':
DmxSimple.write(5,nb);
delay(25);
break;
default :
break;
}
}
}
void setupBlueToothConnection()
{
btSerial.begin(38400); //Set BluetoothBee BaudRate to default baud rate
btSerial.print("\r\n+STWMOD=0\r\n"); //set the bluetooth work in slave mode
btSerial.print("\r\n+STNA=LLGBT\r\n"); //set the bluetooth name
btSerial.print("\r\n+STPIN=1234\r\n");//Set SLAVE pincode
btSerial.print("\r\n+STOAUT=1\r\n"); // Permit Paired device to connect me
btSerial.print("\r\n+STAUTO=0\r\n"); // Auto-connection should be forbidden here
delay(2000); // This delay is required
btSerial.print("\r\n+INQ=1\r\n"); //make the slave bluetooth inquirable
Serial.println("The slave bluetooth is inquirable!");
delay(2000); // This delay is required
btSerial.flush();
} |
Partager