Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Manufacturing Technology >> Processus de fabrication

Mélange de couleurs Arduino

Composants et fournitures

Arduino UNO
× 1
Potentiomètre rotatif (générique)
× 1
Planche à pain (générique)
× 1
LED RVB
× 1
Résistance 330 ohm
× 1
Pièces électroniques UTSOURCE
× 1

Applications et services en ligne

Arduino IDE

À propos de ce projet

Mélangeur de couleurs Arduino

Ce tutoriel est assez simple et nécessite un peu de connaissances en Arduino et en électronique , si vous n'êtes pas familier avec Arduino, j'inclurai des liens pour vous guider tout au long du didacticiel.

Dans ce tutoriel, nous allons générer toutes les couleurs possibles que vous pouvez voir avec juste une torsion. Il vous fera également voir à travers le modèle de couleur RVB et comprendre comment fonctionnent les écrans d'aujourd'hui.

Nous utiliserons également Entrée/Sortie analogique Arduino (appelé I/O plus loin dans le didacticiel) et apprendra à lire et à écrire des tensions analogiques sur les broches Arduino.

C'est mon premier essai du circuit ( il y a quelques temps, il a eu un petit problème en augmentant la valeur du pot mais je l'ai corrigé plus tard. )

1-1 Composants

  • Carte Arduino (j'utilise Arduino Uno)
  • Planche à pain
  • Cavaliers mâle-mâle (environ 15)
  • 3 * Potentiomètres ( j'utilise des pots 5K. )
  • Résistances 3 * 330 Ohm ( orange - orange - marron )
  • Led RVB (le module RVB fonctionne également)
  • PC avec Ardiuno IDE installé pour programmer l'Arduino

C'est parti !

L'idée derrière le mélangeur de couleurs est que l'Arduino délivre sur les broches LED RVB une tension relative à la tension d'entrée du potentiomètre sur les entrées analogiques.

1-2 Connexion du pot.

Le pot sera notre circuit diviseur de tension, où Vout est la broche Arduino

En un mot, il transforme une quantité réglable de la tension (change en tordant le rotor) en la broche d'entrée analogique Arudino (Vout). Ce lien explique le sujet encore plus loin.

Connectez le pot comme illustré dans l'image, connecter les bornes extérieures sur 5v ou GND n'a pas d'importance, la connexion la plus importante est la borne du milieu, qui va aux broches d'entrée analogique.

Vous obtenez le 5v et GND à partir des broches Arduino.

J'utilise l'orange pour le 5v (au lieu du rouge) pour faciliter la distinction entre les lignes d'alimentation et de signal

Répétez cette connexion pour les 3 pots de chaque couleur.

Je veux garder les connexions aussi bien rangées que possible donc je vais connecter le pot pour la couleur Rouge sur A0, Vert sur A1 et Bleu sur A2.

1-3 Connexion de la LED RVB

La LED RVB utilise le même concept que la LED conventionnelle (diode). La magie opère car elle contient 3 LED côte à côte, lorsque la lumière de ces LED tombe sur votre rétine, elles représentent des couleurs différentes car vous les voyez comme une seule couleur combinée.

Étant donné que nous avons 256 valeurs pour chaque sortie PWM et 3 broches qui représentent le rouge vert bleu, nous avons un total de 256 x 256 x 256 couleurs, soit 16 777 216 couleurs (presque 17 millions).

La LED RVB est connectée de la même manière que vous connecteriez une LED normale mais vous répétez le travail 3 fois.

La sortie finale devrait ressembler à, j'ai connecté la valeur rouge sur le numéro de broche le plus bas dans les broches d'entrée et de sortie, juste pour garder les choses simples dans le code.

N'oubliez pas de connecter la résistance de 330 Ohm parce que j'ai fait cette erreur et que ma LED rouge a grillé l'électricité ne fera pas beaucoup de travail pour brûler une LED, alors faites attention.

Maintenant, nous avons un circuit complet, le code est vraiment si simple et direct.

Codez

Le code de l'Arduino effectue ces tâches simples de manière séquentielle.

Dans la Configuration

  • Définir le mode de 3 broches d'entrée analogique sur l'entrée
  • Définissez le mode de sortie de 3 broches pwm (sortie analogique)

Dans la boucle

  • Lire la valeur du pot. en utilisant la fonction analogRead
  • Mappez la valeur de la broche analogique sur une valeur PWM correspondante à l'aide de la carte
  • fonction
  • Écrivez la valeur PWM sur la broche analogique à l'aide de la fonction analogWrite

Le code est disponible ci-dessous.

ma sortie finale n'oublie pas que j'ai brulé la LED rouge :\ -elle est branchée sur le premier pot-

Vous disposez maintenant du générateur de couleurs ultime avec 17 millions de couleurs ! félicitations !!

Respectez et partagez le projet si vous l'aimez :) vous pouvez acheter des composants électroniques sur utsource.net

Consultez mon autre tutoriel sur la fabrication d'un robot à 2 roues motrices à l'aide de 1Sheeld.

Code

  • Code de jeu LED RVB
Code de jeu LED RVBArduino
Connectez les broches LED selon les broches du tableau outRGB et les broches du capteur selon le tableau inRGB
/* Contrôle la LED RVB à l'aide de potentiomètres pour chaque couleur Nom :RGBLedPot.ino Création :17/2/16 9:47:03 AM Auteur :Ahmed Hamdy GNUPL 3.0+*/// la fonction de configuration s'exécute une fois lorsque vous appuyez sur reset ou que vous allumez le boardint inRGB[] ={ A0,A1,A2 }; // Entrées analogiques pour lire les valeurs d'un potentiomètreint outRGB[] ={ 9,10,11 } ; // Broches de sortie PWM pour contrôler la luminosité de chaque couleur dans le RVB LEDint tempValue =0; // Placeholderconst int inMinVal =0, inMaxVal =1023; // Valeurs qui définissent la valeur maximale et minimale renvoyée par le potentiomètre readvoid setup() { // Boucle sur toutes les broches (3 valeurs :Rouge, Vert et Bleu) pour (int i =0; i <3; i++) { pinMode (enRVB[i], INPUT); // Préparez ces broches pour lire les valeurs du potentiomètre pinMode(outRGB[i], OUTPUT); // Préparez ces broches pour produire les valeurs de la LED RVB }} // la fonction de boucle s'exécute encore et encore jusqu'à la mise hors tension ou la réinitialisation de la boucle () { // Répétez ce qui suit pour chaque couleur pour (int i =0; i <3; i++) { tempValue =analogRead(inRGB[i]); // Lire le potentiomètre // Réduisez la lecture du potentiomètre (0 ~ 1023) à une valeur PWM valide // 0 ~ 255 représentent la plage de la sortie Arduino PWM tempValue =map(tempValue, inMinVal, inMaxVal, 0, 255); // Écrire la sortie sur la broche analogWrite(outRGB[i], tempValue); }}

Schémas


Processus de fabrication

  1. Dés numériques Arduino
  2. Iron Man
  3. Trouvez-moi
  4. Bras robotique Arduino imprimé en 3D
  5. Contrôle de l'humidificateur Arduino
  6. Mixeur de couleurs Arduino RVB
  7. NeoMatrix Arduino Pong
  8. Joystick Arduino
  9. Récepteur radio FM Arduino TEA5767