Përmbajtje:

Përzierës ngjyrash me Arduino: 9 hapa (me fotografi)
Përzierës ngjyrash me Arduino: 9 hapa (me fotografi)

Video: Përzierës ngjyrash me Arduino: 9 hapa (me fotografi)

Video: Përzierës ngjyrash me Arduino: 9 hapa (me fotografi)
Video: $5 WiFi Camera Setup | ESP32 Wifi Setup view on Mobile phone 2024, Nëntor
Anonim
Image
Image

Nga tliguori330 Ndiqni më shumë nga autori:

Sfera e ngjyrave me Arduino
Sfera e ngjyrave me Arduino
Doodle Bot Me Proces Projektimi
Doodle Bot Me Proces Projektimi
Doodle Bot Me Proces Projektimi
Doodle Bot Me Proces Projektimi
Arduino Touch Piano
Arduino Touch Piano
Arduino Touch Piano
Arduino Touch Piano

Rreth: Gjithmonë duke mësuar….. Më shumë Rreth tliguori330 »

Një mikser ngjyrash është një projekt i shkëlqyeshëm për këdo që punon dhe rritet me Arduino. Deri në fund të këtij udhëzimi ju do të jeni në gjendje të përzieni dhe përputheni me pothuajse çdo ngjyrë të imagjinueshme duke rrotulluar 3 çelësa. Niveli i aftësive është mjaft i ulët saqë edhe një rishtar i plotë mund ta përfundojë atë me sukses, por edhe mjaft interesant për të qenë i kënaqshëm për një veteriner me përvojë. Kostoja e këtij projekti është pothuajse asgjë dhe shumica e kompleteve Arduino vijnë me materialet e nevojshme. Në thelb të këtij kodi janë disa funksione themelore të arduino që çdokush që përdor arduino do të dojë t’i kuptojë. Ne do të hyjmë në thellësi në lidhje me funksionet analogRead () dhe analogWrite () si ne si një funksion tjetër i zakonshëm i quajtur hartë (). Këto lidhje ju sjellin në faqet e referencës arduino për këto funksione.

Hapi 1: Pjesët dhe Komponet

Pjesë dhe Komponete
Pjesë dhe Komponete
Pjesë dhe Komponete
Pjesë dhe Komponete
Pjesë dhe Komponete
Pjesë dhe Komponete
Pjesë dhe Komponete
Pjesë dhe Komponete

Arduino Uno

Potenciometër (x3)

RGB LED

Rezistencë 220 ohm (x3)

Telat e kërcyesit (x12)

Bordi i bukës

Hapi 2: Planifikoni përparimin tuaj

Planifikoni përparimin tuaj
Planifikoni përparimin tuaj

Mund të jetë shumë e dobishme të planifikoni se si do ta përfundoni projektin tuaj. Kodimi ka të bëjë me përparimin logjik nga një hap në tjetrin. Unë bëra një tabelë rrjedhëse që përshkruan se si dua që skica ime të funksionojë. Qëllimi i përgjithshëm është që të keni 3 çelësa (potenciometra) që kontrollojnë secilën nga tre ngjyrat e një LED RGB. Për ta arritur këtë ne do të duhet të krijojmë një skicë që përputhet me tabelën e rrjedhës. Ne do të duam që….

1) Lexoni 3 potenciometra të ndryshëm dhe ruani vlerat e tyre në ndryshore.

2) Ne do t'i konvertojmë ato vlera që të përputhen me gamën e LED RGB.

3) Më në fund ne do t'i shkruajmë ato vlera të konvertuara në secilën prej ngjyrave të RGB.

Hapi 3: Si të përdorni potenciometra

Si të përdorni potenciometra
Si të përdorni potenciometra
Si të përdorni potenciometra
Si të përdorni potenciometra

Një nga përbërësit më themelorë në një pajisje elektronike, potenciometri mund të përdoret në shumë projekte të ndryshme. potenciometrat funksionojnë duke lejuar përdoruesin të ndryshojë fizikisht rezistencën e qarkut. Shembulli më farmilar i një potenciometri është një zbehës i dritës. rrëshqitja ose kthimi i një çelësi ndryshon gjatësinë e qarkut. një rrugë më e gjatë rezulton në më shumë rezistencë. Rezistenca e rritur zvogëlon në mënyrë të kundërt rrymën dhe dritën zbehet. Këto mund të vijnë në forma dhe madhësi të ndryshme, por shumica kanë të njëjtën bazë themelore. Një student kërkoi ndihmë për të rregulluar kitarën e tij dhe ne zbuluam se çelësat në të ishin saktësisht të njëjtë me potenciometrat. Në përgjithësi ju ishit këmbët e jashtme të lidhura me 5 volt dhe tokë dhe këmba e mesme shkon në një kunj analog si A0

Hapi 4: Skema e telave për potenciometër (3x)

Skema e telave për potenciometër (3x)
Skema e telave për potenciometër (3x)
Skema e telave për potenciometër (3x)
Skema e telave për potenciometër (3x)
Skema e telave për potenciometër (3x)
Skema e telave për potenciometër (3x)

Këmba më e majtë do të lidhet me 5v dhe këmba më e djathtë do të lidhet me GND. Ju në fakt mund t'i ndryshoni këto dy hapa dhe nuk do ta dëmtojë shumë projektin. E tëra që do të ndryshonte është kthimi i çelësit deri në të majtë do të ketë shkëlqim të plotë në vend që të shkoni deri në fund. Këmba e mesme do të lidhet me një nga kunjat analoge në Arduino. Meqenëse do të kemi tre çelësa, do të duam të trefishojmë punën që sapo kemi bërë. Çdo çelës ka nevojë për 5v dhe GND kështu që ato mund të ndahen duke përdorur një dërrasë bukë. Shiriti i kuq në tabelën e bukës është i lidhur me 5 volt dhe shiriti blu është i lidhur me tokën. Çdo çelës ka nevojë për kunjin e vet analog në mënyrë që ato të lidhen me A0, A1, A2.

Hapi 5: Përdorimi i AnalogRead () dhe Variablat

Me potenciometrin e vendosur saktë, ne jemi gati t'i lexojmë ato vlera. Kur ne duam ta bëjmë këtë ne përdorim funksionin analogRead (). Sintaksa e saktë është analogRead (pin#); kështu që për të lexuar potenciometrin tonë të mesëm ne do të analogRead (A1); Për të punuar me numrat që dërgohen nga çelësi në Arduino, ne do të duam t'i ruajmë ato numra në një ndryshore. Linja e kodit do ta kryejë këtë detyrë ndërsa lexojmë potenciometrin dhe ruajmë numrin e tij aktual në ndryshoren e plotë "val"

int val = analogRead (A0);

Hapi 6: Përdorimi i monitorit serik me 1 çelës

Image
Image

Aktualisht ne jemi në gjendje të marrim vlera nga çelësat dhe t'i ruajmë ato në një ndryshore, por do të ishte e dobishme nëse do t'i shihnim këto vlera. Për ta bërë këtë, ne duhet të përdorim monitorin serik të integruar. Kodi më poshtë është skica e parë që do të ekzekutojmë në Arduino IDE e cila mund të shkarkohet në faqen e tyre. Në void setup () ne do të aktivizojmë kunjat analoge të lidhur me secilën këmbë të mesme si një INPUT dhe aktivizojmë monitorin Serial duke përdorur Serial.begin (9600); më pas lexojmë vetëm njërën nga çelësat dhe e ruajmë në një ndryshore si më parë. Ndryshimi tani është që ne shtuam një rresht që printon numrin që ruhet në ndryshore. Nëse përpiloni dhe ekzekutoni skicën, atëherë mund të hapni monitorin tuaj Serial dhe të shihni numrat që lëvizin në ekran. Sa herë që kodi bën sythe ne po lexojmë dhe shtypim një numër tjetër. Nëse e ktheni çelësin e lidhur me A0 duhet të shihni vlerat që variojnë nga 0-1023. më vonë qëllimi do të jetë leximi i të tre potntiometrave të cilët do të kërkonin 2 lexime të tjera analoge dhe 2 ndryshore të ndryshme për të ruajtur dhe printuar.

void setup () {

pinMode (A0, INPUT); pinMode (A1, INPUT); pinMode (A2, INPUT); Serial.filloj (9600); } void loop () {int val = analogRead (A0); Serial.println (val); }

Hapi 7: Përdorimi i LED RGB

Duke përdorur LED RGB
Duke përdorur LED RGB
Duke përdorur LED RGB
Duke përdorur LED RGB
Duke përdorur LED RGB
Duke përdorur LED RGB

LED me 4 këmbë RGB është një nga komponentët e mi të preferuar për Arduino. Mënyra se si është në gjendje të krijojë ngjyra të pafundme nga përzierjet e 3 ngjyrave bazë magjepsëse. Instalimi është i ngjashëm me çdo LED të zakonshëm, por këtu ne kemi në thelb një LED të kuq, blu dhe jeshil të kombinuar së bashku. Këmbët e shkurtra secila do të kontrollohen nga njëra nga kunjat PWM në arduino. Këmba më e gjatë do të lidhet me 5 volt ose tokëzim, në varësi të tuajit në një anodë të zakonshme ose LED katodë të përbashkët. Ju do të duhet të provoni të dy mënyrat për të zgjidhur problemin. Ne tashmë do të kemi 5v dhe GND të lidhur me tryezën e bukës me të duhet të jetë e lehtë të ndryshohet. Diagrami i mësipërm tregon gjithashtu përdorimin e 3 rezistencave. Unë në fakt e kaloj këtë hap shpesh pasi nuk kam pasur dhe LED më fryhet.

Për të bërë ngjyra ne do të përdorim funksionin analogWrite () për të kontrolluar sa të kuqe, blu ose jeshile të shtojmë. Për të përdorur këtë funksion ju duhet të thoni me cilën pin# do të flasim dhe një numër midis 0-255. 0 është plotësisht e fikur dhe 255 është sasia më e lartë e një ngjyre. Le të lidhim këmbën e kuqe me kunjin 9, jeshilen me pin 10 dhe blu me pin 11. Kjo mund të marrë disa prova dhe gabime për të kuptuar se cila këmbë është cila ngjyrë. Nëse do të doja të bëja një ngjyrë vjollce, mund të bëja shumë të kuqe, pa jeshile, dhe ndoshta gjysmën e ngjyrës blu. Unë ju inkurajoj të merreni me këto shifra, është vërtet emocionuese. Disa shembuj të zakonshëm janë në fotot e mësipërme

void setup () {

pinMode (9, OUTPUT); pinMode (10, OUTPUT); pinMode (11, OUTPUT); } void loop () {analogWrite (9, 255); analogWrite (10, 0); analogWrite (11, 125)}

Hapi 8: Përdorimi i potenciometrave për të kontrolluar LED RGB (me një defekt)

Përdorimi i potenciometrave për të kontrolluar LED RGB (me një defekt)
Përdorimi i potenciometrave për të kontrolluar LED RGB (me një defekt)
Përdorimi i potenciometrave për të kontrolluar LED RGB (me një defekt)
Përdorimi i potenciometrave për të kontrolluar LED RGB (me një defekt)
Përdorimi i potenciometrave për të kontrolluar LED RGB (me një defekt)
Përdorimi i potenciometrave për të kontrolluar LED RGB (me një defekt)

Timeshtë koha të fillojmë të bashkojmë dy kodet tona së bashku. Duhet të keni hapësirë të mjaftueshme në një pjatë standarde për të përshtatur të tre pullat dhe LED RGB. Ideja është që në vend që të shtypni vlerat për blu të kuqe dhe jeshile, ne do të përdorim vlerat e ruajtura nga secili poteniometër për të ndryshuar vazhdimisht ngjyrat. ne do të kemi nevojë për 3 ndryshore në këtë rast. redval, greenval, blueval janë të gjitha ndryshore të ndryshme. Mbani në mend se mund t'i emërtoni këto ndryshore çdo gjë që dëshironi. nëse e ktheni butonin "jeshil" dhe sasia e kuqe ndryshon, mund t'i ndërroni emrat që të përputhen saktë. tani mund të rrotulloni çdo çelës dhe të kontrolloni ngjyrat !!

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, greenVal); analogWrite (11, blueVal); }

Hapi 9: BONUS: Harta () Funksioni dhe Kodi i Pastruesit

Ju mund të vini re se ndërsa filloni të rrotulloni çelësin për një ngjyrë lart, ai do të rritet dhe pastaj papritmas do të bjerë poshtë. Ky model i rritjes dhe pastaj fikjes së shpejtë përsëritet 4 herë ndërsa e rrotulloni çelësin deri në fund. Nëse ju kujtohet ne kemi thënë që potenciometrat mund të lexojnë vlerat midis 0 dhe 1023. Funksioni analogWrite () pranon vetëm vlerat midis 0 dhe 255. sapo potenciometri të kalojë mbi 255 ai në thelb fillon nga 0. Ka një funksion të mirë për të ndihmuar me gabim i quajtur hartë (). mund të konvertoni një gamë numrash në një gamë tjetër numrash në një hap. ne do të konvertojmë numrat nga 0-1023 në numrat nga 0-255. Për shembull, nëse çelësi vendoset në gjysmën e rrugës, duhet të lexojë rreth 512. ai numër do të ndryshohej në 126 që është gjysma e forcës për LED. Në këtë skicë përfundimtare unë i kam emërtuar kunjat me emra të ndryshueshëm për lehtësinë time. Tani keni një mikser të kompletuar ngjyrash për të eksperimentuar !!!

// emrat e ndryshoreve për kunjat e potenciometrit

int redPot = A0; int greenPot = A1; int bluePot = A2 // emrat e ndryshoreve për kunjat RGB int redLED = 9; int jeshileLED = 10; int bluLED = 11; void setup () {pinMode (redPot, INPUT); pinMode (greenPOT, INPUT); pinMode (bluPot, INPUT); pinMode (e kuqeLED, OUTPUT); pinMode (greenLED, OUTPUT); pinMode (bluLED, OUTPUT); Serial, fillo (9600); } void loop () {// lexoni dhe ruani vlerat nga potenciometrat int redVal = analogRead (redPot); int greenVal = analogRead (greenPot); int blueVal - analogRead (bluePot); // konvertoni vlerat nga 0-1023 në 0-255 për hartën RGB LED redVal = (redVal, 0, 1023, 0, 255); greenVal = hartë (greenVal, 0, 1023, 0, 255); blueVal = hartë (blueVal, 0, 1023, 0, 255); // shkruani këto vlera të konvertuara në çdo ngjyrë të analogWrite LED RGB (redLED, redVal); anaogWrite (greenLED, greenVal); analogWrite (blueLED, blueVal); // tregoni vlerat në monitorin Serial Serial.print ("e kuqe:"); Serial.print (redVal); Serial.print ("jeshile:"); Serial.print (greenVal); Serial.print ("blu:"); Serial.println (blueVal); }

Recommended: