Advertisement
claudiusmarius

Optical sensor tester

Dec 28th, 2020
266
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 4.30 KB | None | 0 0
  1.   //===========================================================================================================================
  2.   //                                                                Claude DUFOURMONT
  3.   //--------------------------------------------------------- [email protected] -----------------------------------
  4.   //                  My YouTube : https://www.youtube.com/channel/UCvr9eb05lJow6N7m3SKqvNw
  5.   //    DUFOURMONT Le  : 28/12/2020
  6.   //    Ce système à pour but de déterminer le bon fonctionnement de capteurs optiques (phototransistors - LDR)
  7.   //    Il permet également de connaître leur caractéristique intrinsèque au moment du basculement
  8.   //    (Ic pour le phototransistor - résistance pour la LDR)
  9.   //===========================================================================================================================
  10.  
  11.  
  12.                               //>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  13.                               //                           Code écrit pour ATtiny85                           >
  14.                               //>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  15.  
  16.   #include <Adafruit_NeoPixel.h>
  17.   #define BrocheDetectionOk             1                         //  Lumière détectée                  : LED bleue
  18.   #define PINBarette                    0                         // Sortie vers DIN de la barette
  19.   #define BrocheBuzzer                  2
  20.   #define NUM_LEDS                      8                         // Nombre de LEDs sur barette
  21.   #define FirstLed                      0                         // Position de la première LED à allumer
  22.   #define N                             8                                    // Nombre de LEDS à allumer
  23.   Adafruit_NeoPixel strip = Adafruit_NeoPixel(NUM_LEDS, PINBarette, NEO_GRB + NEO_KHZ800);
  24.                                                    
  25.   float ValDetecteur;                                            // Valeur analogique sur entrée analogique A2 (résultante capteur)
  26.   float ValPotar;                                                // Valeur analogique sur entrée analogique A3 (seuil variable)
  27.  
  28.   void setup()
  29.   {
  30.   strip.begin();
  31.   strip.clear();
  32.   strip.setBrightness(255);                                       // Brillance maximale (255)
  33.   strip.show();
  34.   pinMode (PINBarette, OUTPUT);
  35.   pinMode (BrocheDetectionOk, OUTPUT);
  36.   pinMode (BrocheBuzzer, OUTPUT);
  37.   digitalWrite (BrocheDetectionOk, LOW);
  38.   delay(1000);
  39.   }
  40.  
  41.   void loop ()
  42.   {
  43.   for(int i=FirstLed; i<FirstLed+N; i=i+2)                                                          
  44.   {
  45.   strip.setPixelColor(i, 255, 255, 255);
  46.   strip.show();                                                   // Alumage des LEDs de FirstLed à N (une sur deux)
  47.   }
  48.   // +++++++++++++++++++++++++++++++++++++++++++++++++++++++Détection DEBUT++++++++++++++++++++++++++++++++++++++++++++++++++++++
  49.   delay(5);
  50.   ValDetecteur = analogRead (A2);
  51.   ValPotar = analogRead (A3);
  52.   if   ( ValDetecteur > ValPotar)
  53.   {
  54.   digitalWrite (BrocheDetectionOk, HIGH);
  55.   Buzzer (100, 25, 1);
  56.   }
  57.   else
  58.   {
  59.   digitalWrite (BrocheDetectionOk, LOW);  
  60.   }
  61.   // +++++++++++++++++++++++++++++++++++++++++++++++++++++++Détection FIN+++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  62.  
  63.   }
  64.  
  65.   //++++++++++++++++++++++++++++++++++++++++++++++++++DEBUT FONCTION BUZZER+++++++++++++++++++++++++++++++++++++++++++++++++++++++
  66.   void Buzzer (int TempsH, int TempsL, int nb)  // TempsH => délai buzzer ON, TempsL => délai buzzer OFF, nb => nombre de bips
  67.   {
  68.   for (int x = 1; x <= nb; x++)                 // Boucle le nombre de fois voulu passée par l'argument "int nb"
  69.   {
  70.   digitalWrite(BrocheBuzzer, HIGH);             // Active le buzzer
  71.   delay (TempsH);                               // Temporisation à  l'état haut du buzzer pendant la durée passée par l'argument "int TempsH"
  72.   digitalWrite(BrocheBuzzer, LOW);              // Désactive le buzzer
  73.   delay (TempsL);                               // Temporisation à  l'état bas du buzzer pendant la durée passée par l'argument "int TempsL"
  74.   }
  75.   }
  76.   //++++++++++++++++++++++++++++++++++++++++++++++++++FIN FONCTION BUZZER++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement