Advertisement
Ollivier

RoverRF433-Em

Jul 13th, 2020
57
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 5.45 KB | None | 0 0
  1. #include <RCSwitch.h>
  2.  
  3. // Création de l'émetteur
  4. //
  5. RCSwitch mySwitch = RCSwitch();
  6. // -----     -----     -----     -----     -----     -----    
  7.  
  8. // Création, définition et valeurs
  9. // des variables relatives au potentiomètre de contrôle de la tourelle
  10. int brochePotentiometre = 1;
  11. int valeurPotentiometre = 0;
  12. int valeurPotentiometreMemoire = 0;
  13. // -----     -----     -----     -----     -----     -----    
  14.  
  15. // Création, définition et valeurs
  16. // des variables relatives au potentiomètre de contrôle de la pince
  17. int brochePotPince = 0;
  18. int valeurPotPince = 0;
  19. int valeurPotPinceMemoire = 0;
  20. // -----     -----     -----     -----     -----     -----    
  21.  
  22. // Création, définition et valeurs
  23. // des variables relatives au potentiomètre de contrôle du moteur droit
  24. const int PM2 = 2;
  25. int vitesseMoteurDroit;
  26. int vitesseMoteurDroitMemoire;
  27. // -----     -----     -----     -----     -----     -----    
  28.  
  29. // Création, définition et valeurs
  30. // des variables relatives au potentiomètre de contrôle du moteur gauche
  31. const int PM1 = 3;
  32. int vitesseMoteurGauche;
  33. int vitesseMoteurGaucheMemoire;
  34. // -----     -----     -----     -----     -----     -----    
  35.  
  36. // Définition de la valeur à partir de laquelle
  37. // on va actionner les moteurs
  38. int seuilMoteur = 30;
  39. // -----     -----     -----     -----     -----     -----    
  40.  
  41. // temporisation
  42. // (ne sert pas actuellement)
  43. long temporisation;
  44. // -----     -----     -----     -----     -----     -----    
  45.  
  46. // Création, définition et valeurs
  47. // des variables relatives au Projecteur
  48. bool etatOeil = 0;
  49. bool etatBoutonOeil = 0;
  50. // -----     -----     -----     -----     -----     -----    
  51.  
  52. // Création, définition et valeurs
  53. // des variables relatives aux Feux rouges
  54. bool etatFArr = 0;
  55. bool etatBoutonFArr = 0;
  56. // -----     -----     -----     -----     -----     -----    
  57.  
  58. // Création, définition et valeurs
  59. // des variables relatives au buzzer
  60. bool etatBoutonBuzz = 0;
  61. // -----     -----     -----     -----     -----     -----    
  62.  
  63. // Création, définition et position des boutons-poussoirs
  64. //
  65. int boutonOeil = 7;     // pin de connexion du bouton du projecteur
  66. int boutonFArr = 8;     // pin de connexion du bouton des phares rouges et blancs
  67. int boutonBuzz = 13;    // pin de connexion du bouton du buzzer
  68. // -----     -----     -----     -----     -----     -----    
  69.  
  70. void setup() {
  71.   // Initialisation de la communication avec l'ordi pour les debugs
  72.   //
  73.   Serial.begin(115200);
  74.   // -----     -----     -----     -----     -----     -----    
  75.  
  76.   // Initialisation de l'émetteur
  77.   //
  78.   mySwitch.enableTransmit(10);    // emetteur broche 10
  79.   mySwitch.setPulseLength(170);   // temps de transmission
  80.   mySwitch.setRepeatTransmit(22); // nombre de répétition
  81.   // -----     -----     -----     -----     -----     -----    
  82.  
  83.   // Initialisation des boutons de contrôle
  84.   //
  85.   pinMode(boutonOeil, INPUT);     // Initialisation du bouton du projecteur
  86.   pinMode(boutonFArr, INPUT);     // Initialisation du bouton des Phares
  87.   pinMode(boutonBuzz, INPUT);     // Initialisation du bouton dy buzzer
  88.   // -----     -----     -----     -----     -----     -----    
  89.  
  90.   // Initialisation de la temporisation (ne sert pas actuellement)
  91.   //
  92.   temporisation = millis();
  93.   // -----     -----     -----     -----     -----     -----    
  94. }
  95.  
  96. void loop() {
  97.  
  98.   // Gestion et contrôle des moteurs
  99.   //
  100.   vitesseMoteurDroit = map (analogRead (PM1), 0, 1023, -125, 255);
  101.   vitesseMoteurGauche = map (analogRead (PM2), 0, 1023, -125, 255);
  102.  
  103.   if (vitesseMoteurDroit != vitesseMoteurDroitMemoire){
  104.     mySwitch.send((vitesseMoteurDroit + 4125), 24);
  105.     vitesseMoteurDroitMemoire = vitesseMoteurDroit;
  106.   }
  107.   if (vitesseMoteurGauche != vitesseMoteurGaucheMemoire){
  108.     mySwitch.send((vitesseMoteurGauche + 5125), 24);
  109.     vitesseMoteurGaucheMemoire = vitesseMoteurGauche;
  110.   }
  111.  
  112.   // -----     -----     -----     -----     -----     -----    
  113.  
  114.   // Gestion du projecteur
  115.   //
  116.   etatBoutonOeil = digitalRead(boutonOeil);     // Récupération de la valeur du bouton du contrôle du projecteur
  117.   if (etatBoutonOeil == 1) {                    // Si la valeur du bouton est "1"
  118.     mySwitch.send(2001, 24);                    // on transmet la valeur "2001"
  119.   }
  120.   // -----     -----     -----     -----     -----     -----    
  121.  
  122.   //Gestion des feux rouges et blancs
  123.   //
  124.   etatBoutonFArr = digitalRead(boutonFArr);
  125.   if (etatBoutonFArr == 1) {
  126.     mySwitch.send(2002, 24);
  127.   }
  128.   // -----     -----     -----     -----     -----     -----    
  129.  
  130.   // Gestion du buzzer
  131.   //
  132.   etatBoutonBuzz = digitalRead(boutonBuzz);
  133.   if (etatBoutonBuzz == 1) {
  134.     mySwitch.send(2003, 24);
  135.   }
  136.   // -----     -----     -----     -----     -----     -----    
  137.  
  138.   // Gestion et contrôle de la tourelle
  139.   //
  140.   valeurPotentiometre = map(analogRead (brochePotentiometre), 0, 1023, 45, 105);
  141.   if (abs(valeurPotentiometre - valeurPotentiometreMemoire) > 5) {
  142.     valeurPotentiometreMemoire = valeurPotentiometre;
  143.     mySwitch.send((valeurPotentiometre + 3000), 24);
  144.   }
  145.   // -----     -----     -----     -----     -----     -----    
  146.  
  147.   // Gestion et contrôle de la pince
  148.   valeurPotPince = map(analogRead (brochePotPince), 0, 1023, 0, 90);
  149.   if (abs(valeurPotPince - valeurPotPinceMemoire) > 5) {
  150.     valeurPotPinceMemoire = valeurPotPince;
  151.     mySwitch.send((valeurPotPince + 1000), 24);
  152.   }
  153.   // -----     -----     -----     -----     -----     -----    
  154.  
  155. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement