» Électronique » Arduino »Palette de couleurs avec fonction aléatoire Arduino

Palette de couleurs aléatoires Arduino


Utiliser ceci fait maison vous pouvez créer n'importe quelle couleur dans le système RVB avec cinq boutons

1 - ajouter du rouge
2 - Ajouter du vert
3 - Ajouter du bleu
4 - Aléatoire (couleur aléatoire)
5 - Réinitialiser

Ce dont nous avons besoin:
1. Arduino (dans mon cas, Arduino Mega)
2. Conseil de développement
3. Type de cavalier: papa maman et papa papa
4. LCD 1602 (2 lignes de 16 caractères)
5. Boutons 5 pièces
6. SMD RGB LED
7. Résistance pour 10 Kom 5 pièces


Pour commencer, on connecte la LED RGB (en l'absence de résistance, mettre une résistance à 220 ohms).
Ensuite, nous avons mis 5 boutons: un pied de bouton sur la broche 5V, et l'autre via une résistance 10K au sol et le même pied à l'arduino.
Nous connectons l'écran LCD 1602 à SDA et SCL (I2C).
Tout cela est connecté à des contacts Arduino (GND, 5V, SDA SCL, 2, 3, 4, 9, 10, 11, 12, 13) comme dans l'image.
Devant
Derrière


Eh bien, en fait, le croquis lui-même



#include "LiquidCrustal_I2C.h" // connecter la bibliothèque pour travailler avec l'affichage via I2C
#include "Wire.h" // Connectez la bibliothèque pour travailler avec I2C
int R = 9;
int G = 10;
int B = 11;
// Couleurs RVB
int BR = 0;
int BG = 0;
int BB = 0;
// variables pour enregistrer la valeur
int KR = 2; // bouton rouge
int KG = 3; // le bouton est vert
int KB = 4; // bouton bleu
int C = 13; // bouton de réinitialisation
int RS = 12; // bouton aléatoire
Écran LCD LiquidCrystal_I2C (0x27.16.2); // Connecter l'affichage (adresse, colonnes, lignes)
void setup () {// exécuté une seule fois
    pinMode (R, SORTIE);
    pinMode (G, SORTIE);
    pinMode (B, SORTIE);
// connecter la LED RGB
    }
void loop () {// répéter sans fin
    retard (10); // retard 10 ms
        lcd.init (); // définir l'affichage
lcd.backlight (); // allume le rétroéclairage de l'écran
    lcd.clear (); // efface l'affichage
lcd.setCursor (5, 0); // place le curseur sur la 6ème colonne et la 0ème ligne
lcd.print ("Couleur"); // écrire la couleur
lcd.setCursor (0, 1);
lcd.print ("R"); // écrit R
lcd.setCursor (6, 1);
lcd.print ("G"); / écrire G
lcd.setCursor (12, 1);
lcd.print ("B"); écrire B
lcd.print (BB); // affiche la valeur bleue
    lcd.setCursor (2, 1);
lcd.print (BR); // affiche la valeur du rouge
    lcd.setCursor (8, 1);
lcd.print (BG); // affiche la valeur verte
    lcd.setCursor (13, 1);
    if (digitalRead (KR) == HIGH) {BR + = 15; } // si le bouton R est enfoncé, alors la valeur de R +15
    if (digitalRead (KG) == HIGH) {BG + = 15; } // si le bouton G est enfoncé, alors la valeur de G +15
    if (digitalRead (KB) == HIGH) {BB + = 15; } // si le bouton B est enfoncé, alors la valeur B +15
     if (digitalRead (C) == HIGH) {BR - = 254; } // si le bouton C est enfoncé, alors la valeur de R -254
    if (digitalRead (C) == HIGH) {BG - = 254; } // si le bouton C est enfoncé, alors la valeur de G -254
    if (digitalRead (C) == HIGH) {BB - = 254; } // si le bouton C est enfoncé, alors la valeur B -254
    if (digitalRead (RS) == HIGH) {BR = random (0, 254); } // si le bouton RS est enfoncé, alors la valeur de R est de 0 à 254
     if (digitalRead (RS) == HIGH) {BG = random (0, 254); } // si le bouton RS est enfoncé, alors la valeur G est de 0 à 254
     if (digitalRead (RS) == HIGH) {BB = random (0, 254); } // si le bouton RS est enfoncé, alors la valeur B est de 0 à 254
    
  BR = contrainte (BR, 0, 254); // BR = (valeur, de, à)
    analogWrite (R, BR); // en utilisant la modulation PWM, nous ajustons la luminosité de 0 à 254
      

  BG = contrainte (BG, 0, 254); // BG = (valeur, de, à)
    analogWrite (G, BG); // en utilisant la modulation PWM, nous ajustons la luminosité de 0 à 254
     
    
  BB = contrainte (BB, 0, 254); // BB = (valeur, de, à)
    analogWrite (B, BB); // en utilisant la modulation PWM, nous ajustons la luminosité de 0 à 254
     
    }


Téléchargez le croquis: sketch_feb07a2_ino.zip [587 b] (téléchargements: 71)

Voilà ce que ça devrait être!




Écrivez dans les commentaires qu'il n'est pas clair que je vais répondre à toutes les questions
Sondage
Nombre total d'électeurs: 15
10
5
5

Ajoutez un commentaire

    • souriresouritxaxaokne sais pasYahoonea
      patronse gratterfououioui-ouiagressifsecret
      désolédansedanse2danse3pardonaiderles boissons
      arrêteramisbonbonsifflerévanouirla langue
      fumerapplaudircraydéclarermoqueurdon-t_mentiontélécharger
      chaleurirritérire1mdaréunionmasquagenégatif
      not_ipop-cornpunirlireeffrayerfait peurrecherche
      railleriemerci_vousçato_clueumnikaigud'accord
      mauvaisabeilleblack_eyeblum3rougirse vanterennui
      censuréplaisanteriesecret2menacervictoireyusun_bespectacled
      shokrespektlolprévalubienvenuekrutoyya_za
      ya_dobryiaidene_huliganne_othodifludinterdirefermer
3 commentaire
D'accord.
L'auteur
Cette palette est nécessaire pour sélectionner une teinte spécifique pour les projets éclairés.
Qu'est-ce que c'est et pour quoi?

Nous vous conseillons de lire:

Donnez-le au smartphone ...