Turinys:
- 1 žingsnis: dalys ir komponentai
- 2 žingsnis: planuokite savo pažangą
- 3 žingsnis: kaip naudoti potenciometrus
- 4 žingsnis: (3x) potenciometro prijungimo schema
- 5 veiksmas: „AnalogRead“() ir kintamųjų naudojimas
- 6 veiksmas: serijinio monitoriaus naudojimas su 1 rankenėle
- 7 veiksmas: RGB šviesos diodo naudojimas
- 8 veiksmas: potenciometrų naudojimas RGB šviesos diodui valdyti (su viena klaida)
- 9 veiksmas: BONUS: žemėlapio () funkcija ir valymo kodas
Video: Spalvų maišytuvas su „Arduino“: 9 žingsniai (su nuotraukomis)
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:48
Sekite daugiau autoriaus:
Apie: Visada mokosi….. Daugiau apie tliguori330 »
Spalvų maišytuvas yra puikus projektas visiems, dirbantiems ir augantiems su „Arduino“. Pasibaigus šiam nurodymui, sukdami 3 rankenėles galėsite sumaišyti ir suderinti beveik visas įsivaizduojamas spalvas. Įgūdžių lygis yra pakankamai žemas, kad net visiškai naujokas gali jį sėkmingai užbaigti, bet taip pat pakankamai įdomus, kad būtų malonus patyrusiam veterinarui. Šio projekto kaina yra beveik nieko, o dauguma „Arduino“rinkinių yra su reikalingomis medžiagomis. Šio kodo esmė yra keletas pagrindinių arduino funkcijų, kurias norės suprasti visi, naudojantys arduino. Mes gilinsimės į analogRead () ir analogWrite () funkcijas, kaip ir kita įprasta funkcija, vadinama map (). Šios nuorodos nukreipia jus į šių funkcijų arduino nuorodų puslapius.
1 žingsnis: dalys ir komponentai
Arduino Uno
Potenciometras (x3)
RGB šviesos diodas
220 omų rezistorius (x3)
Trumpieji laidai (x12)
Bandomoji Lenta
2 žingsnis: planuokite savo pažangą
Gali būti labai naudinga suplanuoti, kaip užbaigsite savo projektą. Kodavimas yra susijęs su loginiu progresu iš vieno žingsnio į kitą. Aš sudariau schemą, kurioje aprašoma, kaip noriu, kad mano eskizas būtų vykdomas. Bendras tikslas yra turėti 3 rankenėles (potenciometrus), valdančias kiekvieną iš trijų RGB šviesos diodų spalvų. Norėdami tai padaryti, turime sukurti eskizą, atitinkantį schemą. Mes norėsime….
1) Perskaitykite 3 skirtingus potenciometrus ir išsaugokite jų reikšmes kintamuosiuose.
2) Mes konvertuosime šias vertes, kad jos atitiktų RGB šviesos diodo diapazoną.
3) Tada galiausiai parašysime tas konvertuotas vertes į kiekvieną RGB spalvą.
3 žingsnis: kaip naudoti potenciometrus
Vienas iš pagrindinių elektronikos rinkinių komponentų, potenciometras gali būti naudojamas daugelyje skirtingų projektų. potenciometrai veikia, leisdami vartotojui fiziškai pakeisti grandinės varžą. Labiausiai farmilarinis potenciometro pavyzdys yra šviesos reguliatorius. slenkant ar sukant rankenėlę keičiamas grandinės ilgis. ilgesnis kelias sukelia didesnį pasipriešinimą. Padidėjęs pasipriešinimas atvirkščiai sumažina srovę ir apšvietimą. Jie gali būti įvairių formų ir dydžių, tačiau dauguma jų turi tą pačią pagrindinę sąranką. Vienas studentas paprašė pagalbos sutvarkant gitarą ir sužinojome, kad jo rankenėlės yra visiškai tokios pačios kaip potenciometrai. Apskritai jūs buvote išorinės kojos, prijungtos prie 5 voltų ir žemės, o vidurinė koja eina į analoginį kaištį, pvz., A0
4 žingsnis: (3x) potenciometro prijungimo schema
Kairė dauguma kojų bus prijungta prie 5v, o dešinė - prie GND. Jūs iš tikrųjų galite pakeisti šiuos du veiksmus ir tai labai nepakenks projektui. Viskas, kas pasikeistų, yra sukti rankenėlę į kairę, o ne visą šviesą. Vidurinė koja bus prijungta prie vieno iš analoginių „Arduino“kaiščių. Kadangi turėsime tris rankenėles, norėsime trigubai padidinti ką tik atliktus darbus. Kiekvienai rankenėlei reikia 5 V ir GND, todėl jas galima dalintis naudojant duonos lentą. Raudona juostelė ant duonos lentos yra prijungta prie 5 voltų, o mėlyna - prie žemės. Kiekvienai rankenėlei reikia savo analoginio kaiščio, kad jos būtų prijungtos prie A0, A1, A2.
5 veiksmas: „AnalogRead“() ir kintamųjų naudojimas
Teisingai nustatę potenciometrą, mes pasiruošę nuskaityti šias vertes. Kai norime tai padaryti, naudojame funkciją analogRead (). Teisinga sintaksė yra analogRead (pin#); taigi, norėdami perskaityti mūsų vidurinį potenciometrą, turėtume analogRead (A1); Norėdami dirbti su skaičiais, siunčiamais iš rankenėlės į „Arduino“, mes taip pat norime išsaugoti tuos skaičius kintamajame. Kodo eilutė atliks šią užduotį, kai perskaitysime potenciometrą ir išsaugosime dabartinį jo skaičių sveikųjų skaičių kintamajame „val“
int val = analogRead (A0);
6 veiksmas: serijinio monitoriaus naudojimas su 1 rankenėle
Šiuo metu mes galime gauti reikšmes iš rankenėlių ir išsaugoti jas kintamajame, tačiau būtų naudinga, jei galėtume pamatyti šias vertes. Norėdami tai padaryti, turime naudoti įmontuotą nuoseklųjį monitorių. Žemiau pateiktas kodas yra pirmasis eskizas, kurį iš tikrųjų vykdysime „Arduino IDE“, kurį galima atsisiųsti iš jų svetainės. Tuštumos sąrankoje () suaktyvinsime analoginius kaiščius, prijungtus prie kiekvienos vidurinės kojos, kaip įvestį ir suaktyvinsime serijinį monitorių naudojant Serial.begin (9600); Toliau mes skaitome tik vieną iš rankenėlių ir saugome ją kintamajame, kaip anksčiau. Pakeitimas yra tas, kad pridėjome eilutę, kuri spausdina, koks skaičius yra saugomas kintamajame. Jei sukompiliuosite ir paleisite eskizą, galėsite atidaryti serijinį monitorių ir ekrane matyti slenkančius skaičius. Kiekvieną kartą, kai kodo kilpos skaitome ir spausdiname kitą numerį. Jei pasuksite rankenėlę, prijungtą prie A0, turėtumėte matyti reikšmes nuo 0 iki 1023. vėliau tikslas bus perskaityti visus 3 potentiometrus, kuriems išsaugoti ir spausdinti reikės dar 2 analoginių skaitymų ir 2 skirtingų kintamųjų.
void setup () {
pinMode (A0, INPUT); pinMode (A1, INPUT); pinMode (A2, INPUT); Serial.begin (9600); } void loop () {int val = analogRead (A0); Serial.println (val); }
7 veiksmas: RGB šviesos diodo naudojimas
4 kojų RGB LED yra vienas iš mano mėgstamiausių „Arduino“komponentų. Man įdomu tai, kaip jis gali sukurti begalines spalvas iš trijų pagrindinių spalvų mišinių. Sąranka yra panaši į bet kurį įprastą šviesos diodą, tačiau čia iš esmės yra raudoni, mėlyni ir žali šviesos diodai. Trumpas kojas valdys vienas iš arduino PWM kaiščių. Ilgiausia kojelė bus prijungta prie 5 voltų arba įžeminimo, priklausomai nuo to, ar jūs naudojate bendrą anodą, ar bendrą katodo šviesos diodą. Turėsite išbandyti abu problemos sprendimo būdus. Mes jau turėsime 5v ir GND prijungtus prie duonos lentos, kad ją būtų lengva pakeisti. Aukščiau pateiktoje diagramoje taip pat parodyta, kaip naudoti 3 rezistorius. Aš iš tikrųjų dažnai praleidžiu šį žingsnį, nes neturėjau, o šviesos diodas užsidega.
Norėdami sukurti spalvas, mes naudosime funkciją „analogWrite ()“, kad kontroliuotume, kiek raudonos, mėlynos ar žalios spalvos pridėti. Norėdami naudoti šią funkciją, turite pasakyti, su kokiu kaiščiu# kalbėsime, ir skaičių tarp 0–255. 0 yra visiškai išjungtas, o 255 - didžiausias vienos spalvos kiekis. Prijunkite raudoną kojelę prie 9 kaiščio, žalią prie 10 kaiščio ir mėlyną prie 11. kaiščio. Norint išsiaiškinti, kurios kojos spalva yra, gali prireikti bandymų ir klaidų. Jei norėčiau padaryti purpurinį atspalvį, galėčiau padaryti daug raudonos, be žalios, o gal ir pusiau mėlynos spalvos. Kviečiu susimąstyti apie šiuos skaičius, tai tikrai įdomu. Kai kurie įprasti pavyzdžiai yra aukščiau esančiose nuotraukose
void setup () {
pinMode (9, OUTPUT); pinMode (10, OUTPUT); pinMode (11, OUTPUT); } void loop () {analogWrite (9, 255); analogWrite (10, 0); analogWrite (11, 125)}
8 veiksmas: potenciometrų naudojimas RGB šviesos diodui valdyti (su viena klaida)
Atėjo laikas pradėti sujungti abu mūsų kodus. Ant standartinės duonos lentos turėtumėte turėti pakankamai vietos, kad tilptų visos 3 rankenėlės ir RGB šviesos diodas. Idėja yra ta, kad vietoj to, kad įvestumėte raudonos mėlynos ir žalios spalvos reikšmes, mes naudosime iš kiekvieno poteniometro išsaugotas vertes, kad nuolat keistume spalvas. šiuo atveju mums reikės 3 kintamųjų. raudonas, žalias, mėlynas yra skirtingi kintamieji. Atminkite, kad šiuos kintamuosius galite pavadinti bet kuo. pasukus „žalią“rankenėlę ir pasikeitus raudonai sumai, galite pakeisti pavadinimus, kad jie atitiktų teisingai. Dabar galite pasukti kiekvieną rankenėlę ir valdyti spalvas !!
void setup () {
pinMode (A0, INPUT); pinMode (A1, INPUT); pinMode (A2, INPUT); pinMode (9, OUTPUT); pinMode (10, OUTPUT); pinMode (11, OUTPUT); } void setup () {int redVal = analogRead (A0); int greenVal = analogRead (A1); int blueVal = analogRead (A2); analogWrite (9, redVal); analogWrite (10, žaliaVal); analogWrite (11, mėlynasVal); }
9 veiksmas: BONUS: žemėlapio () funkcija ir valymo kodas
Galite pastebėti, kad pradėjus sukti vienos spalvos rankenėlę aukštyn, ji augs ir staiga nukris. Šis augimo ir greito išjungimo modelis kartojasi 4 kartus, kai sukate rankenėlę iki galo. Jei prisimenate, sakėme, kad potenciometrai gali nuskaityti reikšmes nuo 0 iki 1023. Funkcija analogWrite () priima tik reikšmes nuo 0 iki 255. Kai potenciometras viršija 255, jis iš esmės prasideda nuo 0. Yra puiki funkcija, padedanti klaida, vadinama žemėlapiu (). vienu žingsniu galite konvertuoti vieną skaičių diapazoną į kitą skaičių diapazoną. konvertuosime skaičius nuo 0-1023 į skaičius nuo 0-255. Pavyzdžiui, jei rankenėlė buvo nustatyta iki pusės, ji turėtų būti apie 512. šis skaičius būtų pakeistas į 126, o tai yra pusė šviesos diodo stiprumo. Šiame paskutiniame eskize aš savo patogumui pavadinau kaiščius kintamaisiais pavadinimais. Dabar turite pilną spalvų maišytuvą, su kuriuo galite eksperimentuoti !!!
// kintamieji potenciometro kaiščių pavadinimai
int redPot = A0; int greenPot = A1; int bluePot = A2 // kintamieji RGB kaiščių pavadinimai int redLED = 9; int žaliaLED = 10; int mėlynaLED = 11; void setup () {pinMode (redPot, INPUT); pinMode (žaliasPOT, INPUT); pinMode („bluePot“, „INPUT“); pinMode (raudonas LED, OUTPUT); pinMode (žaliasLED, OUTPUT); pinMode (mėlyna LED, OUTPUT); Serija, pradžia (9600); } void loop () {// skaityti ir išsaugoti vertes iš potenciometrų int redVal = analogRead (redPot); int greenVal = analogRead (greenPot); int blueVal - analogRead (bluePot); // konvertuoti RGB šviesos diodo reikšmes iš 0-1023 į 0-255 redVal = map (redVal, 0, 1023, 0, 255); greenVal = žemėlapis (greenVal, 0, 1023, 0, 255); blueVal = žemėlapis (blueVal, 0, 1023, 0, 255); // įrašykite šias konvertuotas vertes į kiekvieną RGB LED analogWrite spalvą (redLED, redVal); anaogWrite (žaliasLED, žaliasVal); analogWrite („blueLED“, „blueVal“); // rodyti vertes serijiniame monitoriuje Serial.print ("red:"); Serial.print (redVal); Serial.print ("žalia:"); Serial.print (greenVal); Serial.print ("mėlyna:"); Serial.println (blueVal); }
Rekomenduojamas:
Automatinis maišytuvas (be palietimo) naudojant „Arduino“- nusiplaukite rankas ir būkite saugūs COVID -19 krizės metu: 4 žingsniai
Automatinis maišytuvas (be palietimo) naudojant „Arduino“- nusiplaukite rankas ir būkite saugūs COVID -19 krizės metu: Sveiki, draugai! Tikiuosi, kad dabar jums viskas gerai ir esate saugūs. Šiame įraše aš jums paaiškinsiu apie savo prototipą, kurį sukūriau saugiai plauti rankas. Šį projektą sukūriau turėdamas ribotus išteklius. Tie, kurie domisi, gali šią pro
„Arduino“valdomas magnetinis maišytuvas: 8 žingsniai (su nuotraukomis)
„Arduino“valdomas magnetinis maišytuvas: Sveiki vaikinai & Merginos. Čia yra mano 3D atspausdinto „Super Slimline magnetinio maišytuvo“versija, sukurta „Magnetų konkursui“. Jame yra 3x greičio nustatymai (žemas, vidutinis ir didelis), pagaminti iš seno kompiuterio ventiliatoriaus ir valdomi naudojant
Paprastas ir mažas magnetinis maišytuvas: 8 žingsniai (su nuotraukomis)
Paprastas ir mažas magnetinis maišytuvas: Visų pirma, anglų kalba nėra mano mama, todėl paaiškinimuose galite rasti gramatinių klaidų. Būčiau dėkingas, jei padėtumėte man pataisyti instrukciją. Tai sakant, pradėkime. Magnetinis maišytuvas yra laboratorinė įranga
Automatinis kortelių maišytuvas: 6 žingsniai (su nuotraukomis)
Automatinis kortelių maišytuvas: Sveiki! Šis nurodymas buvo sukurtas vykdant Pietų Floridos universiteto „Makecourse“projekto reikalavimą. (www.makecourse.com) Šioje instrukcijoje nurodysiu, kaip sukurti automatinį kortelių maišymą
„Switch-Adapt“žaislai: „Play @ Home“maišytuvas tapo prieinamas!: 7 žingsniai (su nuotraukomis)
„Switch-Adapt“žaislai: „Play @ Home“maišytuvas tapo prieinamas!: Žaislų pritaikymas atveria naujas galimybes ir pritaikytus sprendimus, leidžiančius vaikams, turintiems ribotus motorinius gebėjimus ar vystymosi sutrikimus, savarankiškai bendrauti su žaislais. Daugeliu atvejų vaikai, kuriems reikia pritaikytų žaislų, negali