INHOUDSOPGAWE:

Kleurveranderende LED: 13 stappe
Kleurveranderende LED: 13 stappe

Video: Kleurveranderende LED: 13 stappe

Video: Kleurveranderende LED: 13 stappe
Video: Het lichaam van een superheld | UITGEZOCHT #19 2024, Julie
Anonim
Kleur veranderende LED
Kleur veranderende LED
Kleur veranderende LED
Kleur veranderende LED
Kleur veranderende LED
Kleur veranderende LED

Ek het die taak gekry om 'n prototipe te maak met behulp van 'n soort sensor om 'n uitset te genereer. Ek het besluit om 'n fotosel te gebruik, wat die hoeveelheid lig in 'n omgewing meet, en 'n RGB LED as uitset. Ek het geweet dat ek die LED se vermoë om verskillende kleure te vertoon, wou inkorporeer, omdat ek gedink het dit sou lekker wees om te hê. As ek die uitset kon skep wat ek wou, het ek gedink ek kon dit net so kleurvol as moontlik hê.

Geskatte koste:

$ 37 - Elegoo Super Starter -kit (bevat al die benodigdhede)

$ 53 - Om al die voorrade afsonderlik te koop

Nuttige skakels:

RGB LED -

create.arduino.cc/projecthub/muhammad-aqib…

Fotosel -

create.arduino.cc/projecthub/MisterBotBreak/how-to-use-a-photoresistor-46c5eb

Arduino sagteware -

www.arduino.cc/en/software

Elegoo Super Start -kit -

www.amazon.com/gp/product/B01D8KOZF4/ref=p…

Voorrade

- 1 RGB LED

- 1 fotosel (ook bekend as fotoresistor)

- 1 Arduino UNO -bord

- 1 broodbord

- 1 USB -kabel vir Arduino

- 7 springdrade

- 3 220 ohm weerstande

- 1 10k ohm weerstand

- Arduino sagteware (gratis om af te laai)

Opsioneel

- 'n naald tang

Stap 1: Stel LED op Breadboard op

Stel LED op Breadboard op
Stel LED op Breadboard op
Stel LED op Breadboard op
Stel LED op Breadboard op
Stel LED op Breadboard op
Stel LED op Breadboard op

Die RGB -LED moet eers behoorlik op die broodbord aangebring word

Plaas die LED met elk van die vier bene in afsonderlike gate van dieselfde kolom (aangedui met letters). Die langste been moet die tweede been van bo af wees.

In die ry (aangedui met getalle) van die langste been, steek die een kant van 'n springdraad in.

Plaas 'n weerstand van 220 ohm vir elk van die drie korter bene. Elke weerstand moet albei bene in dieselfde ry as die LED -bene hê. Dit is waar ek die naaldtang sou gebruik, aangesien die bene van die weerstande moeilik kan wees om met die hand in te steek.

Koppel drie jumperdrade aan die kant van die weerstand teenoor die LED aan. Vir hierdie drie rye moet daar een jumperdraad, een weerstand en een been van die LED wees.

Stap 2: Stel LED op op Arduino

Stel LED op Arduino op
Stel LED op Arduino op
Stel LED op Arduino op
Stel LED op Arduino op
Stel LED op Arduino op
Stel LED op Arduino op
Stel LED op Arduino op
Stel LED op Arduino op

Noudat die LED behoorlik op die broodbord aangebring is, moet dit aan die Arduino gekoppel word.

Die eerste springdraad wat aan die langste been gekoppel is (moet die tweede ry van die LED wees) moet aan die grond gekoppel word, aangedui met "GND" op die Arduino.

Die ander drie springdrade, in dalende volgorde, moet in die poort 11, 10 en 9. gekoppel word. Die draad in die boonste ry moet met 11 verbind word, die volgende draad af (moet die derde ry wees) sluit aan by 10, en die laaste draad sluit aan by 9. Hierdie drie drade moet parallel met mekaar loop en nie oorvleuel nie.

Stap 3: Stel fotosel op op broodpaneel

Stel fotosel op op broodbord
Stel fotosel op op broodbord
Stel 'n fotosel op 'n broodbord op
Stel 'n fotosel op 'n broodbord op
Stel 'n fotosel op 'n broodbord op
Stel 'n fotosel op 'n broodbord op

Om die LED te kan reageer op die helderheid van die omgewing, moet dit inligting van 'n sensor ontvang.

Steek die fotosel in die broodbord met albei bene in dieselfde kolom, net soos die LED ingeprop is.

Koppel die 10k ohm -weerstand aan met een been in dieselfde ry as die onderste been van die fotosel. Koppel die tweede been van die weerstand verder in dieselfde kolom.

Stap 4: Koppel Photocell aan Arduino

Koppel Photocell aan Arduino
Koppel Photocell aan Arduino
Koppel Photocell aan Arduino
Koppel Photocell aan Arduino
Koppel Photocell aan Arduino
Koppel Photocell aan Arduino
Koppel Photocell aan Arduino
Koppel Photocell aan Arduino

Sluit een jumperdraad in dieselfde ry as die 10k ohm -weerstand aan, maar nie die fotosel in dieselfde ry nie.

Sluit die ander kant van hierdie jumperdraad aan op die aarde (GND) op die Arduino.

Koppel twee verskillende draaddrade, een in dieselfde ry as elk van die fotoselbene.

Sluit die draad die verste na bo in die 5V -poort op die Arduino aan.

Sluit die draad die verste tot onder in die A0 -poort op die Arduino aan.

Stap 5: Sluit die Arduino aan

Koppel die Arduino aan
Koppel die Arduino aan
Koppel die Arduino aan
Koppel die Arduino aan
Koppel die Arduino aan
Koppel die Arduino aan
Koppel die Arduino aan
Koppel die Arduino aan

Noudat die broodbord opgestel en met die Arduino verbind is, gebruik die USB -aansluiting om die Arduino aan u rekenaar te koppel.

Stap 6: Begin u kode

Begin u kode
Begin u kode
Begin u kode
Begin u kode

Maak 'n nuwe skets met die Arduino -program.

Skryf u naam, 'n paar besonderhede oor die skets in 'n opmerking, en koppel die hulpbronne wat u gebruik het.

Stel die globale veranderlikes bo die leemte -opstelling op. Kopieer en plak die onderstaande kode. Terwyl u die kode skryf, sal sekere dele verskillende kleure kry. Dit is veronderstel om te gebeur.

int red_light_pin = 11; int green_light_pin = 10; int blue_light_pin = 9; int photocellReading = 0; int fotosel = 5;

As u dit agterkom, stem die nommers wat aan hierdie veranderlikes toegeken word ooreen met die plek waar die drade op die Arduino -bord ingeprop is.

Stap 7: Ongeldige opstelling

Ongeldige opstelling
Ongeldige opstelling

Stel die RGB LED as die uitset.

pinMode (red_light_pin, OUTPUT); pinMode (green_light_pin, OUTPUT); pinMode (blue_light_pin, OUTPUT);

Begin die seriële monitor om die lesings van die fotosel te sien.

Serial.begin (9600); Serial.println ("Serial monitor has started"); vertraging (500); Serial.println ("."); vertraging (500); Serial.println ("."); vertraging (500); Serial.println ("."); vertraging (500);

Maak seker dat die opstelkode van die leemte in 'n paar krulhakies voorkom {}

Stap 8: nietige lus

Nietige lus
Nietige lus
Nietige lus
Nietige lus

Skryf die kode vir die leemte -lus -afdeling.

Die kode in die eerste prent druk die lesings van die fotosel op afsonderlike lyne. Dit maak dit makliker om te lees.

int waarde = analogRead (A0); photocellReading = analogRead (photocell); Serial.println (photocellReading); vertraging (40);

Die kode in die tweede prent is wat sekere leeswaardes ooreenstem met die kleur wat die LED sal vertoon.

if (photocellReading 0) {RGB_color (255, 0, 0); // Rooi} if (photocellReading 99) {RGB_color (255, 255, 0); // Geel} if (photocellReading 199) {RGB_color (0, 255, 0); // Groen} if (photocellReading 299) {RGB_color (0, 0, 255); // Blou} if (photocellReading 399) {RGB_color (255, 0, 255); // Magenta}

Deur die getalwaardes van RGB_color (die 0s en 255s) te verander, verander die kleur wat vertoon word. Dit is die kleure waarmee ek gegaan het, maar u kan dit gerus verander of verander soos u wil.

Kontroleer of die leemte -lusgedeelte in 'n paar krulhakies voorkom {}

Stap 9: Kleure verander

Kleure verander
Kleure verander

Dit is nog 'n paar kleure om uit te kies vir die vorige stap. Ek het hierdie kode as verwysing vir my skets gebruik.

Stap 10: Finale RGB LED -kode

Finale RGB LED -kode
Finale RGB LED -kode

Aan die einde van die skets, buite die leegte -afdeling, voeg hierdie kode in om te bepaal watter poort op die Arduino die rooi ligwaarde, die groen ligwaarde en die groen ligwaarde kommunikeer.

ongeldig RGB_color (int red_light_value, int green_light_value, int blue_light_value) {analogWrite (red_light_pin, red_light_value); analogWrite (green_light_pin, green_light_value); analogWrite (blue_light_pin, blue_light_value); }

Net soos met die leemte -opstelling en leemte -afdelings, moet u seker maak dat hierdie gedeelte in 'n paar krulhakies voorkom {}

Stap 11: Toets die ligte

Toets die ligte!
Toets die ligte!
Toets die ligte!
Toets die ligte!
Toets die ligte!
Toets die ligte!

Laai die kode op die Arduino -bord op deur op die oplaai -knoppie in die program te druk. As u dit korrek gedoen het, moet die LED 'n kleur vertoon, afhangende van hoeveel lig daar in die omgewing is.

Rooi is die donkerste omgewing, die laagste fotosellees.

Geel is 'n effens helderder omgewing/hoër fotosellees. Dit lyk teal in die prentjie, maar dit skyn persoonlik geel.

Die volgende drie kleure, groen, blou en magenta, stem almal ooreen met toenemend hoër lesings van die fotosel.

Stap 12: Probleemoplossing

Probleemoplossing
Probleemoplossing

As die kleure nie verander nie, of as dit baie veranderings nodig het om die kleure te verander, kyk na die fotosellesings in die seriële monitor. Elke omgewing het verskillende vlakke van lig, daarom is dit belangrik dat die kode dit weerspieël.

Klik op Tools bo -aan die Arduino -program -> Klik op Serial Monitor.

Daar moet 'n venster verskyn wat 'n deurlopende lys getalle vertoon. Pas die nommers van die if -stellings van die stap Void Loop aan.

Stap 13: Finale produk

Finale produk
Finale produk

Deur al hierdie stappe uit te voer, moet u 'n lig kry wat van kleur verander na gelang van die helderheid van die omgewing.

Vir my, in die gemiddelde helderheid van my kamer, skyn die lig groen, maar ek kan die kleur maklik verander deur die fotosel te bedek of te verhoog hoeveel lig daar is.

Aanbeveel: