» Elektronica » Arduino »Kleurenpalet met willekeurige functie Arduino

Arduino Willekeurig kleurenpalet


Dit gebruiken zelfgemaakt je kunt elke kleur in het RGB-systeem maken met vijf knoppen

1 - voeg rood toe
2 - Voeg groen toe
3 - Voeg blauw toe
4 - Willekeurig (willekeurige kleur)
5 - Resetten

Wat we nodig hebben:
1. Arduino (in mijn geval arduino mega)
2. Ontwikkelingsraad
3. Type trui: vader, moeder en vader, vader
4. LCD 1602 (2 regels van 16 tekens)
5. Knopen 5 stuks
6. SMD RGB-LED
7. Weerstand voor 10 Kom 5 stuks


Om te beginnen, verbinden we de RGB-LED (als er geen weerstand is, zet dan een weerstand op 220 ohm).
Vervolgens hebben we 5 knoppen geplaatst: een knoppoot op de 5V-pin en de andere via een 10K-weerstand op de grond en hetzelfde been op de arduino.
We verbinden het LCD 1602-display met SDA en SCL (I2C).
Dit alles is verbonden met arduino-contacten (GND, 5V, SDA SCL, 2, 3, 4, 9, 10, 11, 12, 13) zoals op de afbeelding.
Front
Achter


Nou, eigenlijk de schets zelf



#include "LiquidCrustal_I2C.h" // verbind de bibliotheek om via I2C met het beeldscherm te werken
#include "Wire.h" // Sluit de bibliotheek aan om met I2C te werken
int R = 9;
int G = 10;
int B = 11;
// RGB-kleuren
int BR = 0;
int BG = 0;
int BB = 0;
// variabelen om de waarde op te slaan
int KR = 2; // rode knop
int KG = 3; // knop is groen
int KB = 4; // blauwe knop
int C = 13; // resetknop
int RS = 12; // willekeurige knop
LiquidCrystal_I2C lcd (0x27.16.2); // Verbind het scherm (adres, kolommen, regels)
ongeldige setup () {// eenmaal uitgevoerd
    pinMode (R, OUTPUT);
    pinMode (G, OUTPUT);
    pinMode (B, OUTPUT);
// sluit de RGB LED aan
    }
void loop () {// eindeloos herhalen
    vertraging (10); // vertraging 10 ms
        lcd.init (); // definieer de weergave
lcd.backlight (); // zet de schermverlichting aan
    lcd.clear (); // wis het scherm
lcd.setCursor (5, 0); // plaats de cursor op de 6e kolom en de 0e rij
lcd.print ("Kleur"); // schrijf kleur
lcd.setCursor (0, 1);
lcd.print ("R"); // schrijf R
lcd.setCursor (6, 1);
lcd.print ("G"); / schrijf G
lcd.setCursor (12, 1);
lcd.print ("B"); schrijf B
lcd.print (BB); // print de blauwe waarde
    lcd.setCursor (2, 1);
lcd.print (BR); // print de waarde van rood
    lcd.setCursor (8, 1);
lcd.print (BG); // print de groene waarde
    lcd.setCursor (13, 1);
    if (digitalRead (KR) == HIGH) {BR + = 15; } // als de R-knop wordt ingedrukt, dan is de waarde van R +15
    if (digitalRead (KG) == HIGH) {BG + = 15; } // als de G-knop wordt ingedrukt, dan is de waarde van G +15
    if (digitalRead (KB) == HIGH) {BB + = 15; } // als knop B wordt ingedrukt, dan is de waarde B +15
     if (digitalRead (C) == HIGH) {BR - = 254; } // als de C-knop wordt ingedrukt, dan is de waarde van R -254
    if (digitalRead (C) == HIGH) {BG - = 254; } // als de C-knop wordt ingedrukt, dan is de waarde van G -254
    if (digitalRead (C) == HIGH) {BB - = 254; } // als de C-toets wordt ingedrukt, dan is de waarde B -254
    if (digitalRead (RS) == HIGH) {BR = random (0, 254); } // als de RS-toets wordt ingedrukt, dan is de waarde van R van 0 tot 254
     if (digitalRead (RS) == HIGH) {BG = willekeurig (0, 254); } // als de RS-knop wordt ingedrukt, dan is de waarde van G van 0 tot 254
     if (digitalRead (RS) == HIGH) {BB = random (0, 254); } // als de RS-toets wordt ingedrukt, dan is de waarde van B van 0 tot 254
    
  BR = beperken (BR, 0, 254); // BR = (waarde, van, tot)
    analogWrite (R, BR); // met behulp van PWM-modulatie passen we de helderheid aan van 0 tot 254
      

  BG = beperken (BG, 0, 254); // BG = (waarde, van, tot)
    analogWrite (G, BG); // met behulp van PWM-modulatie passen we de helderheid aan van 0 tot 254
     
    
  BB = beperken (BB, 0, 254); // BB = (waarde, van, tot)
    analogWrite (B, BB); // met behulp van PWM-modulatie passen we de helderheid aan van 0 tot 254
     
    }


Schets downloaden: sketch_feb07a2_ino.zip [587 b] (downloads: 71)

Zo hoort het!




Schrijf in de commentaren dat het niet duidelijk is dat ik alle vragen zal beantwoorden
Poll
Totaal aantal stemmen: 15
10
5
5

Voeg een opmerking toe

    • lachglimlachtxaxaokweet het nietyahoonea
      baaskrabbendwaasjaja-jaagressiefgeheim
      sorrydansdance2dance3pardonhulpdrankjes
      stopvriendengoedgoedfluitjebezwijmdtong
      rookklappencrayverklarenbeledigenddon-t_mentiondownloaden
      hittebooslach1mdavergaderingmoskingnegatief
      not_ipopcornstraffenlezenschrikschriktzoeken
      bespottendankjewelditto_clueUmnikacuutmee eens
      slechtbeeeblack_eyeblum3: oopscheppenverveling
      gecensureerdbeleefdheidgeheim2bedreigenoverwinningyusun_bespectacled
      shokrespektlolvoorgekomenwelkomkrutoyya_za
      ya_dobryihelperne_huliganne_othodifludverbodsluiten
3 commentaar
Ok, ok.
De auteur
Dit palet is nodig om een ​​specifieke tint te selecteren voor verlichte projecten.
Wat is het en waarvoor?

We raden je aan om te lezen:

Geef het voor de smartphone ...