Satura rādītājs:
- 1. darbība: detaļas un komponenti
- 2. solis: plānojiet savu progresu
- 3. darbība: kā lietot potenciometrus
- 4. solis: (3x) potenciometra elektroinstalācijas shēma
- 5. darbība. AnalogRead () un mainīgo izmantošana
- 6. darbība. Seriālā monitora lietošana ar 1 pogu
- 7. darbība: RGB gaismas diodes izmantošana
- 8. darbība: potenciometru izmantošana RGB gaismas diodes kontrolei (ar vienu kļūdu)
- 9. darbība: BONUSS: kartes () funkcija un tīrīšanas kods
Video: Krāsu maisītājs ar Arduino: 9 soļi (ar attēliem)
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:57
Seko vairāk autoram:
Par: Vienmēr mācīties….. Vairāk par tliguori330 »
Krāsu maisītājs ir lielisks projekts ikvienam, kurš strādā un aug kopā ar Arduino. Līdz šīs pamācības beigām, pagriežot 3 pogas, varēsiet sajaukt un saskaņot gandrīz visas iedomājamās krāsas. Prasmju līmenis ir pietiekami zems, lai pat pilnīgs iesācējs to varētu veiksmīgi pabeigt, bet arī pietiekami interesants, lai būtu patīkams pieredzējušam veterinārārstam. Šī projekta izmaksas ir gandrīz nekas, un lielākajai daļai Arduino komplektu ir nepieciešamie materiāli. Šī koda pamatā ir dažas fundamentālas arduino funkcijas, kuras ikviens, kas izmanto arduino, vēlēsies saprast. Mēs iedziļināsimies funkcijās analogRead () un analogWrite (), kā mēs kā vēl viena parasta funkcija, ko sauc par map (). Šīs saites novirza uz šo funkciju arduino atsauces lapām.
1. darbība: detaļas un komponenti
Arduino Uno
Potenciometrs (x3)
RGB gaismas diode
220 omu rezistors (x3)
Jumper vadi (x12)
Maizes dēlis
2. solis: plānojiet savu progresu
Var būt ļoti noderīgi plānot, kā pabeigsiet savu projektu. Kodēšana ir saistīta ar loģisku progresu no viena soļa uz nākamo. Es izveidoju blokshēmu, kurā izklāstīts, kā es vēlos, lai mana skice tiktu izpildīta. Vispārējais mērķis ir 3 pogas (potenciometri), kas kontrolē katru no trim RGB gaismas diodes krāsām. Lai to paveiktu, mums būs jāizveido skice, kas atbilst plūsmas diagrammai. Mēs gribēsim….
1) Izlasiet 3 dažādus potenciometrus un saglabājiet to vērtības mainīgajos.
2) Mēs pārveidosim šīs vērtības, lai tās atbilstu RGB gaismas diodes diapazonam.
3) Visbeidzot, mēs uzrakstīsim šīs konvertētās vērtības katrai RGB krāsai.
3. darbība: kā lietot potenciometrus
Potenciometru, kas ir viens no elementārākajiem komponentiem elektronikas komplektos, var izmantot daudzos dažādos projektos. potenciometri darbojas, ļaujot lietotājam fiziski mainīt ķēdes pretestību. Potenciometra vissvarīgākais piemērs ir gaismas dimmeris. bīdot vai pagriežot pogu, tiek mainīts ķēdes garums. garāks ceļš rada lielāku pretestību. Paaugstināta pretestība apgriezti samazina strāvu un apgaismojumu. Tie var būt dažādās formās un izmēros, bet lielākajai daļai ir tāda pati pamatiestatīšana. Kāds students lūdza palīdzību ģitāras sakārtošanā, un mēs noskaidrojām, ka uz tās esošās pogas ir tieši tādas pašas kā potenciometri. Kopumā jūs bijāt ārējās kājas, kas savienotas ar 5 voltiem un zemi, un vidējā kāja iet uz analogo tapu, piemēram, A0
4. solis: (3x) potenciometra elektroinstalācijas shēma
Lielākā kreisā kāja tiks savienota ar 5V, bet labākā kāja - ar GND. Jūs faktiski varat mainīt šos divus soļus, un tas ļoti nekaitēs projektam. Viss, kas mainītos, ir pagriezt pogu līdz galam pa kreisi, un tas būs pilnā spilgtumā, nevis līdz galam. Vidējā kāja tiks savienota ar vienu no Arduino analogās tapām. Tā kā mums būs trīs kloķi, mēs vēlēsimies trīskāršot tikko paveikto darbu. Katrai pogai ir nepieciešami 5 V un GND, lai tos varētu koplietot, izmantojot maizes dēli. Sarkanā sloksne uz maizes dēļa ir savienota ar 5 voltiem, un zilā sloksne ir pievienota zemei. Katrai pogai ir nepieciešama sava analogā tapa, lai tās būtu savienotas ar A0, A1, A2.
5. darbība. AnalogRead () un mainīgo izmantošana
Ja potenciometrs ir pareizi iestatīts, mēs esam gatavi nolasīt šīs vērtības. Kad mēs vēlamies to darīt, mēs izmantojam funkciju analogRead (). Pareizā sintakse ir analogRead (pin#); tāpēc, lai nolasītu mūsu vidējo potenciometru, mēs izmantotu analogRead (A1); Lai strādātu ar cipariem, kas tiek nosūtīti no pogas uz Arduino, mēs vēlēsimies arī saglabāt šos skaitļus mainīgā. Koda rinda veiks šo uzdevumu, lasot potenciometru un saglabājot tā pašreizējo numuru vesela skaitļa mainīgajā "val"
int val = analogRead (A0);
6. darbība. Seriālā monitora lietošana ar 1 pogu
Pašlaik mēs varam iegūt vērtības no pogām un saglabāt tās mainīgā, taču būtu noderīgi, ja mēs varētu redzēt šīs vērtības. Lai to izdarītu, mums jāizmanto iebūvētais seriālais monitors. Zemāk esošais kods ir pirmā skice, kuru mēs faktiski darbināsim Arduino IDE, kuru var lejupielādēt viņu vietnē. Void setup () mēs aktivizēsim analogās tapas, kas savienotas ar katru vidējo kāju kā INPUT, un aktivizēsim Serial monitoru, izmantojot Serial.begin (9600); tālāk mēs lasām tikai vienu no pogām un uzglabājam to tādā mainīgā lielumā kā iepriekš. Izmaiņas tagad ir tādas, ka esam pievienojuši rindu, kas izdrukā, kāds skaitlis ir saglabāts mainīgajā. Ja apkopojat un palaižat skici, varat atvērt seriālo monitoru un redzēt, kā ekrānā ritinās cipari. Katru reizi, kad koda cilpas mēs lasām un drukājam citu numuru. Pagriežot pogu, kas savienota ar A0, vajadzētu redzēt vērtības diapazonā no 0 līdz 1023. vēlāk mērķis būs nolasīt visus 3 potenciometrus, kuru saglabāšanai un drukāšanai būtu nepieciešami vēl 2 analogReads un 2 dažādi mainīgie.
void setup () {
pinMode (A0, INPUT); pinMode (A1, INPUT); pinMode (A2, INPUT); Sērijas sākums (9600); } void loop () {int val = analogRead (A0); Serial.println (val); }
7. darbība: RGB gaismas diodes izmantošana
4 kāju RGB LED ir viena no manām iecienītākajām Arduino sastāvdaļām. Man šķiet aizraujoši veids, kā tas spēj radīt bezgalīgas krāsas no 3 pamatkrāsu maisījumiem. Uzstādīšana ir līdzīga jebkurai parastajai gaismas diodei, taču šeit mums pamatā ir apvienotas sarkanas, zilas un zaļas gaismas diodes. Katras īsās kājas kontrolēs viena no arduino PWM tapām. Garākā kājiņa tiks savienota ar 5 voltiem vai zemi, atkarībā no tā, vai jūs to izmantojat kopējā anodā vai kopējā katoda gaismas diodē. Jums būs jāizmēģina abi veidi, kā atrisināt problēmu. Mums jau būs 5v un GND, kas savienoti ar maizes dēli, lai to būtu viegli mainīt. Iepriekš redzamā diagramma parāda arī 3 rezistoru izmantošanu. Es patiesībā bieži izlaižu šo soli, jo man tas nav bijis, un gaismas diodes uz mani iedegas.
Lai izveidotu krāsas, mēs izmantosim funkciju analogWrite (), lai kontrolētu, cik daudz sarkanās, zilās vai zaļās krāsas pievienot. Lai izmantotu šo funkciju, jums jāpasaka, ar kuru taustiņu# mēs runāsim, un skaitlis no 0 līdz 255. 0 ir pilnībā izslēgts, un 255 ir lielākais vienas krāsas daudzums. Savienosim sarkano kāju ar 9. tapu, zaļo ar 10. tapu un zilo līdz 11. tapai. Tas var prasīt zināmus izmēģinājumus un kļūdas, lai noskaidrotu, kura kāja ir kādā krāsā. Ja es gribētu iegūt purpursarkanu nokrāsu, es varētu izdarīt daudz sarkanas, bez zaļas un varbūt pusi no zilas krāsas. Es aicinu jūs rūpēties par šiem skaitļiem, tas ir patiešām aizraujoši. Daži izplatīti piemēri ir redzami iepriekš redzamajos attēlos
void setup () {
pinMode (9, OUTPUT); pinMode (10, OUTPUT); pinMode (11, OUTPUT); } void loop () {analogWrite (9, 255); analogWrite (10, 0); analogWrite (11, 125)}
8. darbība: potenciometru izmantošana RGB gaismas diodes kontrolei (ar vienu kļūdu)
Ir pienācis laiks sākt apvienot abus mūsu kodus. Jums vajadzētu būt pietiekami daudz vietas uz standarta maizes dēļa, lai ietilptu visas 3 pogas un RGB gaismas diode. Ideja ir nevis ierakstīt sarkanās zilās un zaļās vērtības, bet mēs izmantosim katra poteniometra saglabātās vērtības, lai pastāvīgi mainītu krāsas. šajā gadījumā mums būs nepieciešami 3 mainīgie. redval, greenval, blueval ir dažādi mainīgie. Ņemiet vērā, ka šos mainīgos varat nosaukt par visu, ko vēlaties. ja pagriežat pogu "zaļa" un sarkanais daudzums mainās, varat pārslēgt nosaukumus, lai tie pareizi sakristu. tagad jūs varat pagriezt katru pogu un kontrolēt krāsas !!
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, zaļšVal); analogWrite (11, zilsVal); }
9. darbība: BONUSS: kartes () funkcija un tīrīšanas kods
Jūs varat pamanīt, ka, pagriežot vienas krāsas pogu, tā pieaugs un pēkšņi nokritīs līdz izslēgšanai. Šis augšanas un pēc tam ātras izslēgšanas modelis atkārtojas 4 reizes, pagriežot pogu līdz galam. Ja atceraties, mēs teicām, ka potenciometri var nolasīt vērtības no 0 līdz 1023. Funkcija analogWrite () pieņem tikai vērtības no 0 līdz 255. Kad potenciometrs pārsniedz 255, tas pamatā sākas no nulles. Ir jauka funkcija, kas palīdz kļūda, ko sauc par karti (). vienā solī varat pārvērst vienu skaitļu diapazonu citā skaitļu diapazonā. mēs konvertēsim skaitļus no 0-1023 uz skaitļiem no 0-255. Piemēram, ja poga bija iestatīta uz pusi, tai vajadzētu būt aptuveni 512. šis skaitlis tiktu mainīts uz 126, kas ir puse no gaismas diodes stipruma. Šajā pēdējā skicē es ērtībai nosaucu tapas ar mainīgiem nosaukumiem. Tagad jums ir pabeigts krāsu maisītājs, ar ko eksperimentēt !!!
// potenciometru tapu mainīgie nosaukumi
int redPot = A0; int greenPot = A1; int bluePot = A2 // mainīgo nosaukumi RGB tapām int redLED = 9; int greenLED = 10; int blueLED = 11; void setup () {pinMode (redPot, INPUT); pinMode (greenPOT, INPUT); pinMode (bluePot, INPUT); pinMode (redLED, OUTPUT); pinMode (zaļšLED, OUTPUT); pinMode (blueLED, OUTPUT); Seriāls, sākums (9600); } void loop () {// nolasīt un saglabāt potenciometru vērtības int redVal = analogRead (redPot); int greenVal = analogRead (greenPot); int blueVal - analogRead (bluePot); // pārvērst vērtības no 0-1023 uz 0-255 RGB LED redVal = map (redVal, 0, 1023, 0, 255); greenVal = karte (greenVal, 0, 1023, 0, 255); blueVal = karte (blueVal, 0, 1023, 0, 255); // ierakstiet šīs konvertētās vērtības katrai RGB LED analogWrite krāsai (redLED, redVal); anaogWrite (zaļšLED, zaļšVal); analogWrite (blueLED, blueVal); // rādīt vērtības Serial monitorā Serial.print ("red:"); Serial.print (redVal); Serial.print ("zaļš:"); Serial.print (greenVal); Serial.print ("zils:"); Serial.println (blueVal); }
Ieteicams:
Krāsu noteikšanas krāsu iekārta: 4 soļi
Krāsu noteikšanas krāsu iekārta: Krāsu noteikšanas krāsu iekārta kopē krāsas ap jums un ļauj zīmēt ar tām. Ja jums ir primāro krāsu krāsa, varat izmantot RGB krāsu sensoru, lai saprastu vēlamo krāsu un to sajauktu. Bet atcerieties, izmantojiet spilgtas krāsas objektu
Arduino kontrolēts magnētiskais maisītājs: 8 soļi (ar attēliem)
Arduino kontrolēts magnētiskais maisītājs: Sveiki puiši & Meitenes. Šeit ir mana 3D drukātā "Super Slimline magnētiskā maisītāja" versija, kas izveidota "Magnētu konkursam". Tam ir 3x ātruma iestatījumi (zems, vidējs un augsts), kas izgatavoti no veca datora ventilatora un tiek kontrolēti ar
Dzērienu maisītājs: 5 soļi (ar attēliem)
Dzērienu maisītājs: šī pamācība tika izveidota, izpildot Dienvidfloridas universitātes Makecourse projekta prasības (www.makecourse.com)
Vienkāršs un mazs magnētiskais maisītājs: 8 soļi (ar attēliem)
Vienkāršs un mazs magnētiskais maisītājs: Pirmkārt, angļu valoda nav mana māte, tāpēc paskaidrojumos var atrast dažas gramatiskas kļūdas. Būšu pateicīgs, ja palīdzēsiet man izlabot manu pamācību. To sakot, sāksim. Magnētiskais maisītājs ir laboratorijas aprīkojums
Nagu lakas maisītājs ("Maisītājs"): 5 soļi
Nagu lakas maisītājs ("Maisītājs"): ātra maiga nagu lakas "maisītāja" veidošana. izmantojot mikroviļņu krāsns pagrieziena galda motoru, dažas caurules, korpusu, drošinātāju un svinu … Es 3D drukāju šos (attēlā redzamos) tauriņus no Thingiverse (https://www.thingiverse.com/thing:178830) un