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 109 110 111 112 113 114 115
|
#include <IRremote.h>
#define TEMPS_UP_DOWN 18500
#define TEMPS_VERT_HORIZ 12200
#define TEMPS_TEMPO 1000
int pinTURNH = 2, pinTURNAH = 4; //TURNH : Rotation du plateau sens horaire - TURNAH : Rotation du plateau sens anti-horaire
int pinUP = 7, pinDOWN = 8; //UP : Monte le plateau - DOWN : descend le plateau
int RECV_PIN = 11;
IRrecv irrecv(RECV_PIN);
decode_results results;
/* Les modes
Mode 1 : Table -> Présentation
Mode 2 : Présentation -> Table
Les Actions
Action 1 : UP
Action 2 : DOWN
Action 3 : TURNH
Action 4 : TURNAH
*/
void setup()
{
Serial.begin(9600);
irrecv.enableIRIn(); // Initialise le recepteur IR
pinMode(pinTURNH, OUTPUT);
pinMode(pinTURNAH, OUTPUT);
pinMode(pinUP, OUTPUT);
pinMode(pinDOWN, OUTPUT);
digitalWrite(pinTURNH, LOW);
digitalWrite(pinTURNAH, LOW);
digitalWrite(pinUP, LOW);
digitalWrite(pinDOWN, LOW);
}
void loop() {
Serial.println("Dans quelle position souhaitez-vous regler la table ? :");
Serial.println("- Mode 1 : Mode presentation");
Serial.println("- Mode 2 : Mode Table");
digitalWrite(pinTURNH, LOW);digitalWrite(pinTURNAH, LOW);digitalWrite(pinUP, LOW);digitalWrite(pinDOWN, LOW);
if (irrecv.decode(&results))
{
Serial.println(results.value); //affiche la valeur envoyer par la telecommande
irrecv.resume(); // Recoit la valeur suivante
}
if (results.value == 16724175) //16724175 est la valeur entière reçu par la console lors de l'appui sur le bouton 1 de la télécommande
{ // Mode 1 : Table -> Présentation
digitalWrite(pinUP, HIGH);
delay(TEMPS_UP_DOWN);
digitalWrite(pinUP, LOW);
delay(TEMPS_TEMPO);
digitalWrite(pinTURNH, HIGH);
delay(TEMPS_VERT_HORIZ);
digitalWrite(pinTURNH, LOW);
Serial.println("Position Presentation");
results.value =0;
}
if (results.value == 16718055)
{ // Mode 2 : Présentation -> Table
digitalWrite(pinTURNAH, HIGH);
delay(TEMPS_VERT_HORIZ);
digitalWrite(pinTURNAH, LOW);
delay(TEMPS_TEMPO);
digitalWrite(pinDOWN, HIGH);
delay(TEMPS_UP_DOWN);
digitalWrite(pinDOWN, LOW);
Serial.println("Position Table");
results.value =0;
}
////////////////////////////commandes direct/////////////////////////////////////////
if (results.value == 16712445){
digitalWrite(pinUP, HIGH);
delay(TEMPS_UP_DOWN);
results.value =0;}
if (results.value == 16720605){
digitalWrite(pinDOWN, HIGH);
delay(TEMPS_UP_DOWN);
results.value =0;}
if (results.value == 16754775){
digitalWrite(pinTURNH, HIGH);
delay(TEMPS_VERT_HORIZ);
results.value =0;}
if (results.value == 16769055){
digitalWrite(pinTURNAH, HIGH);
delay(TEMPS_VERT_HORIZ);
results.value =0;}
delay(500);
} |
Partager