Talaan ng mga Nilalaman:
- Hakbang 1: Mga Bahagi at Componet
- Hakbang 2: Planuhin ang Iyong Pag-unlad
- Hakbang 3: Paano Gumamit ng Mga Potensyal
- Hakbang 4: Mga Kable ng Schematic para sa (3x) Potensyomiter
- Hakbang 5: Paggamit ng AnalogRead () at Mga Variable
- Hakbang 6: Paggamit ng Serial Monitor Na May 1 Knob
- Hakbang 7: Gamit ang RGB LED
- Hakbang 8: Paggamit ng Potentiometers upang Makontrol ang RGB LED (na may Isang Bug)
- Hakbang 9: BONUS: Mapa () Pag-andar at Mas Malinis na Code
Video: Color Mixer With Arduino: 9 Hakbang (na may Mga Larawan)
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:14
Sa pamamagitan ng tliguori330Follow Higit pa ng may-akda:
Tungkol sa: Palaging natututo ….. Higit Pa Tungkol sa tliguori330 »
Ang isang color mixer ay isang mahusay na proyekto para sa sinumang nagtatrabaho at lumalaki kasama ng Arduino. Sa pagtatapos ng pagtuturo na ito magagawa mong ihalo at itugma ang halos bawat kulay na maiisip sa pamamagitan ng pag-on ng 3 knobs. Ang antas ng kasanayan ay sapat na mababa na kahit na ang isang kumpletong rookie ay maaaring makumpleto ito nang matagumpay, ngunit sapat din ang kagiliw-giliw na kasiya-siya para sa isang bihasang vet. Ang gastos ng proyektong ito ay wala sa tabi at ang karamihan sa mga Arduino kit ay mayroong mga materyal na kinakailangan. Sa core ng code na ito ay ilang mga fundemental arduino function na nais na maunawaan ng sinumang gumagamit ng arduino. Pupunta kami sa lalim tungkol sa mga pag-andar ng analogRead () at analogWrite () tulad ng isa pang karaniwang pag-andar na tinatawag na mapa (). Dinadala ka ng mga link na ito sa mga pahina ng sanggunian ng arduino para sa mga pagpapaandar na ito.
Hakbang 1: Mga Bahagi at Componet
Arduino Uno
Potensyomiter (x3)
RGB LED
220 ohm risistor (x3)
Jumper wires (x12)
Bread board
Hakbang 2: Planuhin ang Iyong Pag-unlad
Napaka kapaki-pakinabang upang planuhin kung paano mo makukumpleto ang iyong proyekto. Ang pag-coding ay tungkol sa lohikal na pag-unlad mula sa isang hakbang hanggang sa susunod. Gumawa ako ng isang tsart ng daloy na binabalangkas kung paano ko nais na tumakbo ang aking sketch. Ang pangkalahatang layunin ay magkaroon ng 3 knobs (potentiometers) na kontrolin ang bawat isa sa tatlong mga kulay ng isang RGB LED. Upang magawa ito kakailanganin naming lumikha ng isang sketch na tumutugma sa tsart ng daloy. Gusto naming….
1) Basahin ang 3 magkakaibang potensyal at i-save ang kanilang mga halaga sa mga variable.
2) Kami ay i-convert ang mga halagang iyon upang tumugma sa saklaw ng RGB LED.
3) Pagkatapos sa wakas ay isusulat namin ang mga na-convert na halaga sa bawat isa sa mga kulay ng RGB.
Hakbang 3: Paano Gumamit ng Mga Potensyal
Isa sa mga pinaka pangunahing bahagi sa isang electronics kit, ang potentiometer ay maaaring magamit sa maraming iba't ibang mga proyekto. gumana ang potentiometers sa pamamagitan ng pagpapahintulot sa gumagamit na pisikal na baguhin ang paglaban ng circuit. Ang pinaka halimbawa ng halimbawa ng potensyomiter ay isang light dimmer. ang pag-slide o pag-on ng knob ay nagbabago sa haba ng circuit. ang isang mas mahabang landas ay nagreresulta sa higit na pagtutol. Ang nadagdagang pagtutol sa kabaligtaran ay nagpapababa ng kasalukuyang at ang ilaw ay lumubog. Maaari itong magkaroon ng lahat ng magkakaibang hugis at sukat ngunit ang karamihan ay may parehong pangunahing pag-set up. Humiling ng tulong ang isang mag-aaral sa pag-aayos ng kanyang gitara at nalaman namin ang mga knob dito ay eksaktong kapareho ng mga potentiometers. Sa pangkalahatan ikaw ay ang mga binti sa labas na konektado sa 5 volts at ground at ang gitnang binti ay papunta sa isang analog pin tulad ng A0
Hakbang 4: Mga Kable ng Schematic para sa (3x) Potensyomiter
Ang kaliwang pinaka-binti ay konektado sa 5v at ang kanang pinaka-binti ay konektado sa GND. Maaari mo talagang baligtarin ang dalawang hakbang na ito at hindi nito masyadong sasaktan ang proyekto. Ang lahat na magbabago ay ang pag-on ng knob hanggang sa kaliwa ay magiging buong ningning sa halip na ang lahat ay malayo. Ang gitnang binti ay makakonekta sa isa sa mga analog na pin sa Arduino. Dahil magkakaroon kami ng tatlong mga knobs, gugustuhin naming triple up ang gawaing kagagawan lamang namin. Ang bawat knob ay nangangailangan ng 5v at GND upang maibahagi ang mga iyon gamit ang isang board ng tinapay. Ang pulang strip sa board ng tinapay ay konektado sa 5 Volts at ang asul na strip ay konektado sa lupa. Ang bawat knobs ay nangangailangan ng sarili nitong analog pin kaya nakakonekta ang mga ito sa A0, A1, A2.
Hakbang 5: Paggamit ng AnalogRead () at Mga Variable
Sa iyo potentiometer set up ng tama handa na kaming basahin ang mga halagang iyon. Kapag nais naming gawin ito ginagamit namin ang pagpapaandar ng analogRead (). Ang tamang syntax ay analogRead (pin #); kaya upang basahin ang aming gitnang potensyomiter nais naming analogRead (A1); Upang magtrabaho kasama ang mga numero na ipinapadala mula sa knob patungo sa Arduino, nais naming i-save din ang mga numerong iyon sa isang variable. Gagampanan ng linya ng code ang gawaing ito habang binabasa namin ang potensyomiter at nai-save ang kasalukuyang numero nito sa integer variable na "val"
int val = analogRead (A0);
Hakbang 6: Paggamit ng Serial Monitor Na May 1 Knob
Kasalukuyan kaming makakakuha ng mga halaga mula sa mga knob at maiimbak ang mga ito sa isang variable, ngunit kapaki-pakinabang kung maaari naming makita ang mga halagang ito. Upang magawa ito kailangan nating gamitin ang built in na serial monitor. Ang code sa ibaba ay ang unang sketch na tatakbo talaga kami sa Arduino IDE na maaaring ma-download sa kanilang site. Sa void setup () paganahin namin ang mga analog pin na konektado sa bawat gitnang binti bilang isang INPUT at buhayin ang Serial monitor gamit ang Serial.begin (9600); susunod na binabasa lamang namin ang isa sa mga knobs at iniimbak ito sa isang variable tulad ng dati. Ang pagbabago ngayon ay nagdagdag kami ng isang linya na naglilimbag kung anong numero ang nakaimbak sa variable. Kung pinagsama-sama mo at pinatakbo ang sketch maaari mong buksan ang iyong Serial monitor at makita ang mga numero na nag-scroll sa screen. Sa bawat oras na ang mga loop ng code ay nagbabasa at nagpi-print kami ng isa pang numero. Kung i-on mo ang knob na konektado sa A0 dapat mong makita ang mga halagang mula 0-1023. mamaya sa layunin ay basahin ang lahat ng 3 potntiometers na mangangailangan ng 2 pang analogReads at 2 magkakaibang variable upang mai-save at mai-print.
walang bisa ang pag-setup () {
pinMode (A0, INPUT); pinMode (A1, INPUT); pinMode (A2, INPUT); Serial.begin (9600); } void loop () {int val = analogRead (A0); Serial.println (val); }
Hakbang 7: Gamit ang RGB LED
Ang 4 Legged RGB LED i isa sa aking mga paboritong bahagi para sa Arduino. Nahanap ko Ang paraan na ito ay makakalikha ng walang katapusang mga kulay mula sa mga mixture na 3 ng pangunahing mga kulay na kamangha-manghang. Ang set up ay katulad ng anumang regular na LED ngunit dito karaniwang mayroon kaming isang pula, asul at berde na mga LED na pinagsama. Ang mga maiikling binti ay makokontrol ng isa sa mga PWM na pin sa arduino. Ang pinakamahabang binti ay konektado sa 5 volts o ground, depende kung sa iyo sa isang pangkaraniwang anode o karaniwang LED na cathode. Kakailanganin mong subukan ang parehong paraan upang malutas ito ng problema. Magkakaroon na kami ng 5v at GND na konektado sa breadboard dito dapat itong madaling baguhin. Ang diagram sa itaas ay nagpapakita ng paggamit ng 3 resistors din. Talagang laktawan ko ang hakbang na ito nang madalas dahil wala pa ako at pumutok sa akin ang LED.
Upang makagawa ng mga kulay ay gagamitin namin ang function na analogWrite () upang makontrol kung magkano ang idaragdag sa pula, asul, o berde. Upang magamit ang pagpapaandar na ito kailangan mong sabihin kung aling pin # ang kakausapin natin at isang numero sa pagitan ng 0-255. 0 ay ganap na off at 255 ay ang pinakamataas na halaga ng isang kulay. Hinahayaan nating ikonekta ang pulang binti sa pin 9, berde sa pin 10 at asul sa pin 11. Maaaring tumagal ng ilang pagsubok at error upang malaman kung aling binti ang aling kulay. Kung nais kong gumawa ng isang lila na kulay maaari akong gumawa ng maraming pula, walang berde, at marahil kalahating lakas ng asul. Hinihimok ko kayo na mag-tinker sa mga numerong ito, talagang kapanapanabik. Ang ilang mga karaniwang halimbawa ay nasa mga larawan sa itaas
walang bisa ang pag-setup () {
pinMode (9, OUTPUT); pinMode (10, OUTPUT); pinMode (11, OUTPUT); } void loop () {analogWrite (9, 255); analogWrite (10, 0); analogWrite (11, 125)}
Hakbang 8: Paggamit ng Potentiometers upang Makontrol ang RGB LED (na may Isang Bug)
Panahon na upang simulang magkasama ang aming dalawang mga code. Dapat ay mayroon kang sapat na silid sa isang pamantayang tinapay upang magkasya ang lahat ng 3 mga knob at ang RGB LED. Ang ideya ay sa halip na mag-type ng mga halaga para sa pulang asul at berde, gagamitin namin ang mga halagang na-save mula sa bawat poteniometer upang patuloy na baguhin ang mga kulay. kakailanganin namin ng 3 mga variable sa kasong ito. ang redval, greenval, blueval ay lahat ng magkakaibang mga variable. Tandaan na maaari mong pangalanan ang mga variable na ito kahit anong gusto mo. kung i-on mo ang "berdeng" knob at ang mga pulang halaga ay nagbabago, maaari mong ilipat ang mga pangalan upang tumugma nang tama. maaari mo na ngayong buksan ang bawat knob at makontrol ang mga kulay !!
walang bisa ang pag-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, greenVal); analogWrite (11, blueVal); }
Hakbang 9: BONUS: Mapa () Pag-andar at Mas Malinis na Code
Maaari mong mapansin na sa pagsisimula mong i-on ang knob para sa isang kulay ay lalago ito at pagkatapos ay biglang bumaba. Ang pattern na ito ng lumalagong at pagkatapos ay mabilis na isara ang paulit-ulit na 4 na beses habang binabago mo ang hawakan. Kung maaalala mong sinabi namin na ang mga potentiometers ay maaaring basahin ang mga halaga sa pagitan ng 0 at 1023. Tumatanggap lamang ang pagpapaandar ng analogWrite () ng mga halaga sa pagitan ng 0 at 255. sa sandaling lumagpas ang potensyomiter sa 255 karaniwang nagsisimula ito sa 0. Mayroong isang magandang pag-andar upang makatulong sa bug na tinatawag na mapa (). maaari mong baguhin ang isang saklaw ng mga numero sa isa pang saklaw ng mga numero sa isang hakbang. iko-convert namin ang mga numero mula 0-1023 patungo sa mga numero mula 0-255. Halimbawa kung ang knob ay nakatakda sa kalahating paraan dapat itong basahin tungkol sa 512. ang numerong iyon ay mababago sa 126 na kalahating lakas para sa LED. Sa huling sketch na ito pinangalanan ko ang mga pin na may mga variable na pangalan para sa aking kaginhawaan. Mayroon ka na ngayong isang nakumpleto na color mixer upang mag-eksperimento !!!
// variable names for potentiometer pins
int redPot = A0; int greenPot = A1; int bluePot = A2 // variable names for RGB pin int redLED = 9; int greenLED = 10; int blueLED = 11; void setup () {pinMode (redPot, INPUT); pinMode (greenPOT, INPUT); pinMode (bluePot, INPUT); pinMode (redLED, OUTPUT); pinMode (greenLED, OUTPUT); pinMode (blueLED, OUTPUT); Serial, magsimula (9600); } void loop () {// basahin at i-save ang mga halaga mula sa potentiometers int redVal = analogRead (redPot); int greenVal = analogRead (greenPot); int blueVal - analogRead (bluePot); // convert the values from 0-1023 to 0-255 for the RGB LED redVal = map (redVal, 0, 1023, 0, 255); greenVal = mapa (greenVal, 0, 1023, 0, 255); blueVal = mapa (blueVal, 0, 1023, 0, 255); // isulat ang mga na-convert na halagang ito sa bawat kulay ng RGB LED analogWrite (redLED, redVal); anaogWrite (greenLED, greenVal); analogWrite (blueLED, blueVal); // ipakita ang mga halaga sa Serial monitor Serial.print ("red:"); Serial.print (redVal); Serial.print ("berde:"); Serial.print (greenVal); Serial.print ("asul:"); Serial.println (blueVal); }
Inirerekumendang:
3 CHANNEL AUDIO MIXER Isinama Sa isang FM Radio Transmitter: 19 Mga Hakbang (na may Mga Larawan)
3 CHANNEL AUDIO MIXER Isinama Sa isang FM Radio Transmitter: Hoy lahat, sa artikulong ito ay bibigyan kita ng buo ng iyong sariling 3 CHANNEL AUDIO MIXER na isinama sa isang FM radio transmitter
Pasadyang Arduino upang Panatilihing MAAARI ang Mga Pindutan sa Mga Manibela na May Bagong Car Stereo: 9 Mga Hakbang (na may Mga Larawan)
Pasadyang Arduino upang Panatilihin ang CAN Steering Wheel Buttons Sa Bagong Car Stereo: Napagpasyahan kong palitan ang orihinal na stereo ng kotse sa aking Volvo V70 -02 ng isang bagong stereo upang masisiyahan ako sa mga bagay tulad ng mp3, bluetooth at handsfree. Ang aking kotse ay may ilang mga kontrol sa manibela para sa stereo na nais kong magamit pa rin.
Mga Lightsaber na Nakabatay sa Arduino Na May Magaang at Mga Epekto ng Tunog: 14 Mga Hakbang (na may Mga Larawan)
Batay sa Arduino Lightsaber Na May Mga Magaan at Tunog na Mga Epekto: Kamusta jedi! Ang itinuturo na ito ay tungkol sa paggawa ng isang lightsaber, na ang hitsura, tunog at pagganap tulad ng isa sa pelikula! Ang pagkakaiba lamang - hindi ito maaaring mag-cut metal: (Ang aparatong ito ay batay sa platform ng Arduino, at binibigyan ko ito ng maraming mga tampok at pag-andar, ito
Paggawa ng isang Magnet DC Generator Mula sa isang Patay na Mixer Motor DIY: 3 Mga Hakbang (na may Mga Larawan)
Paggawa ng isang Magnet DC Generator Mula sa isang Patay na Mixer Motor DIY: Kumusta! Sa itinuturo na ito, malalaman mo kung paano ibahin ang isang patay na Blender / drill machine motor (Universal motor) sa isang napakalakas na Permanenteng Magnet DC generator. Tandaan: Nalalapat lamang ang pamamaraang ito kung ang mga patlang na coil ng isang Universal motor ay nasunog
Mga Laruang Switch-Adapt: isang Pag-play @ Home Mixer na Naa-access !: 7 Hakbang (na may Mga Larawan)
Switch-Adapt Laruan: isang Pag-play @ Home Mixer Ginawang Naa-access !: Ang pagbagay ng laruan ay nagbubukas ng mga bagong paraan at na-customize na solusyon upang payagan ang mga bata na may limitadong mga kakayahan sa motor o mga kapansanan sa pag-unlad na makipag-ugnay sa mga laruan nang nakapag-iisa. Sa maraming mga kaso, ang mga bata na nangangailangan ng inangkop na mga laruan ay hindi magawang