Orodha ya maudhui:
- Hatua ya 1: Sehemu na Seti
- Hatua ya 2: Panga Maendeleo yako
- Hatua ya 3: Jinsi ya Kutumia Potentiometers
- Hatua ya 4: Mpangilio wa Wiring kwa (3x) Potentiometer
- Hatua ya 5: Kutumia AnalogRead () na Vigezo
- Hatua ya 6: Kutumia Monitor Serial na 1 Knob
- Hatua ya 7: Kutumia RGB LED
- Hatua ya 8: Kutumia Potentiometers Kudhibiti RGB LED (na Mdudu Mmoja)
- Hatua ya 9: BONUS: Ramani () Kazi na Nambari ya Usafi
Video: Mchanganyiko wa Rangi Na Arduino: Hatua 9 (na Picha)
2024 Mwandishi: John Day | [email protected]. Mwisho uliobadilishwa: 2024-01-30 12:54
Fuata zaidi na mwandishi:
Kuhusu: Kujifunza kila wakati….. Zaidi Kuhusu tliguori330 »
Mchanganyiko wa rangi ni mradi mzuri kwa mtu yeyote anayefanya kazi na anayekua na Arduino. Mwisho wa hii inayoweza kufundishwa utaweza kuchanganya na kulinganisha karibu kila rangi inayofikiria kwa kugeuza vitanzi 3. Kiwango cha ustadi ni cha chini kiasi kwamba hata rookie kamili inaweza kuikamilisha kwa mafanikio, lakini pia inavutia ya kutosha kufurahisha kwa daktari wa wanyama aliye na msimu. Gharama ya mradi huu iko karibu na chochote na vifaa vingi vya Arduino huja na vifaa vinavyohitajika. Msingi wa nambari hii ni kazi zingine za msingi za arduino ambazo mtu yeyote anayetumia arduino atataka kuelewa. Tutaingia kwa kina juu ya kazi za AnalogRead () na AnalogWrite () kama sisi kama kazi nyingine ya kawaida inayoitwa map (). Viungo hivi vinakuleta kwenye kurasa za kumbukumbu za arduino kwa kazi hizi.
Hatua ya 1: Sehemu na Seti
Arduino Uno
Potentiometer (x3)
RGB LED
Kinga 220 ohm (x3)
Waya za jumper (x12)
Bodi ya mkate
Hatua ya 2: Panga Maendeleo yako
Inaweza kusaidia sana kupanga jinsi utakavyokamilisha mradi wako. Kuandika ni juu ya maendeleo ya kimantiki kutoka hatua moja hadi nyingine. Nilitengeneza chati ya mtiririko ambayo inaelezea jinsi ninataka mchoro wangu uendeshe. Lengo la jumla ni kuwa na vifungo 3 (potentiometers) kudhibiti kila rangi tatu za RGB LED. Ili kufanikisha hili tutahitaji kuunda mchoro unaofanana na chati ya mtiririko. Tutataka….
1) Soma potentiometers 3 tofauti na uhifadhi maadili yao kwa anuwai.
2) Tutabadilisha maadili hayo ili kufanana na anuwai ya RGB LED.
3) Halafu mwishowe tutaandika nambari hizo zilizogeuzwa kwa kila rangi ya RGB.
Hatua ya 3: Jinsi ya Kutumia Potentiometers
Moja ya vifaa vya msingi zaidi katika vifaa vya umeme, potentiometer inaweza kutumika katika miradi mingi tofauti. potentiometers hufanya kazi kwa kumruhusu mtumiaji kubadilisha mabadiliko ya mwili. Mfano wa shamba zaidi wa potentiometer ni mwanga mdogo. kuteleza au kugeuza kitasa hubadilisha urefu wa mzunguko. njia ndefu inasababisha upinzani zaidi. Upinzani ulioongezeka unapunguza sasa na mwanga hupungua. Hizi zinaweza kuja kwa umbo tofauti na saizi lakini nyingi zina msingi sawa wa msingi. Mwanafunzi aliuliza msaada wa kurekebisha gitaa lake na tukagundua vifungo juu yake vilikuwa sawa na potentiometers. Kwa ujumla ulikuwa miguu ya nje iliyounganishwa na volts 5 na ardhi na mguu wa kati huenda kwenye pini ya analog kama A0
Hatua ya 4: Mpangilio wa Wiring kwa (3x) Potentiometer
Mguu wa kushoto zaidi utaunganishwa na 5v na mguu wa kulia zaidi utaunganishwa na GND. Kwa kweli unaweza kubadilisha hatua hizi mbili na haitaumiza mradi sana. Yote ambayo ingebadilika ni kugeuza kitovu hadi kushoto itakuwa mwangaza kamili badala ya mbali kabisa. Mguu wa kati utaunganishwa na moja ya pini za analog kwenye Arduino. Kwa kuwa tutakuwa na vifungo vitatu, tutataka kuongeza mara tatu juu ya kazi tuliyoifanya tu. Kila kitasa kinahitaji 5v na GND ili hizo zigawanywe kwa kutumia ubao wa mkate. Kamba nyekundu kwenye ubao wa mkate imeunganishwa na Volts 5 na ukanda wa bluu umeunganishwa ardhini. Kila vifungo vinahitaji pini yake ya analog ili viunganishwe na A0, A1, A2.
Hatua ya 5: Kutumia AnalogRead () na Vigezo
Na wewe potentiometer imewekwa kwa usahihi tuko tayari kusoma maadili hayo. Wakati kila tunataka kufanya hivi tunatumia kazi ya AnalogRead (). Sintaksia sahihi ni AnalogSoma (pini #); kwa hivyo kusoma potentiometer yetu ya kati tutasoma Analog (A1); Ili kufanya kazi na nambari zinazotumwa kutoka kwenye kitovu kwenda kwa Arduino, tutataka pia kuzihifadhi nambari hizo kwa kutofautisha. Mstari wa nambari utakamilisha kazi hii tunaposoma potentiometer na kuokoa nambari yake ya sasa katika nambari kamili ya "val"
int val = AnalogSoma (A0);
Hatua ya 6: Kutumia Monitor Serial na 1 Knob
Hivi sasa tuna uwezo wa kupata maadili kutoka kwa vifungo na kuyahifadhi kwa kutofautisha, lakini itakuwa muhimu ikiwa tungeweza kuona maadili haya. Ili kufanya hivyo tunahitaji kutumia iliyojengwa katika mfuatiliaji wa serial. Nambari hapa chini ni mchoro wa kwanza ambao kwa kweli tutaendesha katika Arduino IDE ambayo inaweza kupakuliwa kwenye wavuti yao. Katika usanidi batili () tutawasha pini za analog zilizounganishwa kwa kila mguu wa katikati kama Pembejeo na kuwezesha mfuatiliaji wa Serial ukitumia Serial.begin (9600); ijayo tunasoma moja tu ya vifungo na kuihifadhi kwa kutofautisha kama hapo awali. Mabadiliko sasa tumeongeza laini ambayo inachapisha nambari gani iliyohifadhiwa katika kutofautisha. Ikiwa unakusanya na kuendesha mchoro basi unaweza kufungua mfuatiliaji wako wa serial na uone nambari zikitembea kwenye skrini. Kila wakati vitanzi vya msimbo tunasoma na kuchapisha nambari nyingine. Ukigeuza kitovu kilichounganishwa na A0 unapaswa kuona maadili kutoka 0-1023. baadaye lengo litakuwa kusoma potntiometers zote 3 ambazo zingehitaji AnalogSoma 2 zaidi na vigeuzi 2 tofauti kuokoa na kuchapisha.
usanidi batili () {
pinMode (A0, INPUT); pinMode (A1, INPUT); pinMode (A2, INPUT); Serial. Kuanza (9600); } kitanzi batili () {int val = analogRead (A0); Serial.println (val); }
Hatua ya 7: Kutumia RGB LED
4 ya RGB LED iliyo na miguu ina moja ya vitu ninavyopenda kwa Arduino. Ninaona Njia ambayo ina uwezo wa kuunda rangi zisizo na mwisho kutoka kwa mchanganyiko wa rangi 3 za msingi zinazovutia. Usanidi ni sawa na LED yoyote ya kawaida lakini hapa kimsingi tuna LED nyekundu, bluu na kijani pamoja pamoja. Miguu mifupi itadhibitiwa na moja ya pini za PWM kwenye arduino. Mguu mrefu zaidi utaunganishwa na volts 5 au ardhi, kulingana na yako katika anode ya kawaida au LED ya kawaida ya cathode. Utahitaji kujaribu njia zote mbili za kutatua shida hii. Tutakuwa na 5v na GND iliyounganishwa kwenye ubao wa mkate iwe rahisi kubadilika. Mchoro hapo juu unaonyesha kutumia vizuia 3 pia. Mimi kwa kweli huruka hatua hii mara nyingi kwani sikuwa nayo na LED ilinilipua.
Ili kutengeneza rangi tutatumia kazi ya AnalogWrite () kudhibiti ni nyekundu ngapi, bluu, au kijani kuongeza. Kutumia kazi hii unahitaji kusema ni pini gani # tutazungumza nayo na nambari kati ya 0-255. 0 imezimwa kabisa na 255 ndio kiwango cha juu zaidi cha rangi moja. Wacha tuunganishe mguu mwekundu kubandika 9, kijani kubandika 10 na bluu kubandika 11. Hii inaweza kuchukua jaribio na hitilafu kugundua ni mguu gani ni rangi gani. Ikiwa nilitaka kutengeneza rangi ya zambarau ningeweza kufanya nyekundu nyingi, hakuna kijani kibichi, na labda nguvu ya nusu ya samawati. Ninakuhimiza uzingatie nambari hizi, inafurahisha sana. Mifano zingine za kawaida ziko kwenye picha zilizo hapo juu
usanidi batili () {
pinMode (9, OUTPUT); pinMode (10, OUTPUT); pinMode (11, OUTPUT); } kitanzi batili () {analogWrite (9, 255); Andika Analog (10, 0); Analogi Andika (11, 125)}
Hatua ya 8: Kutumia Potentiometers Kudhibiti RGB LED (na Mdudu Mmoja)
Ni wakati wa kuanza kuchanganya nambari zetu mbili pamoja. Unapaswa kuwa na chumba cha kutosha kwenye ubao wa mkate wa kawaida ili kutosheana vitanzi vyote 3 na RGB LED. Wazo ni badala ya kuandika kwa maadili ya bluu nyekundu na kijani, tutatumia maadili yaliyohifadhiwa kutoka kwa kila poteniometer kubadilisha rangi kila wakati. tutahitaji vigeuzi 3 katika kesi hii. redval, greenval, blueval ni vigeuzi tofauti. Kumbuka unaweza kutaja vigeuzi hivi chochote unachotaka. ukibadilisha kitasa cha "kijani" na mabadiliko ya kiasi nyekundu, unaweza kubadilisha majina ili yalingane sawa. sasa unaweza kugeuza kila kitovu na kudhibiti rangi !!
usanidi batili () {
pinMode (A0, INPUT); pinMode (A1, INPUT); pinMode (A2, INPUT); pinMode (9, OUTPUT); pinMode (10, OUTPUT); pinMode (11, OUTPUT); } usanidi batili () {int redVal = analogRead (A0); int greenVal = AnalogSoma (A1); int blueVal = AnalogSoma (A2); AnalogWrite (9, redVal); Andika Analog (10, kijaniVal); AnalogWrite (11, bluuVal); }
Hatua ya 9: BONUS: Ramani () Kazi na Nambari ya Usafi
Unaweza kugundua kuwa unapoanza kugeuza kitovu kwa rangi moja juu itakua na kisha ghafla itashuka chini. Utaratibu huu wa kukua na kisha kufunga haraka unarudia mara 4 unapogeuza kitovu hadi juu. Ikiwa unakumbuka tulisema potentiometers inaweza kusoma maadili kati ya 0 na 1023. AnalogWrite () kazi inakubali tu maadili kati ya 0 na 255. mara tu potentiometer inapozidi 255 kimsingi huanza juu saa 0. Kuna kazi nzuri ya kusaidia na mdudu inayoitwa ramani (). unaweza kubadilisha anuwai ya nambari kuwa anuwai ya nambari kwa hatua moja. tutabadilisha nambari kutoka 0-1023 hadi nambari kutoka 0-255. Kwa mfano ikiwa kitufe kiliwekwa kwa nusu ya njia inapaswa kusoma juu ya 512. nambari hiyo ingebadilishwa kuwa 126 ambayo ni nguvu ya nusu ya LED. Katika mchoro huu wa mwisho niliita pini zilizo na majina yanayobadilika kwa urahisi wangu. Sasa unayo mchanganyiko wa rangi uliokamilika kujaribu na !!!
// majina yanayobadilika kwa pini za potentiometer
nyekundu nyekundu = A0; int greenPot = A1; int bluePot = A2 // majina yanayobadilika ya pini za RGB int redLED = 9; kijani kijani = 10; bluu bluu = 11; kuanzisha batili () {pinMode (redPot, INPUT); pinMode (kijaniPOT, Pembejeo); pinMode (bluePot, INPUT); pinMode (nyekunduLED, OUTPUT); pinMode (kijani LED, OUTPUT); pinMode (rangi ya samawatiLED, OUTPUT); Serial, kuanza (9600); } kitanzi batili () {// soma na uhifadhi maadili kutoka kwa potentiometers int redVal = AnalogRead (redPot); int greenVal = AnalogSoma (GreenPot); int blueVal - AnalogSoma (BluePot); // kubadilisha maadili kutoka 0-1023 hadi 0-255 kwa RGB LED redVal = ramani (redVal, 0, 1023, 0, 255); greenVal = ramani (greenVal, 0, 1023, 0, 255); bluuVal = ramani (blueVal, 0, 1023, 0, 255); // andika maadili haya yaliyobadilishwa kwa kila rangi ya analog ya RGB LEDWrite (redLED, redVal); Andika (kijaniLED, kijaniVal); AnalogWrite (blueLED, blueVal); // onyesha maadili kwenye serial Serial serial.print ("nyekundu:"); Printa ya serial (RedVal); Serial.print ("kijani:"); Printa ya serial (GreenVal); Serial.print ("bluu:"); Serial.println (bluuVal); }
Ilipendekeza:
Muziki wa rangi ya rangi ya rangi: Hatua 7 (na Picha)
Muziki wa rangi ya rangi. Chanzo cha msukumo wa kifaa changu ni 'Chromola', chombo ambacho Preston S. Millar aliunda kutoa mwangaza wa rangi kwa Alexander Scriabin's 'Prometeus: Shairi la Moto', symphony iliyoonyeshwa kwenye ukumbi wa Carnegie kwenye Machi 21, 1915.
Rangi ya rangi ya rangi ya MaKey MaKey: Hatua 4
Rangi za rangi za MaKey MaKey: Eureka! Kiwanda kilishikilia Maagizo yetu ya Jumanne ya Kuunda Usiku na MaKey MaKey na baadhi ya vijana wetu wapenzi, Edgar Allan Ohms, timu ya KWANZA ya Mashindano ya Roboti (FRC) iliyo kwenye Maktaba ya Tawi la Land O'Lakes huko Pasco, FL. Ohms
Mchanganyiko Rahisi wa Mchanganyiko wa Siri !: Hatua 5
Mchanganyiko Rahisi wa Mchanganyiko !: Halo kila mtu! Leo nataka kukuonyesha wazo langu la kutengeneza kificho rahisi sana na kizuri cha msimbo. Sio kama kufuli zingine, haina numpad na ina sehemu 4 tu! Unavutiwa? Basi lets kuanza
EAL- Iliyopachikwa - Mchanganyiko wa Mchanganyiko: Hatua 4
EAL- Iliyopachikwa - Mchanganyiko wa Mchanganyiko: Mradi huu ni mradi mmoja wa shule, ambao nimefanya kuchagua somo la 2.1 C-programu katika EAL. Ni mara ya kwanza, wakati nilifanya mradi wa Arduino na programu ya C. Huo ni mradi, ambao unawasilisha kufuli ya mchanganyiko. Mchanganyiko wa mchanganyiko
Mchanganyiko wa Mchanganyiko wa waya wa Arduino na NRF24L01 na Nambari 4 ya Uonyesho wa Sehemu ya 7: Hatua 6 (na Picha)
Mchanganyiko wa Arduino Wireless Lock na NRF24L01 na 4 Digit 7 Segment Segment: Mradi huu ulianza maisha yake kama zoezi la kufanya kitu na onyesho la sehemu 4 nambari 7. Kile nilichokuja nacho ni uwezo wa kuingiza nambari 4 nambari ya mchanganyiko, lakini mara moja ilikuwa imekamilika, ilikuwa ya kuchosha kabisa. Niliijenga kwa kutumia Arduino UNO.