Агуулгын хүснэгт:

Arduino -тэй өнгө холигч: 9 алхам (зурагтай)
Arduino -тэй өнгө холигч: 9 алхам (зурагтай)

Видео: Arduino -тэй өнгө холигч: 9 алхам (зурагтай)

Видео: Arduino -тэй өнгө холигч: 9 алхам (зурагтай)
Видео: SKR 1.4 - Adding a 3d Extruder Stepper for a Diamond PrintHead 2024, Долдугаар сарын
Anonim
Image
Image

Зохиогчийн дэлгэрэнгүйг дагах:

Arduino -той өнгөний хүрээ
Arduino -той өнгөний хүрээ
Дизайн процесс бүхий Doodle Bot
Дизайн процесс бүхий Doodle Bot
Дизайн процесс бүхий Doodle Bot
Дизайн процесс бүхий Doodle Bot
Arduino Touch төгөлдөр хуур
Arduino Touch төгөлдөр хуур
Arduino Touch төгөлдөр хуур
Arduino Touch төгөлдөр хуур

Тухайн талаар: Үргэлж сурч байна … tliguori330 -ийн тухай дэлгэрэнгүй »

Өнгө холигч нь Arduino -тэй хамтран ажиллаж, хөгжиж буй бүх хүмүүст зориулсан гайхалтай төсөл юм. Энэхүү зааварчилгааны төгсгөлд та 3 товчлуурыг эргүүлснээр төсөөлж болох бараг бүх өнгийг хольж, тааруулах боломжтой болно. Ур чадварын түвшин доогуур байгаа тул бүрэн тоглогч ч гэсэн үүнийг амжилттай хийж чадна, гэхдээ туршлагатай малын эмч нарт таалагдахад хангалттай сонирхолтой юм. Энэ төслийн өртөг нь бараг юу ч биш бөгөөд ихэнх Arduino иж бүрдэл нь шаардлагатай материалуудтай ирдэг. Энэхүү кодын гол цөм нь arduino ашигладаг хэн ч ойлгохыг хүсдэг зарим үндсэн arduino функцууд юм. Бид analogRead () ба analogWrite () функцуудын талаар нарийвчлан судлах болно. Эдгээр холбоосууд нь эдгээр функцуудын arduino лавлах хуудсуудыг танд хүргэж байна.

Алхам 1: эд анги ба бүрэлдэхүүн хэсэг

Эд анги ба бүрэлдэхүүн хэсэг
Эд анги ба бүрэлдэхүүн хэсэг
Эд анги ба бүрэлдэхүүн хэсэг
Эд анги ба бүрэлдэхүүн хэсэг
Эд анги ба бүрэлдэхүүн хэсэг
Эд анги ба бүрэлдэхүүн хэсэг
Эд анги ба бүрэлдэхүүн хэсэг
Эд анги ба бүрэлдэхүүн хэсэг

Ардуино Уно

Потенциометр (x3)

RGB LED

220 Ом эсэргүүцэл (x3)

Холбогч утас (x12)

Талхны самбар

Алхам 2: Хөгжлөө төлөвлө

Өөрийн ахиц дэвшлийг төлөвлө
Өөрийн ахиц дэвшлийг төлөвлө

Төслөө хэрхэн дуусгахаа төлөвлөх нь маш их тустай байж болох юм. Кодлох нь нэг алхамаас нөгөөд шилжих логик явцын тухай юм. Би схемээ хэрхэн ажиллуулахыг хүсч байгаагаа харуулсан урсгалын диаграм хийсэн. Ерөнхий зорилго бол RGB LED -ийн гурван өнгийг тус бүр 3 товчлуур (потенциометр) хянах явдал юм. Үүнийг хийхийн тулд бид урсгалын схемд тохирсон ноорог хийх шаардлагатай болно. Бид хүсэх болно ….

1) 3 өөр потенциометрийг уншаад утгыг нь хувьсагч хэлбэрээр хадгална.

2) Бид эдгээр утгыг RGB LED -ийн хязгаарт тохируулан хөрвүүлэх болно.

3) Дараа нь бид эдгээр хөрвүүлсэн утгыг RGB -ийн өнгө тус бүрт бичих болно.

Алхам 3: Потенциометрийг хэрхэн ашиглах талаар

Потенциометрийг хэрхэн ашиглах талаар
Потенциометрийг хэрхэн ашиглах талаар
Потенциометрийг хэрхэн ашиглах талаар
Потенциометрийг хэрхэн ашиглах талаар

Электроникийн иж бүрдэл хэсгүүдийн хамгийн үндсэн бүрэлдэхүүн хэсгүүдийн нэг болох потенциометрийг олон төрлийн төсөлд ашиглаж болно. Потенциометр нь хэрэглэгчдэд хэлхээний эсэргүүцлийг биечлэн өөрчлөх боломжийг олгодог. Потенциометрийн хамгийн энгийн жишээ бол гэрлийн бүдэгрүүлэгч юм. гулсах эсвэл бариул эргүүлэх нь хэлхээний уртыг өөрчилдөг. урт зам нь илүү их эсэргүүцлийг бий болгодог. Өсөн нэмэгдэж буй эсэргүүцэл нь урсгалыг урвуу бууруулж, гэрэл бүдгэрнэ. Эдгээр нь янз бүрийн хэлбэр, хэмжээтэй байж болно, гэхдээ ихэнх нь ижил үндсэн тохиргоотой байдаг. Нэг оюутан гитараа засахад тусламж хүссэн бөгөөд түүний товчлуурууд нь потенциометрийнхтэй яг адилхан болохыг олж мэдэв. Ерөнхийдөө та гадна талын хөл нь 5 вольт ба газардуу холбогдсон бөгөөд дунд хөл нь A0 шиг аналог зүү рүү явдаг

Алхам 4: (3x) потенциометрийг холбох схем

(3х) потенциометрийн холболтын схем
(3х) потенциометрийн холболтын схем
(3x) потенциометрийг холбох схем
(3x) потенциометрийг холбох схем
(3х) потенциометрийн холболтын схем
(3х) потенциометрийн холболтын схем

Хамгийн зүүн хөл нь 5v -тэй, хамгийн баруун хөл нь GND -тэй холбогдоно. Та эдгээр хоёр алхамыг өөрчилж чадна, энэ нь төсөлд тийм ч их хохирол учруулахгүй. Зөвхөн товчлуурыг зүүн тийш эргүүлэхэд л бүх зүйл өөрчлөгдөх болно. Дунд хөл нь Arduino дээрх аналог тээглүүрүүдийн нэгтэй холбогдоно. Бид гурван товчлууртай байх тул бид саяхан хийсэн ажлаа гурав дахин нэмэгдүүлэхийг хүсч байна. Товчлуур бүрт 5v ба GND хэрэгтэй тул талхны самбар ашиглан хуваалцах боломжтой. Талхны тавцан дээрх улаан туузыг 5 вольт, цэнхэр туузыг газардуулгатай холбосон байна. Товчлуур бүр өөрийн аналог пинтэй байх шаардлагатай тул A0, A1, A2 -тэй холбогддог.

Алхам 5: AnalogRead () ба Variables -ийг ашиглах

Потенциометрийг зөв тохируулсан тохиолдолд бид эдгээр утгыг уншихад бэлэн байна. Үүнийг хийхийг хүссэн болгондоо analogRead () функцийг ашигладаг. Зөв синтакс бол analogRead (pin#); Тиймээс бидний дунд потенциометрийг уншихын тулд analogRead (A1); Бариулаас Arduino руу илгээсэн тоонуудтай ажиллахын тулд бид эдгээр тоонуудыг хувьсагч хэлбэрээр хадгалахыг хүсч байна. Бид потенциометрийг уншиж, түүний одоогийн дугаарыг "val" бүхэл тоон хувьсагч руу хадгалах үед кодын мөр энэ үүргийг биелүүлэх болно.

int val = analogRead (A0);

Алхам 6: Цуваа дэлгэцийг 1 товчлуураар ашиглах

Image
Image

Одоогийн байдлаар бид товчлууруудаас утгыг авч хувьсагч хэлбэрээр хадгалах боломжтой байгаа боловч хэрэв бид эдгээр утгыг олж харвал тустай байх болно. Үүнийг хийхийн тулд бид суулгагдсан цуваа дэлгэцийг ашиглах хэрэгтэй. Доорх код бол бидний сайт дээр татаж авах боломжтой Arduino IDE дээр ажиллуулах анхны ноорог юм. Хоосон тохиргоонд () бид дунд хөл бүрт холбогдсон аналог тээглүүрийг INPUT болгон идэвхжүүлж, Serial.begin (9600) ашиглан Цуваа дэлгэцийг идэвхжүүлнэ. Дараа нь бид зөвхөн нэг товчлуурыг уншиж, өмнөх шигээ хувьсагч хэлбэрээр хадгална. Одоогийн өөрчлөлт бол бид хувьсагчид ямар тоо хадгалагдаж байгааг хэвлүүлдэг мөрийг нэмж оруулсан явдал юм. Хэрэв та ноорогоо эмхэтгэж ажиллуулбал сериал дэлгэцээ нээж, дэлгэц дээр гүйлгэж буй тоонуудыг харах боломжтой болно. Код давталт хийх бүрт бид өөр дугаарыг уншиж, хэвлэж байна. Хэрэв та A0-тай холбогдсон бариулыг эргүүлбэл 0-1023 хоорондох утгыг харах ёстой. Хожим нь хадгалах, хэвлэхэд өөр 2 аналоги унших, 2 өөр хувьсагч шаардагдах бүх 3 поттиометрийг унших болно.

хүчингүй тохиргоо () {

pinMode (A0, INPUT); pinMode (A1, INPUT); pinMode (A2, INPUT); Цуваа эхлэх (9600); } void loop () {int val = analogRead (A0); Serial.println (val); }

Алхам 7: RGB LED ашиглах

RGB LED ашиглах
RGB LED ашиглах
RGB LED ашиглах
RGB LED ашиглах
RGB LED ашиглах
RGB LED ашиглах

4 хөлтэй RGB LED нь Arduino -ийн хамгийн дуртай бүрэлдэхүүн хэсгүүдийн нэг юм. Үндсэн 3 өнгөний холимогоос эцэс төгсгөлгүй өнгийг бүтээх арга нь надад гайхалтай санагдаж байна. Тохиргоо нь ердийн LED -тэй төстэй боловч энд үндсэндээ улаан, цэнхэр, ногоон LED -үүдийг нэгтгэсэн болно. Богино хөлийг arduino дээрх ХОУХ -ны нэг зүүгээр хянана. Хамгийн урт хөл нь 5 вольт буюу газардуулгатай холбогддог бөгөөд энэ нь таны нийтлэг анод эсвэл ердийн катодын LED эсэхээс хамаарна. Асуудлыг шийдэхийн тулд та хоёр аргыг туршиж үзэх хэрэгтэй. Бид аль хэдийн 5v ба GND -ийг талханд холбоход хялбар байх ёстой. Дээрх диаграммд 3 резистор ашигласан болно. Үнэндээ би энэ алхамыг алгасдаг, учир нь надад LED асдаггүй.

Өнгө гаргахын тулд бид analogWrite () функцийг ашиглан хичнээн улаан, цэнхэр эсвэл ногоон нэмж оруулахыг хянах болно. Энэ функцийг ашиглахын тулд бид ямар зүү# -тэй ярихыг хэлэх ёстой бөгөөд 0-255 хоорондох дугаарыг хэлэх хэрэгтэй. 0 нь бүрэн унтарсан бөгөөд 255 нь нэг өнгөний хамгийн их хэмжээ юм. Улаан хөлөө 9 -р, ногооныг 10 -р, цэнхэрийг 11 -р зүүгээр холбож үзье. Энэ нь аль хөл нь ямар өнгөтэй болохыг олж мэдэхийн тулд бага зэрэг туршилт, алдаа гарна. Хэрэв би нил ягаан өнгө гаргахыг хүсч байвал маш олон улаан, ногоон, магадгүй цэнхэр өнгийн хагасыг хийж чадна. Эдгээр тоонуудтай харьцахыг зөвлөж байна, энэ үнэхээр сэтгэл хөдөлгөм юм. Зарим нийтлэг жишээг дээрх зурган дээр харуулав

хүчингүй тохиргоо () {

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

Алхам 8: RGB LED -ийг хянахын тулд потенциометрийг ашиглах (нэг алдаатай)

RGB LED -ийг хянахын тулд потенциометрийг ашиглах (нэг алдаатай)
RGB LED -ийг хянахын тулд потенциометрийг ашиглах (нэг алдаатай)
RGB LED -ийг хянахын тулд потенциометрийг ашиглах (нэг алдаатай)
RGB LED -ийг хянахын тулд потенциометрийг ашиглах (нэг алдаатай)
RGB LED -ийг хянахын тулд потенциометрийг ашиглах (нэг алдаатай)
RGB LED -ийг хянахын тулд потенциометрийг ашиглах (нэг алдаатай)

Хоёр кодоо нэгтгэж эхлэх цаг болжээ. Та стандарт талхны тавцан дээр 3 товчлуур болон RGB LED -ийг багтаах хангалттай зайтай байх ёстой. Улаан цэнхэр, ногоон гэсэн утгыг бичихийн оронд потенциометр тус бүрээс хадгалсан утгыг ашиглан өнгийг байнга өөрчлөх болно. Энэ тохиолдолд бидэнд 3 хувьсагч хэрэгтэй болно. redval, greenval, blueval бүгд өөр өөр хувьсагч юм. Та эдгээр хувьсагчийг хүссэн зүйлээрээ нэрлэж болно гэдгийг санаарай. Хэрэв та "ногоон" товчлуурыг эргүүлээд улаан хэмжээ өөрчлөгдөх юм бол нэрийг зөв тааруулж сольж болно. та одоо бариул бүрийг эргүүлж, өнгийг хянах боломжтой боллоо !!

хүчингүй тохиргоо () {

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); }

Алхам 9: Шагналт: Газрын зураг () функц ба цэвэрлэгээний код

Та бариулыг нэг өнгө эргүүлж эхлэхэд тэр томорч, дараа нь гэнэт унах болно гэдгийг та анзаарч магадгүй юм. Өсөн нэмэгдэж, дараа нь хурдан унтрах энэ хэлбэр нь товчлуурыг дээш нь эргүүлэхэд 4 удаа давтана. Хэрэв та санаж байгаа бол потенциометр нь 0 -ээс 1023 хүртэлх утгыг унших боломжтой гэж хэлсэн. AnalogWrite () функц нь зөвхөн 0 -ээс 255 хүртэлх утгыг хүлээн авдаг. Потенциометр 255 -аас дээш гарсан тохиолдолд үндсэндээ 0 -ээс эхэлдэг. map () гэж нэрлэдэг алдаа. Та нэг алхмаар нэг хүрээний тоонуудыг өөр тоонууд руу хөрвүүлэх боломжтой. бид 0-1023 хүртэлх тоонуудыг 0-255 хүртэлх тоонууд руу хөрвүүлэх болно. Жишээлбэл, товчлуурыг хагасаар тохируулсан бол 512 орчим байх ёстой. Энэ тоог LED -ийн тал хүч болох 126 болгон өөрчлөх болно. Энэхүү эцсийн тоймд би тав тухтай байдлыг хангах үүднээс тээглүүрийг хувьсагчийн нэрээр нэрлэв. Та туршиж үзэх боломжтой өнгөт холигчтой боллоо !!!

// потенциометрийн тээглүүрийн хувьсагчийн нэрс

int redPot = A0; int greenPot = A1; int bluePot = A2 // RGB тээглүүрийн хувьсагчийн нэр 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); Цуваа, эхлэх (9600); } void loop () {// потенциометрийн утгыг уншиж, хадгалах int redVal = analogRead (redPot); int greenVal = analogRead (greenPot); int blueVal - analogRead (bluePot); // RGB LED redVal = map (redVal, 0, 1023, 0, 255) -ийн хувьд 0-1023 гэсэн утгыг 0-255 болгон хөрвүүлэх; greenVal = газрын зураг (greenVal, 0, 1023, 0, 255); blueVal = газрын зураг (blueVal, 0, 1023, 0, 255); // эдгээр хөрвүүлсэн утгыг RGB LED analogWrite (redLED, redVal) өнгө тус бүрт бичих; anaogWrite (greenLED, greenVal); analogWrite (blueLED, blueVal); // утгуудыг Serial monitor дээр харуулах Serial.print ("улаан:"); Цуваа.хэвлэх (redVal); Serial.print ("ногоон:"); Цуваа.хэвлэх (greenVal); Serial.print ("цэнхэр:"); Serial.println (blueVal); }

Зөвлөмж болгож буй: