// C++ code // Faire varié les couleurs de la LED RVB // int ir = 0;// rouge int iv = 0;//vert int ib = 0;//bleu int tempo1 = 0; int counter; void setup() { pinMode(3, OUTPUT); pinMode(5, OUTPUT); pinMode(6, OUTPUT); Serial.begin(9600); tempo1 = 400; } void loop() { ir = 0; iv = 0; ib = 0; while (!(ir == 255)) { analogWrite(3, ir); analogWrite(5, 0); analogWrite(6, 0); ir += (ir + 1); delay(tempo1); // Wait for tempo1 millisecond(s) } while (!(iv == 255)) { analogWrite(3, 0); analogWrite(5, iv); analogWrite(6, 0); iv += (iv + 1); delay(tempo1); // Wait for tempo1 millisecond(s) } while (!(ib == 255)) { analogWrite(3, 0); analogWrite(5, 0); analogWrite(6, ib); ib += (ib + 1); delay(tempo1); // Wait for tempo1 millisecond(s) } for (counter = 0; counter < 1; ++counter) { Serial.println("Rose"); ir += 255; iv += 0; ib += 255; analogWrite(3, ir); analogWrite(5, iv); analogWrite(6, ib); delay(4000); // Wait for 4000 millisecond(s) ir += 0; iv += 0; ib += 0; } }
#include <ChainableLED.h> #define PIN_CHAINABLE_LED_DIN_3 3 #define PIN_CHAINABLE_LED_CIN_2 2 #define CHAINABLE_LED_COUNT_2 1 ChainableLED RGBLed_2(PIN_CHAINABLE_LED_CIN_2, PIN_CHAINABLE_LED_DIN_3, CHAINABLE_LED_COUNT_2); int ir; int iv; int ib; void setup() { pinMode(PIN_CHAINABLE_LED_DIN_3, OUTPUT); pinMode(PIN_CHAINABLE_LED_CIN_2, OUTPUT); RGBLed_2.init(); } void loop() { ir = 0; iv = 0; ib = 0; int ir_inc = 1; if (ir > 255) { ir_inc = -ir_inc; } for (ir = ir; ir_inc >= 0 ? ir <= 255 : ir >= 255; ir += ir_inc) { RGBLed_2.setColorRGB(0, ir, iv, ib); delay(10); } ir = 0; iv = 0; ib = 0; int iv_inc = 1; if (iv > 255) { iv_inc = -iv_inc; } for (iv = iv; iv_inc >= 0 ? iv <= 255 : iv >= 255; iv += iv_inc) { RGBLed_2.setColorRGB(0, ir, iv, ib); delay(10); } ir = 0; iv = 0; ib = 0; int ib_inc = 1; if (ib > 255) { ib_inc = -ib_inc; } for (ib = ib; ib_inc >= 0 ? ib <= 255 : ib >= 255; ib += ib_inc) { RGBLed_2.setColorRGB(0, ir, iv, ib); delay(10); } }
int i; void setup() { pinMode(3, OUTPUT); pinMode(5, OUTPUT); pinMode(6, OUTPUT); analogWrite(3, 0); analogWrite(5, 0); analogWrite(6, 0); } void loop() { for (i = 0; i <= 255; i++) { analogWrite(3, i); delay(10); } analogWrite(3, 0); for (i = 0; i <= 255; i++) { analogWrite(5, i); delay(10); } analogWrite(5, 0); for (i = 0; i <= 255; i++) { analogWrite(6, i); delay(10); } analogWrite(6, 0); }
// C++ code // int i = 0; void setup() { pinMode(3, OUTPUT); i = 0; } void loop() { while (!(i == 255)) { analogWrite(3, i); delay(100); // Wait for 100 millisecond(s) i += (i + 1); } i += 0; }
/* Faire varier la vitesse du moteur en fonction de la position et donc de la valeur du potentiometre */ int motorPin = 3; // Controle de vitesse PWM vers la gate du Mofset int potarPin=0; // on branche un potentiomètre sur la PIn A0 int sensorValue=0; // la valeur entre 0 et 1023 déduite de la position du potentiomètre int outputValue=0; // la valeur entre 0 et 255 que l'on va utiliser pour régler la vitesse du moteur // Executee une seule fois void setup() { // initialiser la communication serie Serial.begin(19200); pinMode(motorPin, OUTPUT); // motorPin est utilisee en sortie } // executee en boucle void loop() { // lire la valeur en entrée de la Pin A0 sensorValue = analogRead(potarPin); // afficher sur le moniteur série la valeur lue, pas obligatoire mais toujours intéressant Serial.println(sensorValue); // conversion de la valeur sensorvalue (qui va de 0 à 1023) en une valeur entre 0 et 255, outputvalue outputValue = map(sensorValue, 0, 1023, 0, 255); // outputvalue permet de controler la vitesse du moteur analogWrite(motorPin,outputValue ); // valeur de 0 à 255 delay(100); }
// Motor A connections int enA = 9; int in1 = 8; int in2 = 7; void setup() { // Set all the motor control pins to outputs pinMode(enA, OUTPUT); pinMode(in1, OUTPUT); pinMode(in2, OUTPUT); // Turn off motors - Initial state digitalWrite(in1, LOW); digitalWrite(in2, LOW); } void loop() { directionControl(); delay(1000); speedControl(); delay(1000); } // This function lets you control spinning direction of motors void directionControl() { // Set motors to maximum speed digitalWrite(enA, HIGH); // Turn on motor A digitalWrite(in1, HIGH); digitalWrite(in2, LOW); delay(2000); // Now change motor directions digitalWrite(in1, LOW); digitalWrite(in2, HIGH); delay(2000); // Turn off motors digitalWrite(in1, LOW); digitalWrite(in2, LOW); } // This function lets you control speed of the motors void speedControl() { // Turn on motors digitalWrite(in1, LOW); digitalWrite(in2, HIGH); // Accelerate from zero to maximum speed for (int i = 0; i < 256; i++) { analogWrite(enA, i); delay(20); } // Decelerate from maximum speed to zero for (int i = 255; i >= 0; --i) { analogWrite(enA, i); delay(20); } // Now turn off motors digitalWrite(in1, LOW); digitalWrite(in2, LOW); }