Bonjour, on m'a donné un algorithme sous Arduino et je dois faire un algorigramme expliquant clairement le fonctionnement de cet algorithme. Cependant, j'ai du mal à comprendre cet algorithme donc je ne sais pas quoi mettre sur mon algorigramme.
Voilà le programme :
Le projet final étant de faire une interface de commande pour une lyre de spectacle. Si j'ai bien compris, ce programme a pour but de donner des instructions à la lyre (la faire pivoter, changer la couleur de la lumière projetée, la déplacer, etc) en fonction des caractères qu'elle recevra via un PC ou une application smartphone.Code:#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(); }
Quelqu'un pourrait-il m'aider ?
-----