Guest User

Dataglove Arduino

a guest
Jun 5th, 2021
143
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // Code ESP32 Dataglove avec intérgation Bluetooth
  2.  
  3. /*
  4.   Lissage : moyenne glissante
  5.   source : https://github.com/RobTillaart/Arduino/tree/master/libraries/RunningAverage
  6. */
  7. #include "RunningAverage.h"   // Penser à installer la bibliothèque
  8. #include "BluetoothSerial.h"  //pour le bluetooth
  9. BluetoothSerial SerialBT;
  10.  
  11.  
  12. RunningAverage int_pouce(20);  // objet "Moyenne Glissante" avec nombre d'échantillons pour le calcul
  13. RunningAverage int_index(20);
  14. RunningAverage int_majeur(20);
  15. RunningAverage int_annulaire(20);
  16. RunningAverage int_auriculaire(20);
  17.  
  18. int compteur = 0;             // un compteur d'échantillons
  19. //float moyenne = 0;            // la moyenne glissante des échantillons
  20. int avg_pouce, avg_index,avg_majeur,avg_annulaire,avg_auriculaire = 0;
  21.  
  22. const int p_pouce = 26;       // pins correspondant aux valeurs des flexos
  23. const int p_index = 27;
  24. const int p_majeur = 14;
  25. const int p_annulaire = 12;
  26. const int p_auriculaire = 13;
  27.  
  28. int v_pouce,v_index,v_majeur,v_annulaire,v_auriculaire;
  29.  
  30.  
  31.  
  32. void setup(void)
  33. {
  34.   // Initialisation du port série
  35.   //Serial.begin(115200);
  36.   SerialBT.begin("Dataglove"); //"ESP32" est le nom qu'on donne à notre client
  37.   // Initialisation de l'objet "Moyenne Glissante"
  38.   //MoyGliss.clear();
  39.   int_pouce.clear();
  40.   int_index.clear();
  41.   int_majeur.clear();
  42.   int_annulaire.clear();
  43.   int_auriculaire.clear();
  44. }
  45. void loop()
  46. {
  47.   // Lecture du capteur
  48.   //int echantillon = analogRead(inputPin);
  49.  
  50.   v_pouce=analogRead(p_pouce);
  51.   v_index=analogRead(p_index);
  52.   v_majeur=analogRead(p_majeur);
  53.   v_annulaire=analogRead(p_annulaire);
  54.   v_auriculaire=analogRead(p_auriculaire);
  55.  
  56.   // Ajout de l'échantillon à l'objet "Moyenne Glissante"
  57.   //MoyGliss.addValue(echantillon);
  58.  
  59.   int_pouce.addValue(v_pouce);
  60.   int_index.addValue(v_index);
  61.   int_majeur.addValue(v_majeur);
  62.   int_annulaire.addValue(v_annulaire);
  63.   int_auriculaire.addValue(v_auriculaire);
  64.  
  65.   // Récupération de la moyenne glissante
  66.   //moyenne = MoyGliss.getAverage();
  67.   avg_pouce = int_pouce.getAverage();
  68.   avg_index = int_index.getAverage();
  69.   avg_majeur = int_majeur.getAverage();
  70.   avg_annulaire = int_annulaire.getAverage();
  71.   avg_auriculaire = int_auriculaire.getAverage();
  72.  
  73.  
  74.   // Incrémentation du compteur
  75.   compteur++;
  76.   // Effacement de l'historique pour éviter les débordements
  77.   if (compteur == 50)
  78.   {
  79.     compteur = 0;
  80.     int_pouce.clear();
  81.     int_index.clear();
  82.     int_majeur.clear();
  83.     int_annulaire.clear();
  84.     int_auriculaire.clear();
  85.   }
  86.  
  87. SerialBT.print(avg_pouce);
  88. SerialBT.print(",");
  89. SerialBT.print(avg_index);
  90. SerialBT.print(",");
  91. SerialBT.print(avg_majeur);
  92. SerialBT.print(",");
  93. SerialBT.print(avg_annulaire);
  94. SerialBT.print(",");
  95. SerialBT.println(avg_auriculaire);
  96.  
  97.  
  98. delay(5);
  99. }
Advertisement
Add Comment
Please, Sign In to add comment