/* Ce sketch reprend en partie les éléments de : Arduino Starter Kit example Project 4 - Color Mixing Lamp This sketch is written to accompany Project 3 in the Arduino Starter Kit Parts required: 1 RGB LED 3 220 ohm resistors Created 13 September 2012 Modified 14 November 2012 by Scott Fitzgerald Thanks to Federico Vanzati for improvements http://www.arduino.cc/starterKit This example code is part of the public domain Modifiée par Christophe BOBILLE - juin 2017 */ const int redLEDPin = 9; // LED connected to digital pin 9 const int greenLEDPin = 10; // LED connected to digital pin 10 const int blueLEDPin = 11; // LED connected to digital pin 11 int redValue; // value to write to the red LED int greenValue; // value to write to the green LED int blueValue; // value to write to the blue LED char msgString[12]; // Tableau qui va recevoir les caractères envoyés char response[24]; // Tableau qui va recevoir les caractères de la reponse // void process (char *msgString) { int r, v, b; sscanf(msgString, "%d%d%d", &r, &v, &b); analogWrite(redLEDPin, r); analogWrite(greenLEDPin, v); analogWrite(blueLEDPin, b); snprintf(response, sizeof(response), "%d - %d - %d\n", r, v, b); Serial.print(response); } void setup() { Serial.begin(115200); // set the digital pins as outputs pinMode(greenLEDPin, OUTPUT); pinMode(redLEDPin, OUTPUT); pinMode(blueLEDPin, OUTPUT); } void loop() { char c; while (Serial.available()) { c = Serial.read(); if (c == '<') { // Caractère délimiteur de début de message sprintf(msgString, ""); } else if (c == '>') { // Caractère délimiteur de fin de message process(msgString); } else { // Caractères du message sprintf(msgString, "%s%c", msgString, c); } } }