NeoPixel Lightbar – Hackster.io

 #include 
 int merah, hijau, biru, putih  =   0 ; 

 // PENTING: Tetapkan COUNT piksel, PIN, dan TYPE
 #define PIN 4 
 #define NUMPIXELS 8 

 // Menginisialisasi jalur neopixel
 Adafruit_NeoPixel strip  ( NUMPIXELS, PIN, NEO_RGBW + NEO_KHZ800 ) ; 

 membatalkan pengaturan  ()   {
     // Atur pin yang terhubung ke potensiometer sebagai input
     pinMode  ( 0 INPUT ) ; 
     pinMode  ( 1 INPUT ) ; 
     pinMode  ( 2 INPUT ) ; 
     pinMode  ( 3 INPUT ) ; 
    
    strip.begin  () ; 
    strip.show  () ;  // Inisialisasi semua piksel ke  'off' 
    rainbowCycle  ( 1 ) ;  // Flash pelangi di awal
} 

 void loop  ()   {

     // Baca dan simpan nilai potensiometer
     // Kami menskalakan mereka dari skala 12bit ke skala skala  8 
     merah   =  peta  ( analogRead  ( A0 )  0  4095  0  255 ) ; 
     hijau   =  peta  ( analogRead  ( A1 )  0  4095  0  255 ) ; 
     biru [19659012] =  map  ( analogRead  ( A2 )  0  4095  0  255 ) ; 
     putih   =  peta  ( analogRead  ( A3 )  0  4095  0  255 ) ; 

     // mengatur warna dari semua delapan neopipples
     untuk  ( int  piksel  =  0 ;  piksel < 8 ;  piksel ++ ) [19659062] {
         strip.setPixelColor  ( piksel, merah, hijau, biru, putih ) ; 
    } 
     strip.show  () [19659004];  // Perbarui strip dengan nilai warna baru
     penundaan  ( 50 ) ; 
} 

 membatalkan rainbowCycle  ( uint8_t  menunggu )   {[19659076] uint16_t i, j ; 

   untuk  ( j  =  0 ;  j < 256  * 5 ;  j ++ )   { //  5  siklus semua warna di roda
     untuk  ( i  =  0 ;  saya  () ;  i ++ ) [19659012] {
       strip.setPixelColor  ( i, Wheel  ((( i *  256  / strip.numPixels  ())  + j )   &   255 )) ; 
    } 
     strip.show  () ; 
     penundaan  (  menunggu ) ; 
  } 
} 

 // Helper  function   untuk  pelangi
 // Masukkan nilai  0  ke  255  untuk mendapatkan nilai warna.
 // Warna adalah transisi r - g - b - kembali ke r.
 uint32_t Wheel  ( byte WheelPos )   {
   WheelPos   =   255  - WheelPos ; 
   jika  ( WheelPos < 85 )   {
     mengembalikan  strip.Color  ( 255  - WheelPos *  3  0 WheelPos *  3 ) ; 
  } 
   jika  ( WheelPos < 170 )   {
     WheelPos -  =   85 ; 
     mengembalikan  strip.Color  ( 0 WheelPos *  3  255  - WheelPos *  3 ) ; 
  } 
   WheelPos -  =   170 ; 
   kembali  strip.Color  ( WheelPos *  3  255  - WheelPos *  3  0 ) ; 
} [19659143]

Leave a Reply

Your email address will not be published. Required fields are marked *