» Elektronik » Arduino »Farbpalette mit Arduino-Zufallsfunktion

Arduino zufällige Farbpalette


Verwenden Sie dies hausgemacht Mit fünf Tasten können Sie im RGB-System jede Farbe erstellen

1 - rot hinzufügen
2 - Grün hinzufügen
3 - Blau hinzufügen
4 - Zufällig (zufällige Farbe)
5 - Zurücksetzen

Was wir brauchen:
1. Arduino (in meinem Fall Arduino Mega)
2. Entwicklungsboard
3. Jumper-Typ: Papa Mama und Papa Papa
4. LCD 1602 (2 Zeilen mit 16 Zeichen)
5. Knöpfe 5 Stück
6. SMD RGB LED
7. Widerstand für 10 Kom 5 Stück


Zu Beginn schließen wir die RGB-LED an (wenn kein Widerstand vorhanden ist, setzen Sie einen Widerstand auf 220 Ohm).
Als nächstes setzen wir 5 Tasten: ein Tastenbein an Pin 5V und das andere über einen 10K-Widerstand an Masse und das gleiche Bein an Arduino.
Wir verbinden das LCD 1602-Display mit SDA und SCL (I2C).
All dies ist wie im Bild mit Arduino-Kontakten (GND, 5 V, SDA SCL, 2, 3, 4, 9, 10, 11, 12, 13) verbunden.
Vorne
Dahinter


Nun, eigentlich die Skizze selbst



#include "LiquidCrustal_I2C.h" // Verbinde die Bibliothek, um über I2C mit dem Display zu arbeiten
#include "Wire.h" // Verbinde die Bibliothek, um mit I2C zu arbeiten
int R = 9;
int G = 10;
int B = 11;
// RGB-Farben
int BR = 0;
int BG = 0;
int BB = 0;
// Variablen zum Speichern des Wertes
int KR = 2; // roter Knopf
int KG = 3; // Schaltfläche ist grün
int KB = 4; // blaue Taste
int C = 13; // Reset-Taste
int RS = 12; // Knopf zufällig
LiquidCrystal_I2C lcd (0x27.16.2); // Display anschließen (Adresse, Spalten, Zeilen)
void setup () {// einmal ausführen
    PinMode (R, OUTPUT);
    PinMode (G, OUTPUT);
    PinMode (B, OUTPUT);
// Verbinde die RGB LED
    }}
void loop () {// endlos wiederholen
    Verzögerung (10); // Verzögerung 10 ms
        lcd.init (); // definiere die Anzeige
lcd.backlight (); // Hintergrundbeleuchtung des Displays einschalten
    lcd.clear (); // Anzeige löschen
lcd.setCursor (5, 0); // Setzen Sie den Cursor auf die 6. Spalte und die 0. Zeile
lcd.print ("Farbe"); // schreibe Farbe
lcd.setCursor (0, 1);
lcd.print ("R"); // schreibe R.
lcd.setCursor (6, 1);
lcd.print ("G"); Ich schreibe G.
lcd.setCursor (12, 1);
lcd.print ("B"); schreibe B.
lcd.print (BB); // drucke den blauen Wert
    lcd.setCursor (2, 1);
lcd.print (BR); // drucke den Wert von rot
    lcd.setCursor (8, 1);
lcd.print (BG); // drucke den grünen Wert
    lcd.setCursor (13, 1);
    if (digitalRead (KR) == HIGH) {BR + = 15; } // Wenn die R-Taste gedrückt wird, ist der Wert von R +15
    if (digitalRead (KG) == HIGH) {BG + = 15; } // Wenn die G-Taste gedrückt wird, ist der Wert von G +15
    if (digitalRead (KB) == HIGH) {BB + = 15; } // Wenn Taste B gedrückt wird, ist der Wert B +15
     if (digitalRead (C) == HIGH) {BR - = 254; } // Wenn die Taste C gedrückt wird, wird der Wert von R -254 angezeigt
    if (digitalRead (C) == HIGH) {BG - = 254; } // Wenn die C-Taste gedrückt wird, wird der Wert G -254 angezeigt
    if (digitalRead (C) == HIGH) {BB - = 254; } // Wenn die C-Taste gedrückt wird, wird der Wert B -254 angezeigt
    if (digitalRead (RS) == HIGH) {BR = zufällig (0, 254); } // Wenn die RS-Taste gedrückt wird, liegt der Wert von R zwischen 0 und 254
     if (digitalRead (RS) == HIGH) {BG = zufällig (0, 254); } // Wenn die RS-Taste gedrückt wird, liegt der Wert von G zwischen 0 und 254
     if (digitalRead (RS) == HIGH) {BB = zufällig (0, 254); } // Wenn die RS-Taste gedrückt wird, liegt der Wert von B zwischen 0 und 254
    
  BR = Einschränkung (BR, 0, 254); // BR = (Wert von, bis)
    analogWrite (R, BR); // Mit der PWM-Modulation stellen wir die Helligkeit von 0 bis 254 ein
      

  BG = Einschränkung (BG, 0, 254); // BG = (Wert von, bis)
    analogWrite (G, BG); // Mit der PWM-Modulation stellen wir die Helligkeit von 0 bis 254 ein
     
    
  BB = Einschränkung (BB, 0, 254); // BB = (Wert von, bis)
    analogWrite (B, BB); // Mit der PWM-Modulation stellen wir die Helligkeit von 0 bis 254 ein
     
    }}


Skizze herunterladen: scale_feb07a2_ino.zip [587 b] (Downloads: 71)

So sollte es sein!




Schreiben Sie in den Kommentaren, dass es nicht klar ist, dass ich alle Fragen beantworten werde
Umfrage
Gesamtzahl der Wähler: 15
10
5
5

Kommentar hinzufügen

    • lächelnlächeltxaxaokweiß nichtYahoonea
      ChefKratzerDummkopfjaja-jaaggressivGeheimnis
      Entschuldigungtanzendance2Tanz3VerzeihungHilfeGetränke
      hör aufFreundegutgut gutpfeifenOhnmachtZunge
      RauchklatschenCrayerklärenspöttischdon-t_mentionherunterladen
      Hitzeärgerlichlach1mdaTreffenMoskingnegativ
      not_iPopcornbestrafenlesenerschreckenAngstSuche
      verspottendankedasto_clueumnikakutstimme zu
      schlechtbeeeblack_eyeblum3errötenprahlenLangeweile
      zensiertAngenehmheitsecret2drohenSiegyusun_bespectacled
      shokrespektlolvorgezogenWillkommenKrutoyya_za
      ya_dobryiHelferne_huliganne_othodiFludVerbotschließen
3 Kommentar
Ok, okay.
Der Autor
Diese Palette wird benötigt, um einen bestimmten Farbton für beleuchtete Projekte auszuwählen.
Was ist das und wofür?

Wir empfehlen Ihnen zu lesen:

Gib es für das Smartphone ...