Inhoudsopgave:

Arduino RGB-kleurkiezer - Kies kleuren uit objecten uit het echte leven - Ajarnpa
Arduino RGB-kleurkiezer - Kies kleuren uit objecten uit het echte leven - Ajarnpa

Video: Arduino RGB-kleurkiezer - Kies kleuren uit objecten uit het echte leven - Ajarnpa

Video: Arduino RGB-kleurkiezer - Kies kleuren uit objecten uit het echte leven - Ajarnpa
Video: Уроки Ардуино #0 - что такое Arduino, куда подключаются датчики и как питать Ардуино 2024, Juli-
Anonim
Image
Image
Het RGB-kleurkiezer-testcircuit aansluiten
Het RGB-kleurkiezer-testcircuit aansluiten

Tinkercad-projecten »

Kies eenvoudig kleuren uit fysieke objecten met deze op Arduino gebaseerde RGB-kleurkiezer, zodat u de kleuren die u in echte objecten op uw pc of mobiele telefoon ziet, opnieuw kunt creëren. Druk gewoon op een knop om de kleur van het object te scannen met behulp van een goedkope TCS34725-kleurensensormodule en u krijgt de RGB-kleurwaarden en een indicatie van de gemeten kleur op een RGB-led.

Als je deze Instructable leuk vindt, stem er dan op in de Make It Glow-wedstrijd.

Ik heb een eenvoudige 3D-geprinte behuizing voor de elektronica ontworpen om het apparaat draagbaar te maken, sluit het gewoon aan op een USB-poort, oplader of powerbank om het op te laden. U kunt het ontwerp ook aanpassen om er een batterij in te plaatsen om het nog draagbaarder te maken.

Ik probeer meestal een Arduino Uno te gebruiken, omdat dit een van de meest gebruikte Arduino-borden is, maar om dit apparaat draagbaar te maken, is het ontworpen rond een Arduino Pro Micro-bord. Het kan echter eenvoudig worden aangepast om te werken op de meeste andere Arduino-compatibele borden met voldoende IO, zoals de Uno, Leonardo of Mega.

Deze handleiding gaat ervan uit dat je met een Arduino-microcontroller hebt gewerkt voordat je de basis kent van het programmeren van de Arduino en het aansluiten van een LCD-paneel erop. Als je dat niet doet, volg dan de gekoppelde handleidingen voor meer informatie en diepgaande uitleg.

Benodigdheden

  • Arduino Pro Micro (of andere) – hier kopen
  • TCS34725 RGB-sensor – hier kopen
  • 16 x 2 LCD-scherm – Koop hier
  • Drukknop – Koop hier
  • 2 x 10K-weerstanden - hier kopen
  • 3 x 220Ω Weerstanden – Koop hier
  • 470Ω Weerstand – Koop hier
  • RGB LED – Koop hier
  • 7-pins vrouwelijke headerstrip (op lengte gesneden) - hier kopen
  • 10K Potentiometer – Koop hier
  • Breadboard & Jumpers om te testen – Koop hier
  • 3D-printer en wit/zwart filament (optioneel voor behuizing) - deze is gebruikt

Daarnaast heb je basisgereedschap nodig voor het werken met elektronica, inclusief een soldeerbout als je je circuit permanent bouwt voor gebruik in een behuizing.

Stap 1: Het RGB-kleurkiezer-testcircuit aansluiten

Het RGB-kleurkiezer-testcircuit aansluiten
Het RGB-kleurkiezer-testcircuit aansluiten
Het RGB-kleurkiezer-testcircuit aansluiten
Het RGB-kleurkiezer-testcircuit aansluiten

Het is altijd een goed idee om uw componenten eerst op een breadboard te monteren om ze te testen en ervoor te zorgen dat uw circuit en software correct werken voordat u soldeerverbindingen maakt.

De componenten worden aangesloten op het breadboard zoals weergegeven in het schakelschema.

Er is niets bijzonders of vreemds aan deze verbindingen tussen de componenten en de Arduino, het zijn typische basiscircuitconfiguraties voor het aansluiten van een LCD, drukknop en LED's op de Arduino.

De 10K weerstanden worden gebruikt voor de drukknopaansluiting en de 220Ω weerstanden voor de Color sensor LED en de rode en blauwe pootjes van de RGB LED. De weerstand van 470Ω wordt gebruikt voor het groene been van de LED om de helderheid een beetje te verminderen om meer realistisch ogende kleuren te creëren.

De RGB-kleurensensor wordt via de eenvoudige I2C-interface op de Arduino aangesloten. Zorg ervoor dat u de juiste pinnen voor deze interface gebruikt als u een ander bord gebruikt. Het wordt beheerd met behulp van de Adafruit-bibliotheek die wordt besproken in de codesectie.

Als je een ander Arduino-bord gebruikt, zorg er dan voor dat je op elke pin dezelfde functionaliteit hebt als op de Pro Micro. U hebt bijvoorbeeld PWM-compatibele pinnen nodig voor de besturing van de RGB-LED om de gekozen RGB-kleur te simuleren.

Stap 2: Programmeren van uw Arduino RGB-kleurkiezer

Uw Arduino RGB-kleurkiezer programmeren
Uw Arduino RGB-kleurkiezer programmeren
Uw Arduino RGB-kleurkiezer programmeren
Uw Arduino RGB-kleurkiezer programmeren
Uw Arduino RGB-kleurkiezer programmeren
Uw Arduino RGB-kleurkiezer programmeren
Uw Arduino RGB-kleurkiezer programmeren
Uw Arduino RGB-kleurkiezer programmeren

Nu je je componenten op het breadboard hebt gemonteerd en de vereiste verbindingen hebt gemaakt, kun je de code op je Arduino laden met je pc en controleren of de componenten correct werken.

Controleer al uw verbindingen opnieuw voordat u de USB-kabel op uw Arduino aansluit om er zeker van te zijn dat ze correct zijn. De USB-kabel voedt het bord en de aangesloten componenten die deze kunnen beschadigen als ze niet correct zijn aangesloten.

Dit specifieke bord, de Arduino Pro Micro, fungeert als een Leonardo wanneer het is aangesloten op uw pc, dus zorg ervoor dat u het juiste bordtype selecteert in de Arduino IDE, anders krijgt u fouten wanneer u de code probeert te uploaden.

Hier is een link naar de RGB-kleurkiezercode: Download RGB-kleurkiezercode

De code bevat opmerkingen om uit te leggen wat elke sectie doet. De kleuridentificatie en het LED-gedeelte zijn gebaseerd op de Adafruit colorview voorbeeldcode. Als u wilt proberen uw eigen code te schrijven, dan is dit een handig voorbeeld om door te werken en mee te beginnen.

U moet de Adafruit-bibliotheken geïnstalleerd hebben. Dit doe je eenvoudig door te klikken op Tools -> Manage Libraries in je IDE en vervolgens “Adafruit TCS” in de zoekbalk te typen en de gevonden bibliotheek te installeren.

Enkele dingen om op te letten in de code:

De aan het LCD toegewezen pinnen staan in een vreemde volgorde (15, 14, 16, 4, 5, 8, 7). Ik probeer meestal de pinnen opeenvolgend te houden, maar in dit voorbeeld zijn ze een beetje in de war vanwege twee dingen, één omdat ik de PWM-pinnen voor de LED moest omzeilen en de tweede omdat de pinnen op de Pro Micro niet allemaal zijn op volgorde.

De kleurensensor-LED en drukknop zijn aangesloten op de analoge ingangen van de Pro Micro en worden gebruikt als digitale IO, omdat er niet genoeg digitale IO-pinnen beschikbaar waren. Ze zijn nog steeds in de code gedefinieerd als standaard digitale IO-pinnen.

Er is een korte routine om de LED te laten vervagen tussen rood, groen en blauw bij het opstarten. Dit is slechts een visueel effect dat ongeveer 1,5 seconde nodig heeft om door te lopen en kan worden verwijderd als u wilt dat uw kleurenkiezer sneller opstart.

Het programma komt niet verder dan de installatie als het geen verbinding maakt met de kleurensensor, het wordt weergegeven als "Sensorfout" op uw LCD-scherm als het geen verbinding tot stand kan brengen. Als de LED gaat branden om de stroom naar de sensor aan te geven, controleer dan uw SDA- en SCL-verbindingen en of u de juiste Arduino-pinnen gebruikt.

De gammatabel converteert eenvoudig de gemeten RGB-waarden van de sensor naar waarden wat resulteert in een meer realistische LED-weergave van de werkelijke kleur, dit is alleen om het LED-visualisatie-effect te verbeteren en heeft geen effect op de weergegeven gemeten RGB-waarden.

De code wacht vervolgens tot de ingang van de drukknop een meting van de sensor uitvoert en de waarden op het LCD-scherm en via de LED weergeeft. De drie vertragingen in de lus if-instructie zijn eenvoudigweg om te voorkomen dat herhaalde metingen worden gedaan voordat de knop weer wordt losgelaten, aangezien de werkelijke meet- en cyclustijd ongeveer 100 ms zou zijn. U kunt ook met deze waarden spelen als u uw keuze wilt maken sneller of langzamer.

Stap 3: De componenten in de behuizing installeren

De componenten in de behuizing installeren
De componenten in de behuizing installeren
De componenten in de behuizing installeren
De componenten in de behuizing installeren
De componenten in de behuizing installeren
De componenten in de behuizing installeren

Om een bruikbaar en draagbaar apparaat te maken, besloot ik de componenten aan elkaar te solderen en ze in een eenvoudige 3D-geprinte behuizing te monteren.

Een circuit van deze complexiteit zou waarschijnlijk op een PCB moeten worden ontworpen, maar de meeste mensen hebben geen toegang tot PCB-productieservices, dus ik ben vastgehouden aan het solderen van de componenten aan elkaar met delen van de lintkabel.

Stap 4: 3D print de behuizing

3D print de behuizing
3D print de behuizing
3D print de behuizing
3D print de behuizing
3D print de behuizing
3D print de behuizing
3D print de behuizing
3D print de behuizing

Ik ontwierp een rechthoekige basisbehuizing voor de kleurenkiezer, de 3D-printbestanden kunnen hier worden gedownload. U kunt ook creatief worden en het ontwerp aanpassen aan uw componenten en hoe u uw kleurenkiezer gaat gebruiken.

De kleurensensor zit aan de achterkant zodat je het toestel boven een object kunt houden en de kleur kunt kiezen met de uitlezing op de voorkant.

Ik heb de behuizing geprint met wit PLA en 20% vulling, ik zou het gebruik van een gekleurd filament voor het achterpaneel vermijden, omdat je geen gereflecteerd gekleurd licht wilt introduceren op het oppervlak dat wordt geplukt.

De afmetingen van de behuizing zijn ongeveer 110 mm (4,3") x 46 mm (1,8") x 20 mm (0,78") met beide helften gemonteerd. Elke helft is 10 mm (0,39") hoog.

Stap 5: Soldeer het circuit

Soldeer het circuit
Soldeer het circuit
Soldeer het circuit
Soldeer het circuit
Soldeer het circuit
Soldeer het circuit

Nadat je de behuizing in 3D hebt geprint, heb je een idee waar alle componenten zijn gemonteerd en hoe lang het duurt om de gesoldeerde lintkabelverbindingen te maken.

Begin met het solderen van elk onderdeel aan je Arduino terwijl je het van het breadboard verwijdert en probeer componenten te verwijderen om een volledig circuit tegelijk te maken.

Begin bijvoorbeeld met het LED-circuit en soldeer de weerstanden aan de LED en sluit ze vervolgens aan op de Arduino voordat u de drukknopcomponenten verwijdert. Op deze manier kun je de componenten bijhouden en ervoor zorgen dat je ze afzonderlijk aansluit op de juiste Arduino-ingangen en -uitgangen.

Wees voorzichtig met het LCD-paneel en de kleurensensor om ervoor te zorgen dat u de verbindingen met de juiste Arduino IO-poorten maakt.

De Color sensor-aansluitingen kunnen op de 7-pins vrouwelijke headerstrip worden gesoldeerd (snijd een 8-pins headerstrip tot 7-pins) zodat deze via het achterste gedeelte van de behuizing kan worden aangesloten. Dit zorgt ervoor dat de twee helften goed van elkaar kunnen worden gescheiden als je het moet openen. U kunt ook rechtstreeks op de kleursensor solderen met een stuk lintkabel, zorg er alleen voor dat de lintkabel door de gleuf in de behuizing loopt voordat u de verbindingen soldeert.

Er moeten een aantal verbindingen worden gemaakt met GND en 5V en het maakt het solderen gemakkelijker om ze op grotere centrale punten aan te sluiten in plaats van ze allemaal op de twee Arduino-pinnen te solderen. Ik heb ze allemaal aangesloten op de twee buitenste poten van de LCD-potentiometer, omdat deze ongeveer in het midden van de behuizing zit en het grootste oppervlak heeft om de verbindingen te maken.

Zodra u al uw verbindingen hebt gemaakt en u tevreden bent met de lengte van de lintkabel. Probeer uw circuit opnieuw in te schakelen om te controleren of alles correct werkt voordat u de componenten in de behuizing monteert. Zorg ervoor dat geen van de componenten of blootgestelde terminals elkaar raken, wat kan leiden tot kortsluiting. Mogelijk moet u wat isolatietape of papier tussen de componenten aanbrengen om kortsluiting te voorkomen.

Als uw circuit correct werkt, kunt u uw componenten in de 3D-geprinte behuizing monteren.

Stap 6: monteer componenten in de behuizing

Componenten in de behuizing monteren
Componenten in de behuizing monteren
Componenten in de behuizing monteren
Componenten in de behuizing monteren
Componenten in de behuizing monteren
Componenten in de behuizing monteren

De laatste stap is het monteren van uw componenten in uw behuizing. Ik heb een hotmelt lijmpistool gebruikt om de componenten te monteren, je kunt ook epoxy of een kleine hoeveelheid secondelijm gebruiken.

De kleurensensor kan in de uitsparing aan de achterkant van de behuizing worden gelijmd, waarbij de pin header strip door de binnenkant van de behuizing steekt. De vrouwelijke headerstrip wordt dan gebruikt om de sensor op het circuit aan te sluiten.

Monteer de drukknop, LCD en LED door de gaten in het frontpaneel en lijm ze vast aan de binnenkant van de behuizing.

Je Arduino moet goed in de gleuf in de basis passen en zou geen lijm nodig hebben om hem op zijn plaats te houden, maar als dat zo is, zorg er dan voor dat je geen lijm op de componenten aan de achterkant van het bord aanbrengt. Breng liever lijm aan langs de randen van het bord.

De micro-USB-poort moet gemakkelijk toegankelijk zijn via de zijkant van de behuizing.

Lijm de twee helften aan elkaar en gebruik de pinnen op de twee hoeken als richtlijn. Deze moeten stevig tegen elkaar drukken en helpen om de twee helften bij elkaar te houden. Zorg ervoor dat geen van uw blootgestelde terminals of draden op uw weerstanden, LED of potentiometer iets anders in uw circuit raakt, zoals eerder vermeld, u kunt wat isolatietape of papier gebruiken om componenten te scheiden - ik heb wat gele tape op de achterkant gebruikt van het LCD-scherm.

Stap 7: Uw RGB-kleurkiezer gebruiken

Uw RGB-kleurkiezer gebruiken
Uw RGB-kleurkiezer gebruiken
Uw RGB-kleurkiezer gebruiken
Uw RGB-kleurkiezer gebruiken
Uw RGB-kleurkiezer gebruiken
Uw RGB-kleurkiezer gebruiken
Uw RGB-kleurkiezer gebruiken
Uw RGB-kleurkiezer gebruiken

Om uw kleurenkiezer te gebruiken, sluit u een micro-USB-kabel aan op de poort aan de zijkant van uw kleurenkiezer om hem op te starten.

De opstartvolgorde moet worden uitgevoerd en dan kun je een kleur kiezen, aangegeven door Color Picker Ready.

Plaats de sensor over de kleur die u wilt kiezen en druk vervolgens op de knop om de kleur te kiezen. Het LED-lampje op de sensor moet even gaan branden, waarna u een RGB-uitlezing op het LCD-scherm krijgt en de LED zal veranderen om de gekozen kleur weer te geven.

De RGB-led is bedoeld om u een indicatie te geven van de kleur die is geïdentificeerd. Dit is slechts een snelle manier om te controleren of de sensor de juiste kleur heeft opgepikt en is niet altijd een nauwkeurige weergave van de kleur vanwege beperkingen met de LED. Ze kunnen bijvoorbeeld geen zwart of grijs weergeven omdat het eigenlijke LED-materiaal wit is en alleen licht kan produceren om kleuren te reproduceren. Om dezelfde reden komen donkere kleuren ook niet goed tot hun recht op de LED.

Als je deze Instructable leuk vond, stem er dan op in de Make It Glow-wedstrijd.

Kijk op mijn blog voor meer Arduino tutorials, projecten en ideeën.

Make it Glow wedstrijd
Make it Glow wedstrijd
Make it Glow wedstrijd
Make it Glow wedstrijd

Tweede plaats in de Make it Glow-wedstrijd

Aanbevolen: