INHOUDSOPGAWE:

Kleurmenger met Arduino: 9 stappe (met foto's)
Kleurmenger met Arduino: 9 stappe (met foto's)

Video: Kleurmenger met Arduino: 9 stappe (met foto's)

Video: Kleurmenger met Arduino: 9 stappe (met foto's)
Video: Toonwaardenschaal van 9 stappen maken. Licht en donker les 2. Schilderen met acrylverf. 2024, Julie
Anonim
Image
Image

Deur tliguori330 Volg meer deur die skrywer:

Kleurbol met Arduino
Kleurbol met Arduino
Doodle Bot met ontwerpproses
Doodle Bot met ontwerpproses
Doodle Bot met ontwerpproses
Doodle Bot met ontwerpproses
Arduino Touch Klavier
Arduino Touch Klavier
Arduino Touch Klavier
Arduino Touch Klavier

Oor: Leer altyd … Meer oor tliguori330 »

'N Kleurmenger is 'n uitstekende projek vir almal wat met Arduino werk en groei. Aan die einde van hierdie instruksies, kan u byna elke denkbare kleur meng en pas deur 3 knoppies te draai. Die vaardigheidsvlak is laag genoeg dat selfs 'n volledige nuweling dit suksesvol kan voltooi, maar ook interessant genoeg om aangenaam te wees vir 'n ervare veearts. Die koste van hierdie projek is byna niks, en die meeste Arduino -kits bevat die nodige materiaal. In die kern van hierdie kode is 'n paar fundamentele arduino -funksies wat almal wat arduino gebruik, sal wil verstaan. Ons gaan diepte in op die analogRead () en analogWrite () funksies, net soos ons 'n ander gewone funksie genaamd map () het. Hierdie skakels bring u na die arduino -verwysingsbladsye vir hierdie funksies.

Stap 1: Onderdele en komponente

Onderdele en komponente
Onderdele en komponente
Onderdele en komponente
Onderdele en komponente
Onderdele en komponente
Onderdele en komponente
Onderdele en komponente
Onderdele en komponente

Arduino Uno

Potensiometer (x3)

RGB LED

220 ohm weerstand (x3)

Jumper drade (x12)

Broodbord

Stap 2: Beplan u vordering

Beplan u vordering
Beplan u vordering

Dit kan baie nuttig wees om te beplan hoe u u projek gaan voltooi. Kodering gaan alles oor die logiese vordering van een stap na die volgende. Ek het 'n vloeidiagram gemaak wat beskryf hoe ek my skets wil laat loop. Die algemene doelwit is om 3 knoppies (potensiometers) te laat beheer oor elk van die drie kleure van 'n RGB LED. Om dit te bereik, moet ons 'n skets maak wat ooreenstem met die vloeidiagram. Ons sal wil….

1) Lees 3 verskillende potensiometers en stoor hul waardes in veranderlikes.

2) Ons sal die waardes omskakel na die omvang van die RGB LED.

3) Laastens skryf ons die omgeskakel waardes na elk van die kleure van die RGB.

Stap 3: Hoe om potensiometers te gebruik

Hoe om potensiometers te gebruik
Hoe om potensiometers te gebruik
Hoe om potensiometers te gebruik
Hoe om potensiometers te gebruik

Een van die mees basiese komponente in 'n elektroniese stel, die potensiometer kan in baie verskillende projekte gebruik word. potensiometers funksioneer deur die gebruiker toe te laat om die weerstand van die stroombaan fisies te verander. Die mees voorbeeldige voorbeeld van 'n potensiometer is 'n ligte dimmer. Deur 'n knop te skuif of te draai, verander die lengte van die kring. 'n langer pad lei tot meer weerstand. Die verhoogde weerstand verlaag die stroom omgekeerd en die lig verdof. Dit kan in verskillende vorms en groottes kom, maar die meeste het dieselfde basiese opstelling. 'N Student het hulp gevra om sy kitaar reg te maak, en ons het agtergekom dat die knoppies daarop presies dieselfde is as potensiometers. Oor die algemeen was u die buitebene verbind met 5 volt en grond en die middelste been gaan na 'n analoog pen soos A0

Stap 4: Bedradingskema vir (3x) potensiometer

Bedradingskema vir (3x) potensiometer
Bedradingskema vir (3x) potensiometer
Bedradingskema vir (3x) potensiometer
Bedradingskema vir (3x) potensiometer
Bedradingskema vir (3x) potensiometer
Bedradingskema vir (3x) potensiometer

Die linkerkantste been sal aan 5v gekoppel wees en die regterbeen aan die GND. U kan hierdie twee stappe eintlik omkeer, en dit sal die projek nie baie seermaak nie. Al wat verander, is om die knop tot links te draai, maar die volle helderheid is in plaas van heeltemal af. Die middelste been word verbind met een van die analoog penne op die Arduino. Aangesien ons drie knoppe sal hê, wil ons die werk wat ons nou gedoen het, verdriedubbel. Elke knop benodig 5v en GND, sodat dit met 'n broodbord gedeel kan word. Die rooi strook op die broodbord is gekoppel aan 5 Volt en die blou strook is aan die grond gekoppel. Elke knoppies benodig sy eie analoog pen sodat hulle aan A0, A1, A2 gekoppel is.

Stap 5: Gebruik AnalogRead () en veranderlikes

Met u potensiometer korrek opgestel, is ons gereed om die waardes te lees. Elke keer as ons dit wil doen, gebruik ons die analogRead () -funksie. Die korrekte sintaksis is analogRead (pin#); om ons middelpotensiometer te lees, sal ons analoog lees (A1); Om te werk met die getalle wat van die knop na die Arduino gestuur word, wil ons die getalle ook in 'n veranderlike stoor. Die kodelyn sal hierdie taak verrig terwyl ons die potensiometer lees en sy huidige getal stoor in die heelgetal veranderlike "val"

int val = analogRead (A0);

Stap 6: Gebruik die seriële monitor met 1 knop

Image
Image

Tans kan ons waardes van die knoppe kry en dit in 'n veranderlike stoor, maar dit sal handig wees as ons hierdie waardes kan sien. Om dit te kan doen, moet ons gebruik maak van die ingeboude seriële monitor. Die onderstaande kode is die eerste skets wat ons eintlik sal laat loop in die Arduino IDE wat op hul webwerf afgelaai kan word. In die leemte -opstelling () aktiveer ons die analoog penne wat aan elke middelbeen gekoppel is as 'n INVOER en die seriële monitor met Serial.begin (9600); volgende lees ons slegs een van die knoppies en stoor dit in 'n veranderlike soos voorheen. Die verandering is nou dat ons 'n reël bygevoeg het wat druk watter nommer in die veranderlike gestoor is. As u die skets saamstel en uitvoer, kan u u seriële monitor oopmaak en getalle op die skerm sien rol. Elke keer as die kode loop, lees en druk ons 'n ander nommer. As u die knop wat aan A0 gekoppel is, draai, moet u waardes sien wat wissel van 0-1023. later sal die doel wees om al 3 potmeter te lees, wat nog 2 analooglesings en 2 verskillende veranderlikes benodig om op te slaan en te druk.

ongeldige opstelling () {

pinMode (A0, INVOER); pinMode (A1, INVOER); pinMode (A2, INVOER); Serial.begin (9600); } leemte lus () {int val = analogRead (A0); Serial.println (val); }

Stap 7: Gebruik die RGB LED

Gebruik die RGB LED
Gebruik die RGB LED
Gebruik die RGB LED
Gebruik die RGB LED
Gebruik die RGB LED
Gebruik die RGB LED

Die 4 -been RGB LED is een van my gunsteling komponente vir Arduino. Ek vind die manier waarop dit eindelose kleure kan skep uit mengsels van drie basiese kleure fassinerend. Die opstelling is soortgelyk aan enige gewone LED, maar hier het ons basies 'n rooi, blou en groen LED saam. Die kort bene word elkeen beheer deur een van die PWM -penne op die arduino. Die langste been sal gekoppel word aan 5 volt of grond, afhangende van die uwe in 'n gewone anode of 'n gewone katode LED. U moet albei maniere om hierdie probleem op te los, probeer. Ons sal reeds 5v en GND aan die broodbord hê, wat maklik moet verander. Die diagram hierbo toon ook die gebruik van 3 weerstande. Ek slaan hierdie stap eintlik oor, aangesien ek dit nog nooit gehad het nie, en LED blaas op my uit.

Om kleure te maak, gebruik ons die analogWrite () -funksie om te bepaal hoeveel rooi, blou of groen bygevoeg moet word. Om hierdie funksie te gebruik, moet u sê met watter pen# ons sal praat en 'n getal tussen 0-255. 0 is heeltemal af en 255 is die hoogste hoeveelheid van een kleur. Kom ons koppel die rooi been aan pen 9, groen na pen 10 en blou aan pen 11. Dit kan 'n bietjie toetsing verg om uit te vind watter been die kleur is. As ek 'n pers kleur wil maak, kan ek baie rooi, geen groen en miskien 'n halwe sterkte blou doen. Ek moedig u aan om aan hierdie getalle te dink, dit is baie opwindend. Enkele algemene voorbeelde is op die foto's hierbo

ongeldige opstelling () {

pinMode (9, UITGANG); pinMode (10, UITGANG); pinMode (11, OUTPUT); } leemte -lus () {analogWrite (9, 255); analogWrite (10, 0); analogWrite (11, 125)}

Stap 8: Gebruik potensiometers om RGB LED te beheer (met een fout)

Gebruik potensiometers om RGB LED te beheer (met een fout)
Gebruik potensiometers om RGB LED te beheer (met een fout)
Gebruik potensiometers om RGB LED te beheer (met een fout)
Gebruik potensiometers om RGB LED te beheer (met een fout)
Gebruik potensiometers om RGB LED te beheer (met een fout)
Gebruik potensiometers om RGB LED te beheer (met een fout)

Dit is tyd om ons twee kodes saam te smelt. U moet net genoeg ruimte op 'n standaard broodbord hê om by al drie die knoppe en die RGB -LED te pas. Die idee is dat ons in plaas daarvan om die waardes vir rooi blou en groen in te tik, die waardes van elke poteniometer gebruik om die kleure voortdurend te verander. ons benodig 3 veranderlikes in hierdie geval. die rooi, groen, blouval is almal verskillende veranderlikes. Hou in gedagte dat u hierdie veranderlikes alles kan noem wat u wil. as u aan die "groen" knop draai en die rooi hoeveelheid verander, kan u die name korrek verander. u kan nou elke knop draai en die kleure beheer !!

ongeldige opstelling () {

pinMode (A0, INVOER); pinMode (A1, INVOER); pinMode (A2, INVOER); pinMode (9, UITGANG); pinMode (10, UITGANG); pinMode (11, OUTPUT); } leemte -opstelling () {int redVal = analogRead (A0); int greenVal = analogRead (A1); int blueVal = analogRead (A2); analogWrite (9, redVal); analogWrite (10, greenVal); analogWrite (11, blueVal); }

Stap 9: BONUS: Kaart () funksie en skoonmaker kode

U sal dalk sien dat as u die knop vir een kleur begin draai, dit groei en dan skielik afneem. Hierdie patroon om te groei en dan vinnig af te sluit, word 4 keer herhaal terwyl u die knop heeltemal omdraai. As u onthou, het ons gesê dat die potensiometers waardes tussen 0 en 1023 kan lees. Die analogWrite () -funksie aanvaar slegs waardes tussen 0 en 255. sodra die potensiometer meer as 255 gaan, begin dit basies weer by 0. Daar is 'n goeie funksie om te help met die fout genaamd map (). u kan in een stap een reeks getalle in 'n ander reeks getalle omskakel. ons sal getalle van 0-1023 omskakel na getalle van 0-255. As die knop byvoorbeeld halfpad ingestel is, moet dit ongeveer 512 lees. Die getal sal verander word na 126, wat die halwe sterkte van die LED is. In hierdie laaste skets noem ek die penne met veranderlike name vir my gemak. U het nou 'n voltooide kleurmenger om mee te eksperimenteer !!!

// veranderlike name vir potensiometerpenne

int redPot = A0; int greenPot = A1; int bluePot = A2 // veranderlike name vir RGB -penne int redLED = 9; int greenLED = 10; int blueLED = 11; ongeldige opstelling () {pinMode (redPot, INPUT); pinMode (greenPOT, INPUT); pinMode (bloupot, INVOER); pinMode (redLED, OUTPUT); pinMode (greenLED, OUTPUT); pinMode (blueLED, OUTPUT); Reeks, begin (9600); } leemte lus () {// lees en stoor waardes van potensiometers int redVal = analogRead (redPot); int greenVal = analogRead (greenPot); int blueVal - analogRead (bluePot); // verander die waardes van 0-1023 na 0-255 vir die RGB LED redVal = map (redVal, 0, 1023, 0, 255); greenVal = kaart (greenVal, 0, 1023, 0, 255); blueVal = kaart (blueVal, 0, 1023, 0, 255); // skryf hierdie omgeskakel waardes vir elke kleur van die RGB LED analogWrite (redLED, redVal); anaogWrite (greenLED, greenVal); analogWrite (blueLED, blueVal); // wys die waardes op die Serial monitor Serial.print ("rooi:"); Serial.print (redVal); Serial.print ("groen:"); Serial.print (greenVal); Serial.print ("blou:"); Serial.println (blueVal); }

Aanbeveel: