Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Manufacturing Technology >> Productieproces

Arduino kleurenmixer

Componenten en benodigdheden

Arduino UNO
× 1
Draaipotentiometer (algemeen)
× 1
Broodplank (algemeen)
× 1
RGB Led
× 1
Weerstand 330 ohm
× 1
UTSOURCE elektronische onderdelen
× 1

Apps en online services

Arduino IDE

Over dit project

Arduino kleurenmixer

Deze tutorial is vrij eenvoudig en vereist een beetje kennis van Arduino en elektronica , als je niet bekend bent met Arduino, zal ik links toevoegen om je door de tutorial te leiden.

In deze tutorial genereren we alle mogelijke kleuren die je kunt zien met slechts een draai. Het laat je ook door het RGB-kleurmodel kijken en begrijpen hoe de huidige displays werken.

We gebruiken ook Arduino analoge invoer / uitvoer ( later I/O genoemd in de handleiding ) en leert hoe u analoge spanningen op Arduino-pinnen kunt lezen en schrijven.

Dit is mijn eerste proef met het circuit (een tijdje geleden had ik een klein probleem bij het verhogen van de potwaarde, maar ik heb het later opgelost. )

1-1 Componenten

  • Arduino-bord (ik gebruik Arduino Uno)
  • Broodplank
  • Mannelijke springers (ongeveer 15)
  • 3 * Potentiometers (ik gebruik 5K potten. )
  • 3 * 330 Ohm weerstanden (oranje - oranje - bruin)
  • RGB Led (RGB-module werkt ook)
  • PC met Ardiuno IDE geïnstalleerd om de Arduino te programmeren

Laten we rollen!

Het idee achter de kleurenmixer is dat de Arduino op de RGB LED-pinnen een spanning afgeeft ten opzichte van de ingangsspanning van de potentiometer op de analoge ingangen.

1-2 De Pot aansluiten.

De pot zal ons spanningsdelercircuit zijn, waarbij Vout de Arduino-pin is

In een notendop, het transformeert een instelbare hoeveelheid van de spanning (verandert door de rotor te draaien) naar de Arudino analoge ingangspin (Vout). Deze link legt het onderwerp nog verder uit.

Sluit de pot aan zoals geïllustreerd in de afbeelding, het aansluiten van de buitenste terminals op 5v of GND maakt helemaal niet uit, de belangrijkste verbinding is de middelste terminal, die naar de analoge ingangspinnen gaat.

Je verkrijgt de 5v en GND van de Arduino-pinnen.

Ik gebruik de oranje voor de 5v (in plaats van rood) om het onderscheid tussen stroom- en signaallijnen gemakkelijker te maken

Herhaal deze verbinding voor de 3 potten voor elke kleur.

Ik wil de aansluitingen zo netjes mogelijk houden, dus ik zal de pot voor de rode kleur op A0, groen op A1 en blauw op A2 aansluiten.

1-3 De RGB-LED aansluiten

De RGB-LED gebruikt hetzelfde concept als de conventionele LED (diode). De magie gebeurt omdat het 3 LED's naast elkaar bevat, wanneer het licht van die LED's op je netvlies valt, vertegenwoordigen ze verschillende kleuren omdat je ze als een enkele gecombineerde kleur ziet.

Aangezien we 256 waarde hebben voor elke PWM-output en 3 pinnen die Rood Groen Blauw vertegenwoordigen, hebben we een totaal van 256 * 256 * 256 kleuren, wat 16.777.216 kleuren is (bijna 17 miljoen).

De RGB-led wordt op dezelfde manier aangesloten als een normale led, maar u herhaalt het werk 3 keer.

De uiteindelijke uitvoer zou er zo uit moeten zien, ik heb de rode waarde aangesloten op het laagste pinnummer in de invoer- en uitvoerpinnen, gewoon om de code eenvoudig te houden.

Vergeet niet de weerstand van 330 Ohm aan te sluiten, want ik heb deze fout gemaakt en mijn Rode LED is doorgebrand. Elektriciteit zal niet veel werk doen om een ​​LED te laten branden, dus wees voorzichtig.

Nu hebben we een compleet circuit, de code is echt zo eenvoudig en ongecompliceerd.

Laten we coderen

De code van de Arduino doet die eenvoudige taken op een sequentiële manier.

In de Setup

  • Stel de modus van 3 analoge ingangspinnen in op invoer
  • Stel de modus in van 3 pwm (analoge output) pinnen om uit te voeren

In de Loop

  • Lees de waarde van de pot. analogeRead-functie gebruiken
  • Wijs de waarde van de analoge pin toe aan een overeenkomende PWM-waarde met behulp van de kaart
  • functie
  • Schrijf de PWM-waarde naar de analoge pin met de functie analogWrite

De code is hieronder beschikbaar.

mijn laatste output vergeet niet dat ik de rode LED heb gebrand:\ -het is aangesloten op de eerste pot-

Nu heb je de ultieme kleurengenerator met 17 miljoen kleuren! gefeliciteerd!!

Respecteer en deel het project als je het leuk vindt :) je kunt elektronische componenten kopen op utsource.net

Bekijk mijn andere tutorial over het maken van een robot met tweewielaandrijving met 1Sheeld.

Code

  • RGB LED-spelcode
RGB LED-spelcodeArduino
Verbind de LED-pinnen volgens de pinnen in outRGB-array en de sensorpinnen volgens inRGB-array
/* Regelt RGB-LED met potentiometers voor elke kleur Naam:RGBLedPot.ino Gemaakt:17/2/16 9:47:03 AM Auteur:Ahmed Hamdy GNUPL 3.0+*/// de setup-functie wordt één keer uitgevoerd wanneer u op reset drukt of de boardint aanzet inRGB[] ={ A0,A1,A2 }; // Analoge ingangen om een ​​potentiometerwaarde te lezen in outRGB [] ={9,10,11}; // PWM-uitgangspinnen om de helderheid van elke kleur in de RGB LEDint te regelen tempValue =0; // Tijdelijke aanduidingconst int inMinVal =0, inMaxVal =1023; // Waarden die de maximale en minimale waarde definiëren die wordt geretourneerd door de potentiometer readvoid setup () {// Loop op alle pinnen (3 waarden:rood, groen en blauw) voor (int i =0; i <3; i++) { pinMode (inRGB[i], INGANG); // Bereid die pinnen voor om de potentiometerwaarden te lezen pinMode (outRGB [i], OUTPUT); // Bereid die pinnen voor om de waarden van de RGB-LED uit te voeren }}// de lusfunctie wordt steeds opnieuw uitgevoerd totdat de lus wordt uitgeschakeld of resetvoid () {// Herhaal het volgende voor elke kleur voor (int i =0; i <3; i++) {tempValue =analogRead(inRGB[i]); // Lees de potentiometer // Verlaag de potentiometerwaarde (0 ~ 1023) naar een geldige PWM-waarde // 0 ~ 255 vertegenwoordigen het bereik van de Arduino PWM-uitgang tempValue =map (tempValue, inMinVal, inMaxVal, 0, 255); // Schrijf de output op de pin analogWrite (outRGB [i], tempValue); }}

Schema's


Productieproces

  1. Arduino digitale dobbelstenen
  2. Iron Man
  3. Vind mij
  4. Arduino 3D-geprinte robotarm
  5. Arduino-luchtbevochtigerbediening
  6. Arduino RGB-kleurenmixer
  7. NeoMatrix Arduino Pong
  8. Arduino-joystick
  9. Arduino TEA5767 FM-radio-ontvanger
  10. Stappenteller (Arduino 101)
  11. Muziekkleur