Indholdsfortegnelse:
- Forbrugsvarer
- Trin 1: Tilslutning af RGB -farvevælger -testkredsløbet
- Trin 2: Programmering af din Arduino RGB -farvevælger
- Trin 3: Installation af komponenterne i kabinettet
- Trin 4: 3D -udskrivning af kabinettet
- Trin 5: Loddet kredsløb
- Trin 6: Monter komponenter i kabinettet
- Trin 7: Brug af din RGB -farvevælger
Video: Arduino RGB farvevælger - Vælg farver fra virkelige objekter: 7 trin (med billeder)
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:27
Tinkercad -projekter »
Vælg let farver fra fysiske objekter med denne Arduino -baserede RGB -farvevælger, så du kan genskabe de farver, du ser i virkelige objekter på din pc eller mobiltelefon. Tryk blot på en knap for at scanne objektets farve ved hjælp af et billigt TCS34725 farvesensormodul, og du får RGB -farveværdier samt en indikation af den målte farve på en RGB LED.
Hvis du nyder denne instruks, kan du stemme på den i Make It Glow -konkurrencen.
Jeg har designet et simpelt 3D -printet kabinet til elektronikken for at gøre enheden bærbar, bare tilslut den til en USB -port, oplader eller powerbank for at tænde den. Du kan også ændre designet til at rumme et batteri for at gøre det endnu mere bærbart.
Jeg prøver normalt at bruge en Arduino Uno, da dette er et af de mest udbredte Arduino -tavler, men for at gøre denne enhed bærbar er den blevet designet omkring et Arduino Pro Micro -kort. Det kan dog let tilpasses til at køre på de fleste andre Arduino -kompatible tavler med nok IO, f.eks. Uno, Leonardo eller Mega.
Denne vejledning forudsætter, at du har arbejdet med en Arduino mikrokontroller, før du kender det grundlæggende ved programmering af Arduino og tilslutning af et LCD-panel til det. Hvis du ikke gør det, skal du følge de linkede vejledninger for at få flere oplysninger og dybdegående forklaringer.
Forbrugsvarer
- Arduino Pro Micro (eller andet) - Køb her
- TCS34725 RGB -sensor - Køb her
- 16 x 2 LCD -panel - Køb her
- Trykknap - Køb her
- 2 x 10K modstande - Køb her
- 3 x 220Ω modstande - Køb her
- 470Ω modstand - Køb her
- RGB LED - Køb her
- 7 Pin Female Header Strip (Cut to Length) - Køb her
- 10K Potentiometer - Køb her
- Breadboard & Jumpers til test - Køb her
- 3D -printer og hvid/sort filament (valgfri til boliger) - denne bruges
Ud over disse har du brug for grundlæggende værktøjer til at arbejde med elektronik, herunder et loddejern, hvis du permanent bygger dit kredsløb til brug i et kabinet.
Trin 1: Tilslutning af RGB -farvevælger -testkredsløbet
Det er altid en god idé at samle dine komponenter på et brødbræt først for at teste dem og sikre dig, at dit kredsløb og software fungerer korrekt, før der foretages loddede forbindelser.
Komponenterne er forbundet til brødbrættet som vist i kredsløbsdiagrammet.
Der er ikke noget særligt anderledes eller mærkeligt med nogen af disse forbindelser mellem komponenterne og Arduino, de er typiske grundlæggende kredsløbskonfigurationer til tilslutning af en LCD, trykknap og lysdioder til Arduino.
10K modstande bruges til trykknapforbindelse og 220Ω modstande til farvesensor LED og de røde og blå ben på RGB LED. Modstanden på 470Ω bruges til LEDens grønne ben for at reducere dens lysstyrke lidt for at skabe mere realistiske farver.
RGB -farvesensoren er forbundet til Arduino ved hjælp af den enkle I2C -grænseflade. Sørg for, at du bruger de korrekte ben til denne grænseflade, hvis du bruger et andet bord. Det styres ved hjælp af Adafruit -biblioteket, der er diskuteret i kodesektionen.
Hvis du bruger et andet Arduino -kort, skal du sørge for, at du har den samme funktionalitet på hver pin som brugt på Pro Micro. For eksempel har du brug for PWM -aktiverede stifter til styring af RGB -LED'en for at simulere den valgte RGB -farve.
Trin 2: Programmering af din Arduino RGB -farvevælger
Nu hvor du har fået dine komponenter samlet på brødbrættet og foretaget de nødvendige sammenkoblinger, kan du indlæse koden på din Arduino ved hjælp af din pc og kontrollere, at komponenterne fungerer korrekt.
Kontroller alle dine forbindelser igen, før du tilslutter USB -kablet til din Arduino for at sikre, at de er korrekte. USB -kablet forsyner kortet og tilsluttede komponenter, som kan beskadige dem, hvis de ikke er korrekt tilsluttet.
Dette særlige kort, Arduino Pro Micro fungerer som en Leonardo, når den er tilsluttet din pc, så sørg for at vælge den korrekte korttype i Arduino IDE, ellers får du fejl, når du prøver at uploade koden.
Her er et link til RGB farvevælgerkoden: Download RGB farvevælgerkode
Koden indeholder kommentarer til at forklare, hvad hvert afsnit gør. Farveidentifikationen og LED -delen er baseret på Adafruit colorview -eksempelkoden. Hvis du gerne vil prøve at skrive din egen kode, er dette et nyttigt eksempel at arbejde igennem og starte med.
Du skal have Adafruit -bibliotekerne installeret. Dette gøres let ved at klikke på Værktøjer -> Administrer biblioteker i din IDE og derefter skrive "Adafruit TCS" i søgelinjen og installere det fundne bibliotek.
Nogle ting at passe på i koden:
LCD -tildelte ben er i en underlig rækkefølge (15, 14, 16, 4, 5, 8, 7). Jeg prøver normalt at holde stifterne sekventielle, men i dette eksempel er de lidt blandet sammen på grund af to ting, en fordi jeg havde brug for at arbejde omkring PWM -benene til LED'en og den anden, fordi benene på Pro Micro ikke alle er i rækkefølge.
Farvesensorens LED og trykknap er forbundet til Pro Micros analoge indgange, der bruges som digital IO, da der ikke var nok digitale IO -ben til rådighed. De er stadig defineret i koden som standard digitale IO -ben.
Der er en kort rutine for at fade LED'en mellem rødt, grønt og blåt ved opstart. Dette er blot en visuel effekt, der tager cirka 1,5 sekunder at løbe igennem og kan fjernes, hvis du gerne vil have, at din farvevælger starter hurtigere.
Programmet skrider ikke forbi opsætningen, hvis det ikke opretter forbindelse til farvesensoren, det vises som "Sensorfejl" på din LCD, hvis det ikke kan oprette en forbindelse. Hvis lysdioden lyser, hvilket angiver strøm til sensoren, skal du kontrollere dine SDA- og SCL -forbindelser, og at du bruger de korrekte Arduino -ben.
Gamatabellen konverterer simpelthen de målte RGB -værdier fra sensoren til værdier, der vil resultere i en mere realistisk LED -repræsentation af den faktiske farve, dette er bare for at forbedre LED -visualiseringseffekten og har ikke en effekt på de viste målte RGB -værdier.
Koden venter derefter på, at trykknapindgangen tager en måling fra sensoren derefter og viser værdierne på LCD'et og gennem LED'en. De tre forsinkelser i sløjfen, hvis udsagn simpelthen er for at undgå at tage gentagne aflæsninger, før knappen slippes igen, da den faktiske aflæsning og cyklustid ville være omkring 100 ms. Du kan også lege med disse værdier, hvis du gerne vil vælge din plukker hurtigere eller langsommere.
Trin 3: Installation af komponenterne i kabinettet
For at lave en nyttig og bærbar enhed besluttede jeg at lodde komponenterne sammen og montere dem i et simpelt 3D -trykt kabinet.
Et kredsløb af denne kompleksitet skal sandsynligvis være designet på et PCB, men de fleste mennesker har ikke adgang til PCB -fremstillingstjenester, så jeg har holdt mig til lodning af komponenterne sammen med sektioner af båndkabel.
Trin 4: 3D -udskrivning af kabinettet
Jeg har designet et grundlæggende rektangulært hus til farvevælgeren, 3D -printfilerne kan downloades her. Du kan også blive kreativ og ændre designet til at passe til dine komponenter, og hvordan du kommer til at bruge din farvevælger.
Farvesensoren er på bagsiden, så du kan holde enheden over et objekt og vælge farven med aflæsningen vist på forsiden.
Jeg printede huset ved hjælp af hvidt PLA og 20% fyldning, jeg ville undgå at bruge et farvet filament til bagpanelet, da du ikke ønsker at introducere reflekteret farvet lys på den overflade, der vælges.
Husets dimensioner er cirka 110 mm (4,3”) x 46 mm (1,8”) x 20 mm (0,78”) med begge halvdele samlet. Hver halvdel er 10 mm (0,39”) høj.
Trin 5: Loddet kredsløb
Når du har 3D -printet huset, har du en idé om, hvor alle komponenterne er monteret, og hvor lang tid du skal lave de lodde båndkabelforbindelser.
Start med at lodde hver komponent til din Arduino, mens du fjerner den fra brødbrættet, og prøv at fjerne komponenter for at udgøre et fuldt kredsløb ad gangen.
Start f.eks. Med LED-kredsløbet, og lod modstandene til LED'en, og tilslut dem derefter til Arduino, før du fjerner trykknapkomponenterne. På denne måde vil du være i stand til at holde styr på komponenterne og sikre, at du tilslutter dem individuelt til de korrekte Arduino -indgange og -udgange.
Vær forsigtig med LCD -panelet og farvesensoren for at sikre, at du foretager forbindelserne til de korrekte Arduino IO -porte.
Farvesensorforbindelserne kan loddes på den 7 -polede hunstikliste (skær en 8 -stift hovedstrimmel ned til 7 ben) for at gøre det muligt at tilslutte den gennem husets bageste sektion. Dette gør det bare muligt at adskille de to halvdele ordentligt, hvis du skal åbne den. Du kan også lodde direkte til farvesensoren med et stykke båndkabel, bare sørg for, at båndkablet løber gennem åbningen i huset, før du lodder forbindelserne.
Der er en række forbindelser, der skal foretages til GND og 5V, og det gør din lodning lettere at forbinde dem til større centrale punkter frem for at forsøge at lodde dem alle på de to Arduino -ben. Jeg tilsluttede dem alle på de to udvendige ben på LCD -potentiometeret, da dette omtrent er i midten af huset og har det største overfladeareal til at foretage forbindelserne.
Når du har lavet alle dine forbindelser, og du er tilfreds med båndkabellængderne. Prøv at tænde dit kredsløb igen for at kontrollere, at alt fungerer korrekt, før komponenterne monteres i huset. Sørg for, at ingen af komponenterne eller udsatte terminaler rører hinanden, hvilket kan føre til kortslutning. Du skal muligvis tilføje en smule isoleringstape eller papir mellem komponenterne for at undgå kortslutning.
Hvis dit kredsløb fungerer korrekt, kan du montere dine komponenter i det 3D -printede hus.
Trin 6: Monter komponenter i kabinettet
Det sidste trin er at montere dine komponenter i dit hus. Jeg brugte en smeltelimepistol til at montere komponenterne, du kan også bruge epoxy eller en lille mængde superlim.
Farvesensoren kan limes ind i hulrummet på bagsiden af kabinettet med stiftenhovedstrimlen stikker igennem til husets inderside. Den kvindelige headerstrimmel bruges derefter til sensoren til at tilslutte kredsløbet.
Monter trykknappen, LCD og LED gennem hullerne i frontpanelet og lim dem på plads på indersiden af huset.
Din Arduino skal passe godt ind i åbningen i bunden og bør ikke kræve nogen lim for at holde den på plads, men hvis den gør det, skal du sørge for ikke at lægge lim på komponenterne på bagsiden af brættet. Læg hellere lim langs kanterne af brættet.
Micro USB -porten skal være let tilgængelig via siden af huset.
Lim de to halvdele sammen ved hjælp af pindene på de to hjørner som en vejledning. Disse skal presse tæt sammen og hjælpe med at holde de to halvdele sammen. Sørg for, at ingen af dine eksponerede terminaler eller ledninger på dine modstande, LED eller potentiometer rører ved noget andet i dit kredsløb som nævnt før, du kan bruge noget isoleringstape eller papir til at adskille komponenter - jeg har brugt noget gult tape på bagsiden af LCD'et.
Trin 7: Brug af din RGB -farvevælger
For at bruge din farvevælger skal du sætte et mikro -USB -kabel i porten på siden af din farvevælger for at tænde det.
Opstartssekvensen skal køre, og derefter kan du vælge en farve, angivet med Color Picker Ready.
Placer sensoren over den farve, du gerne vil vælge, og tryk derefter på knappen for at vælge farven. LED -lyset på sensoren skal tænde et øjeblik, hvorefter du får en RGB -aflæsning på LCD'et, og LED'en ændres for at afspejle den farve, der er valgt.
RGB LED er beregnet til at give dig en indikation af den farve, der er blevet identificeret. Dette er bare en hurtig måde for dig at kontrollere, at sensoren har opfundet den korrekte farve og ikke altid er en nøjagtig gengivelse af farven på grund af begrænsninger med LED'en. For eksempel kan de ikke vise sorte eller gråtoner, da det faktiske LED -materiale er hvidt og kun kan producere lys for at gengive farver. Af samme grund vises mørkere farver heller ikke godt på LED'en.
Hvis du nød denne instruks, kan du stemme på den i Make It Glow -konkurrencen.
Kig på min blog for flere Arduino -øvelser, projekter og ideer.
Runner Up i konkurrencen Make it Glow
Anbefalede:
Renegade-i (programmerbar IC-tester, der føles som den virkelige ting): 3 trin (med billeder)
Renegade-i (programmerbar IC-tester, der føles som den virkelige ting): MILLION DOLLAR DREAM. Har du nogensinde drømt om at have din egen IC-tester derhjemme? Ikke bare en gadget, der kan teste IC, men en "programmerbar" maskine, der føles som et af flagskibsproduktet fra de største spillere i semikon -testindustrien, lykkes
NeckLight V2: Glow-In-The-Dark halskæder med former, farver og lys: 10 trin (med billeder)
NeckLight V2: Glow-In-The-Dark halskæder med former, farver og lys: Hej alle sammen, Efter de første Instructables: NeckLight jeg postede, som var en stor succes for mig, vælger jeg at lave V2 af det. Ideen bag dette V2 er at rette en eller anden fejl i V1 og have mere visuel mulighed. I denne instruktion vil jeg ex
Somatic - Datahandske til den virkelige verden: 6 trin (med billeder)
Somatic-Datahandske til den virkelige verden: Neodymcylindermagneter med 4 mm diameter 4 mm neodymcylindermagneter i diameter Somatic er et bærbart tastatur og en mus, der er behagelig, uhindret og klar til brug hele dagen. Den er fyldt med al hardware til at oversætte håndtegn og
Farvevælger: 4 trin
Farvevælger: trin 1 Trin 1: indkøbskomponenter Komponenter: Esp. 32 (mikrokontroller) Nonpixel ring 12 & 9 (RGB -ringelys) Farvesensor 3.7v batteri 3.7v til 5v converter Udfordringer: Få nøjagtige målinger for komponenterne Trin 2: Kodningsmaterialer: A
Styr den virkelige verden med din pc: 15 trin (med billeder)
Styr virkelige verden -enheder med din pc: Denne instruks viser dig, hvordan du tilslutter en pc og mikrokontroller. Denne demo vil mærke værdien af en gryde eller en hvilken som helst analog indgang og også styre en servo. Samlede omkostninger er under $ 40 inklusive servoen. Servoen tænder en mikrokontakt og derefter m