Advertisement
claudiusmarius

RingMeteoQrn02

Dec 8th, 2022
536
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 7.15 KB | None | 0 0
  1. #include <Adafruit_NeoPixel.h>
  2.   #define PIN 5
  3.   #define NombreLeds 32
  4.  
  5.   int SensDuVent;
  6.   int PositionLedSensDuVent;
  7.   int PositionLedSensDuVentOpp;
  8.  
  9.   int Val;
  10.  
  11.   bool CAS1 =LOW;
  12.   bool CAS2 =LOW;
  13.   bool CAS3 =LOW;
  14.   bool CAS4 =LOW;
  15.  
  16.   Adafruit_NeoPixel ring (NombreLeds, PIN, NEO_BGR + NEO_KHZ800);
  17.  
  18.   void setup()
  19.   {
  20.   ring.begin();
  21.   ring.clear();
  22.   ring.setBrightness(0);
  23.   ring.show();
  24.  
  25.   Serial.begin(9600);
  26.   }
  27.  
  28.   void loop()
  29.   {
  30.   Val = analogRead (A3);
  31.   delay (10);
  32.   if (Val >1023)
  33.   {
  34.   Val = 1023;
  35.   }
  36.   SensDuVent = (int) map(Val, 0, 1023, 0, 360);
  37.   PositionLedSensDuVent = (int)(NombreLeds*SensDuVent/360);
  38.  
  39.   //if (PositionLedSensDuVent == 32 || PositionLedSensDuVent == 0)
  40.  
  41.   if ( (0 < PositionLedSensDuVent +1 && PositionLedSensDuVent > 31) || (0 <= PositionLedSensDuVent <= 0))
  42.    
  43.   {
  44.   PositionLedSensDuVent = 0;
  45.   PositionLedSensDuVentOpp = 16;
  46.   CAS1 =HIGH;
  47.   CAS2 =LOW;
  48.   CAS3 =LOW;
  49.   CAS4 =LOW;
  50.   cas1();
  51.   }
  52.  
  53.   //if ( 0 < PositionLedSensDuVent < 16)
  54.  
  55.   if ( 0 < PositionLedSensDuVent && PositionLedSensDuVent < 16)
  56.  
  57.   {
  58.   PositionLedSensDuVentOpp = PositionLedSensDuVent + 16;
  59.   CAS1 =LOW;
  60.   CAS2 =HIGH;
  61.   CAS3 =LOW;
  62.   CAS4 =LOW;
  63.   cas2();
  64.   }
  65.  
  66.   //if (PositionLedSensDuVent == 16)
  67.   if (15 < PositionLedSensDuVent && PositionLedSensDuVent < 17)
  68.  
  69.   {
  70.   PositionLedSensDuVentOpp = 0;
  71.   CAS1 =LOW;
  72.   CAS2 =LOW;
  73.   CAS3 =HIGH;
  74.   CAS4 =LOW;
  75.   cas3();
  76.   }
  77.    
  78.   if (PositionLedSensDuVent > 16)
  79.   {
  80.   PositionLedSensDuVentOpp = PositionLedSensDuVent - 16;
  81.  
  82.   if (  15 < PositionLedSensDuVent && PositionLedSensDuVent < 17)
  83.   {
  84.   PositionLedSensDuVentOpp = 32;
  85.   }
  86.   if( 16 < PositionLedSensDuVent && PositionLedSensDuVent <= 31)
  87.   {
  88.   PositionLedSensDuVentOpp = PositionLedSensDuVent -16;  
  89.   }
  90.    
  91.   CAS1 =LOW;
  92.   CAS2 =LOW;
  93.   CAS3 =LOW;
  94.   CAS4 =HIGH;
  95.   cas4();
  96.   }
  97.  
  98.   delay (5);
  99.   Serial.print ("SensDuVent               =   ");
  100.   Serial.println (SensDuVent);
  101.   Serial.print (" ");
  102.  
  103.   Serial.print ("PositionLedSensDuVent               =   ");
  104.   Serial.println (PositionLedSensDuVent);
  105.   Serial.print (" ");
  106.  
  107.   Serial.print ("PositionLedSensDuVentOpp               =   ");
  108.   Serial.println (PositionLedSensDuVentOpp);
  109.   Serial.print (" ");
  110.   }
  111.  
  112.   void cas1 ()
  113.   {
  114. //+++++++++++++++++++++++++++++++CAS1+++++++++++++++++++++++++++++
  115.   if (CAS1 == HIGH)
  116.   {
  117.   delay (10);
  118.  
  119.   //CAS1 =HIGH;
  120.   CAS2 =LOW;
  121.   CAS3 =LOW;
  122.   CAS4 =LOW;
  123.  
  124.   ring.setBrightness (255);
  125.   ring.setPixelColor(PositionLedSensDuVent, 255, 0, 0);                                         //BLUE
  126.   ring.setPixelColor(PositionLedSensDuVentOpp, 0, 255, 0);                                      //RED
  127.   ring.show();
  128.  
  129.   for (int i = 1; i < PositionLedSensDuVentOpp; i++)
  130.   {
  131.   ring.setBrightness (255);
  132.   ring.setPixelColor(i, 0, 0, 2);                                                               //GREEN                                                            
  133.   ring.show();
  134.   }
  135.  
  136.   for (int i = PositionLedSensDuVentOpp+1; i < NombreLeds; i++)
  137.   {
  138.   ring.setBrightness (255);
  139.   ring.setPixelColor(i, 0, 0, 2);                                                             //GREEN
  140.   ring.show();
  141.   }
  142.   }
  143.   }
  144.  
  145.   void cas2 ()
  146.   {
  147.    //+++++++++++++++++++++++++++++++CAS2+++++++++++++++++++++++++++++
  148.   if (CAS2 == HIGH)
  149.   {
  150.   delay (10);
  151.   //PositionLedSensDuVentOpp =  ((int) PositionLedSensDuVent +(NombreLeds/2));
  152.   CAS1 =LOW;
  153.   //CAS2 =LOW;
  154.   CAS3 =LOW;
  155.   CAS4 =LOW;
  156.  
  157.  
  158.   ring.setBrightness (255);
  159.   ring.setPixelColor  (PositionLedSensDuVent, 255, 0, 0);
  160.   ring.setPixelColor  (PositionLedSensDuVentOpp, 0, 255, 0);
  161.   ring.show();
  162.  
  163.   for (int i = 0; i < PositionLedSensDuVent; i++)                                               // ******** De position zéro à position sens du vent -1 *******************
  164.   //for (int i < PositionLedSensDuVent; i++)
  165.   {
  166.   ring.setBrightness (255);
  167.   ring.setPixelColor(i, 0, 0, 2);
  168.   ring.show();
  169.   }
  170.  
  171.   for (int i = PositionLedSensDuVent+1; i < PositionLedSensDuVentOpp; i++)                      // ******** De position sens du vent +1 à position sens du vent Opposé -1 *******************
  172.   //for (int i > PositionLedSensDuVent; i < PositionLedSensDuVentOpp; i++)
  173.   {
  174.   ring.setBrightness (255);
  175.   ring.setPixelColor(i, 0, 0, 2);
  176.   ring.show();
  177.   }
  178.  
  179.   for (int i = PositionLedSensDuVentOpp+1; i < NombreLeds; i++)                      // ******** De position sens du vent Opposé +1 à nombre de leds -1 *******************
  180.   //for (int i > PositionLedSensDuVentOpp+; i < NombreLeds; i++)
  181.   {
  182.   ring.setBrightness (255);
  183.   ring.setPixelColor(i, 0, 0, 2);
  184.   ring.show();
  185.   }
  186.   }
  187.   }
  188.  
  189.   void cas3 ()
  190.   {
  191.  
  192.   //+++++++++++++++++++++++++++++++CAS3+++++++++++++++++++++++++++++
  193.   if (CAS3 == HIGH)
  194.   {
  195.   delay (10);
  196.   //int PositionLedSensDuVentOpp  =  0;
  197.   CAS1 =LOW;
  198.   CAS2 =LOW;
  199.   //CAS3 =LOW;
  200.   CAS4 =LOW;
  201.   ring.setBrightness (255);
  202.   ring.setPixelColor(PositionLedSensDuVent, 255, 0, 0);
  203.   ring.setPixelColor(PositionLedSensDuVentOpp, 0, 255, 0);
  204.   ring.show();
  205.  
  206.   for (int i = 1; i < PositionLedSensDuVent; i++)                       // ******** De position supérieure zéro à position sens du vent -1 *******************
  207.   {
  208.   ring.setBrightness (255);
  209.   ring.setPixelColor(i, 0, 0, 2);
  210.   ring.show();
  211.   }
  212.  
  213.   for (int i = PositionLedSensDuVent+1; i < NombreLeds; i++)                       // ******** De position supérieure zéro à position sens du vent -1 *******************
  214.   //for (int i > PositionLedSensDuVent; i < NombreLeds; i++)
  215.   {
  216.   ring.setBrightness (255);
  217.   ring.setPixelColor(i, 0, 0, 2);
  218.   ring.show();
  219.   }
  220.  
  221.   for (int i = 1; i = PositionLedSensDuVent-1; i++)                       // ******** De position supérieure zéro à position sens du vent -1 *******************
  222.   //for (int i >= 1; i <= PositionLedSensDuVent; i++)
  223.   {
  224.   ring.setBrightness (255);
  225.   ring.setPixelColor(i, 0, 0, 2);
  226.   ring.show();
  227.   }
  228.   }
  229.   }
  230.  
  231.   void cas4 ()
  232.   {
  233.     //+++++++++++++++++++++++++++++++CAS4+++++++++++++++++++++++++++++
  234.   if (CAS4 == HIGH)
  235.   {
  236.   delay (10);
  237.   CAS1 =LOW;
  238.   CAS2 =LOW;
  239.   CAS3 =LOW;
  240.   //CAS4 =LOW;
  241.  
  242.   ring.setBrightness (255);
  243.   ring.setPixelColor(PositionLedSensDuVent, 255, 0, 0);
  244.   ring.setPixelColor(PositionLedSensDuVentOpp, 0, 255, 0);
  245.   ring.show();
  246.    
  247.   //for (int i > PositionLedSensDuVentOpp; i < PositionLedSensDuVent; i++)                       // ******** De position supérieure zéro à position sens du vent -1 *******************
  248.   for (int i = PositionLedSensDuVentOpp +1; i < PositionLedSensDuVent; i++)
  249.   {
  250.   ring.setBrightness (255);
  251.   ring.setPixelColor(i, 0, 0, 2);
  252.   ring.show();
  253.   }
  254.  
  255.   for (int i = PositionLedSensDuVent+1; i < NombreLeds; i++)                      // ******** De position sens du vent +1 àà  position sens du vent Opposé -1 *******************
  256.     {
  257.   ring.setBrightness (255);
  258.   ring.setPixelColor(i, 0, 0, 2);
  259.   ring.show();
  260.   }
  261.   for (int i = 0; i < PositionLedSensDuVentOpp; i++)                      // ******** De position sens du vent Opposé +1 à nombre de leds -1 *******************
  262.   {
  263.   ring.setBrightness (255);
  264.   ring.setPixelColor(i, 0, 0, 2);
  265.   ring.show();
  266.   }
  267.   }
  268.   delay (10);
  269.   }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement