Projektas #4: Daugiaspalvis šviestuvas

Išmokite sukurti ir užprogramuoti šviestuv? švie?iant? skirtingomis spalvomis, panaudodami „Maker Control Kit“ komplektuojam? robotikos rinkini? valdymo plokšt?s ir „Maker Kit 2“ komplektuojamo robotikos rinkinio komponentus.

Potenciometras leis pasirinkti norim? RGB LED švietimo spalv?.

SUD?TINGUMO LYGIS: Pradedantiesiems.

PRATIMO TRUKM?: 45 min.

MEDŽIAGOS:

  • 1x RGB LED
  • 1x potenciometras
  • 1x bespalvis arba baltas plastikinis puodelis
  • 1x „4in1 Build&Code“ plokšt?
  • 1x USB – Mikro USB kabelis
  • Kompiuteris
  • Medžiagos šviestuvo konstrukcijai pagaminti
  • Klijai

Kas yra RGB LED?

RGB LED yra LED, galinti šviesti bet kokia spalva, atsižvelgiant ? trij? pagrindini? spalv?: raudonos, žalios ir m?lynos derin?.

KONSTRUKCIJOS SUK?RIMAS:

Šviestuvo konstrukcijai sukonstruoti naudosite 150 mm x 18 mm medines lenteles ir plastikin? puodel? - balt? arba bespalv?.  Parsisi?skite greito sumontavimo vadov? ir atlikite nurodytus veiksmus.

Turite sumontuoti toki? konstrukcij?:

 

Sumontavus konstrukcij?, prijunkite visus elektroninius komponentus prie „4in1 Build & Code“ plokšt?s, kaip nurodyta žemiau pateiktame skyriuje „Jungtys“.

JUNGTYS:

  1. Prijunkite potenciometr? prie „4in1 Build & Code“ plokšt?s analogin?s jungties A0.
  2. Prijunkite RGB LED prie „4in1 Build&Code“ plokšt?s skaitmenin?s jungties Nr. 6.

Perži?r?kite kabeli? spalvas ir „4in1 Build & Code“ plokšt?s kontakt? spalvas, kad žinotum?te kaip sujungti. Kiekvienas kabelis tur?t? b?ti prijungtas prie jo spalvos.

 

PROGRAMOS KODAS:

Program? sudaro RGB LED spalv? keitimo tarp 7 skirting? spalv? valdymas, kintant potenciometro pad??iai. Kai potenciometro vert? yra 0, RGB LED nešvies.

Šiuos veiksmus galite atlikti naudodami „Arduino“ ir „Bitbloq“ programin? ?rang?, taip pat kit? suderinam? programavimo programin? ?rang?, naudojan?i? blokus. Žemiau pateikiamas programin?s ?rangos kodas, reikalingas kiekvienai programinei ?rangai.

„Arduino“ kodas

  1. Parsisi?skite „Arduino“ programin? ?rang?  ir atlikite ?diegimo proces?.
  2. 2. Prid?kite RGB LED skirt? bibliotek? ? „Arduino“ programin? ?rang?, pagal vadovo “Kaip prid?ti bibliotek? norint užprogramuoti RGB LED” instrukcijas.
  3. Paleiskite program? ir nukopijuokite toliau pateikt? kod?:
    /*
                    R   G   B
    White    1023  255 255 255
    Red      876   255 0   0
    Orange   730   255 128 0 
    Yellow  584   255 255 0
    Green     437   0   255 0
    Blue      291   0   0   255
    Purple   145   128 0   128
    Black     0     0   0   0
     */
    
    #include <Adafruit_NeoPixel.h>  //LIBRARY RGB LED
    #define PIXEL_PIN 6    //PIN OF THE RGB LED
    #define PIXEL_COUNT 1    // NUMBER OF RGB LEDS
    Adafruit_NeoPixel strip = Adafruit_NeoPixel(PIXEL_COUNT, PIXEL_PIN, NEO_GRB + NEO_KHZ800); // CONFIGURATION OF THE RGB LED
    int PortPot = A0, ValuePot = 0; // Potentiometer connected to analog port A0 // ValuePot is the variable of the potentiometer reading
    void setup() {
      // Put your setup code here, to run once:
      Serial.begin(9600);
      //CONFIGURATION OF THE RGB LED
      strip.begin();
      strip.show(); 
    }
    
    void loop() {
      // Put your main code here, to run repeatedly:
      ValuePot = analogRead (PortPot); // Potentiometer reading
      switch (ValuePot){ // Check the potentiometer value, if it coincides with the number activate a color.
        case 0: // BLACK
        colorWipe(strip.Color(0,0,0),0);
        break;
        case 145: // PURPLE
        colorWipe(strip.Color(128,0,128),0);
        break;
        case 291: // BLUE
        colorWipe(strip.Color(0,0,255),0);
        break;
        case 437: // GREEN
        colorWipe(strip.Color(0,255,0),0);
        break;
        case 584: // YELLOW
        colorWipe(strip.Color(255,255,0),0);
        break;
        case 730: // ORANGE
        colorWipe(strip.Color(255,128,0),0);
        break;
        case 876: // RED
        colorWipe(strip.Color(255,0,0),0);
        break;
        case 1023: // WHITE
        colorWipe(strip.Color(255,255,255),0);
        break;
      } 
    }
    
    // FUNCTION FOR THE COLOR OF THE RGB LED
    void colorWipe(uint32_t c, uint8_t wait) {
      for(uint16_t i=0; i<strip.numPixels(); i++) {
        strip.setPixelColor(i, c);
        strip.show();
        delay(wait);
      }
    }
    
  4. Sukonfig?ruokite ir ?kelkite kod? pagal instrukcijas, kurios yra pateiktos pateiktos dokumente „4in1 Build&Code“ plokšt?s pirmieji žingsniai.

Kodas skirtas suderinamai vaizdinei programavimo programinei ?rangai, naudojan?iai blokus

  1. Parsisi?skite programin? ?rang? ir atlikite ?diegimo proces?.
  2. Nor?dami užprogramuoti RGB LED prid?kite pl?tin?, pagal vadovo “Kaip prid?ti bibliotek? norint užprogramuoti RGB LED” instrukcijas.
  3. Paleiskite program? ir paleid? nukopijuokite ? j? toliau pateikt? kod?:
  4. Sukonfig?ruokite ir ?kelkite kod? pagal instrukcijas, kurios yra pateiktos pateiktos dokumente „4in1 Build&Code“ plokšt?s pirmieji žingsniai.

„BitBloq“ kodas

  1. Parsisi?skite „BitBloq“ programin? ?rang?.
  2. Paleiskite „BitBloq“ program? ir paleid? nukopijuokite ? j? toliau pateikt? kod?:
    • Aparatin? ?ranga

    • Programin? ?ranga

  3. Sukonfig?ruokite ir ?kelkite kod? pagal instrukcijas, kurios yra pateiktos pateiktos dokumente „4in1 Build&Code“ plokšt?s pirmieji žingsniai.

PRATIMO REZULTATAS:

Naudodami potenciometr?, galite pasirinkti vien? iš septyni? šviesos spalv?, kuria švies RGB LED. J?s suk?r?te savo daugiaspalv? šviestuv?!