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

Arduino Fireflies: 11 алхам (зурагтай)
Arduino Fireflies: 11 алхам (зурагтай)

Видео: Arduino Fireflies: 11 алхам (зурагтай)

Видео: Arduino Fireflies: 11 алхам (зурагтай)
Видео: Arduino + Firefly Experiment 1 2024, Арваннэгдүгээр
Anonim
Image
Image
Танд хэрэгтэй зүйл
Танд хэрэгтэй зүйл

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

Алхам 1: Танд хэрэгтэй зүйл

Танд хэрэгтэй зүйл
Танд хэрэгтэй зүйл

Алдаагаа анивчихын тулд танд дараах бүрэлдэхүүн хэсгүүд хэрэгтэй болно.

  • Ардуино. Би Наногоор эхэлсэн боловч Arduino-тэй нийцтэй аливаа микроконтроллер үүнийг хийх болно.
  • Шар LED, 5 мм. Та 6 хүртэл ширхэгийг ашиглаж болно.
  • Эсэргүүцэл. Гүйдлийг хязгаарлахын тулд танд LED тутамд нэг эсэргүүцэл хэрэгтэй болно. Би 470 ом ашигладаг байсан ч 150 ом-оос дээш хэмжээтэй бүх зүйл таны микро хянагчийг хамгаалахад тохиромжтой байх ёстой.
  • Талхны самбар.
  • Холбогч утас.

Хашааныхаа төслийг дуусгахын тулд танд дараахь зүйлс хэрэгтэй болно.

  • Цаг агаараас хамгаалах төслийн хайрцаг.
  • Холбогчтой 9 вольтын батерей. (Энэ хэсгийн доод хэсэгт байгаа тэмдэглэлийг үзнэ үү.)
  • Шилжүүлэх. (Би эдгээр ус нэвтэрдэггүй унтраалгыг сонгосон. Хэрэв та үүнийг гадаа ашиглахгүй бол ямар ч унтраалга хийх болно.)
  • Цэцэрлэгийн эргэн тойронд LED байрлуулахын тулд хэдэн метрийн зайтай утас. Би LED тутамд 10 фут орчим Cat5 Ethernet утас ашигладаг байсан.
  • Жижиг талхны самбар эсвэл зарим самбар.
  • LED утас гүйдэг цаг агаараас хамгаалагдсан кабелийн хавчаар. (Хэрэв та үүнийг гадуур ашиглахгүй бол үүнийг орхиж болно.)
  • Дулааны агшаагч хоолой нь LED алдааныхаа бөгсийг хамгаална.
  • Ногоон дэгээ ба гогцоо (жишээ нь velcro) нь LED галын ялаа таны цэцэрлэгт байгаа ургамал, шонгуудад наалдуулах болно.
  • Жижиг талхны самбарт бүрэлдэхүүн хэсгүүдийг холбох эрэгтэй толгой.

Хэрэгсэл:

  • Төслийн хайрцгийн өрмийн битүүд. (Энэ боломжийг ашиглан өөртөө сайхан алхам хийж өгөөрэй. Та үүнийг хийсэндээ баяртай байх болно).
  • Халуун цавуу буу.
  • Гагнуурын төмөр.
  • Танд хэрэгтэй бол төслийн хайрцагт зай гаргах зориулалттай эргүүлэх хэрэгсэл (өөрөөр хэлбэл Дремел).

Энд цөөн хэдэн тэмдэглэл байна:

1. Батерейны сонголт нь хурдан бөгөөд хялбар эхлүүлэхэд зориулагдсан байв. 9 вольтын батерейг байнга ашиглах нь жаахан үрэлгэн юм. Та 4х АА батерей эзэмшигчийг илүү урт хугацаанд ашиглах нь дээр (гэхдээ танд тохирох том төслийн хайрцаг хэрэгтэй болно).

2. Хэрэв та утаснуудад зориулсан Cat 5 Ethernet кабелийг задлахаар шийдсэн бол тэдгээр нь зэс судалтай эсэхийг шалгаад, ажил хийж байхдаа эмх цэгцтэй байлгахын тулд PVC -ээр сайтар боож өгнө. Дахин хэлэхэд би нэг LED тутамд 10 фут орчим утас ашигладаг байсан. Хэрэв та гэрлийг хол газар түгээхийг хүсч байвал илүү урт утас ашиглаарай!

3. Эцэст нь хэлэхэд миний өгсөн бүх линк бол зүгээр л саналууд юм. Юу ч бүтээх эсвэл худалдаж авахаасаа өмнө энэхүү зааварчилгааг бүхэлд нь уншина уу.

Алхам 2: Хэлхээг бий болгох

Цахилгаан хэлхээг бий болгох
Цахилгаан хэлхээг бий болгох
Цахилгаан хэлхээг бий болгох
Цахилгаан хэлхээг бий болгох
Цахилгаан хэлхээг бий болгох
Цахилгаан хэлхээг бий болгох

Энэ төсөл нь таны Arduino дээрх импульсийн өргөн модуляцийн тээглүүрийг ашигладаг. Микроконтроллерт эдгээр 6 зүү байдаг бөгөөд та хүссэн хэмжээгээрээ ашиглах боломжтой. Хэлхээ нэлээд урагшаа чиглэсэн байна. D3, D5, D6, D9, D10, D11 импульсийн өргөн модуляцийн (PWM) зүүгээс LED -ийн эерэг үзүүр хүртэлх бүх хүчийг холбоно уу. Сөрөг үзүүрийг резистор руу, дараа нь нийтлэг газар руу холбоно. (Эсэргүүцэл нь LED -ийн урд эсвэл ард байж болно. Хэрэв та илүү өндөр гүйдэлтэй богино холболтоос хамгаалахыг хүсэхгүй бол ямар ч хамаагүй болно.) Би утас холбоход туслах хэдэн схемийг оруулсан болно. (Fritzing дизайны програм хангамжийг ашиглан бүтээсэн диаграммууд.)

Алхам 3: Код

Image
Image

Хэрэв та туршлагатай програмист бол энэ кодыг хялбарчлах болно. Энэ нь танд хувьсагч, пинмод, функц, тэр ч байтугай санамсаргүй үүсгэгчийг ашиглах талаар танилцуулж байгаа тул сурч эхлэх нь маш сайн код юм. Код нь тийм ч нягт биш бөгөөд массив гэх мэт ижил үр дүнд хүрч чадна гэдэгт итгэлтэй байна.

Кодын тайлбар нь хэсэг бүрийн логикийг тодорхойлдог. Кодыг бүхэлд нь энд оруулсан бөгөөд та доорх тоймыг татаж авах боломжтой.

/*

Энэхүү скрипт нь ХОУХ -ийг ашиглан санамсаргүй байдлаар 6 LED (мэдээж шар өнгөтэй) санамсаргүй байдлаар анивчдаг. LED бүрийг өөрийн функцээр удирддаг. */ int led1 = 3; // LED нь ХОУХ -ны зүү 3 -т холбогдсон гэх мэт. Би бүх 6 ХОУХ -ны зүүг ашигласан. int led2 = 5; int led3 = 6; int led4 = 9; int led5 = 10; int led6 = 11; урт randnum; // randnum нь анивчих ба урт randbug хоорондын хугацааны интервалыг хянадаг; // randbug аль алдааг асаахыг хянадаг. void setup () {pinMode (led1, OUTPUT); // Бүх PWM тээглүүрийг гаралт болгон тохируулах. pinMode (led2, OUTPUT); pinMode (led3, OUTPUT); pinMode (led4, OUTPUT); pinMode (led5, OUTPUT); pinMode (led6, OUTPUT); } void loop () {randbug = санамсаргүй (3, 12); // randbug нь гүйцэтгэх функцийг санамсаргүй байдлаар сонгодог, // ингэснээр гэрэлтүүлэхийн тулд алдааг санамсаргүй байдлаар сонгодог. if (randbug == 3) {bug1 (); } if (randbug == 5) {bug2 (); } if (randbug == 6) {bug3 (); } if (randbug == 9) {bug4 (); } if (randbug == 10) {bug5 (); } if (randbug == 11) {bug6 (); }} / * * Эдгээр функц бүр адилхан ажилладаг. LED давтамжийг хянахын тулд "гогцоонуудын хувьд" өсөлт, дараа нь буурах * зүүгийн гаралтыг багасгах. * 'randnum' нь санамсаргүй хугацааны интервал бөгөөд 10-3000 ms * бөгөөд алдааны анивчих хоорондох хугацааны интервалыг сонгоно. * '10 -р саатал' нь бүдгэрсэн эффектэд зориулагдсан болно. */ void bug1 () {randnum = санамсаргүй (10, 3000); for (int fadeValue = 0; fadeValue = 0; fadeValue -= 5) {analogWrite (led1, fadeValue); саатал (10); } саатал (randnum); } void bug2 () {randnum = санамсаргүй (10, 3000); for (int fadeValue = 0; fadeValue = 0; fadeValue -= 5) {analogWrite (led2, fadeValue); саатал (10); } саатал (randnum); } void bug3 () {randnum = санамсаргүй (10, 3000); for (int fadeValue = 0; fadeValue = 0; fadeValue -= 5) {analogWrite (led3, fadeValue); саатал (10); } саатал (randnum); } void bug4 () {randnum = санамсаргүй (10, 3000); for (int fadeValue = 0; fadeValue = 0; fadeValue -= 5) {analogWrite (led4, fadeValue); саатал (10); } саатал (randnum); } void bug5 () {randnum = санамсаргүй (10, 3000); for (int fadeValue = 0; fadeValue = 0; fadeValue -= 5) {analogWrite (led5, fadeValue); саатал (10); } саатал (randnum); } void bug6 () {randnum = санамсаргүй (10, 3000); for (int fadeValue = 0; fadeValue = 0; fadeValue -= 5) {analogWrite (led6, fadeValue); саатал (10); } саатал (randnum); }

Алхам 4: Хайрцгийг бүтээх

Алдааны товчийг бүтээж байна!
Алдааны товчийг бүтээж байна!

Та Arduino -гоо кодоор гялалзуулж, галын ялаа хүссэнээрээ ажиллуулсны дараа та цэцэрлэгт оруулахыг хүсч магадгүй юм. Энэ нь Arduino болон LED -ийг хуурай байлгахын тулд төслийн хайрцаг болон бага зэрэг халдаг гэсэн үг юм. Хийцгээе!

Алхам 5: Алдааны товчийг бүтээх

Алдааны товчийг бүтээж байна!
Алдааны товчийг бүтээж байна!
Алдааны товчийг бүтээж байна!
Алдааны товчийг бүтээж байна!
Алдааны товчийг бүтээж байна!
Алдааны товчийг бүтээж байна!
  • LED залгуурыг 5 мм орчим болгон хайчилж ав.
  • Утасныхаа үзүүрийг 5 мм орчим туузаар боож, цагаан тугалга хийнэ.
  • Утасны үзүүр тус бүр дээр 1 мм -ийн дулаан багасгадаг хоолойг гулсуулна уу.
  • LED -ийг утсан дээр гагнана. (Энэ үед та хосуудын аль утас таны эерэг, аль нь сөрөг байх ёстойг сонгох ёстой. Би хатуу утсыг эерэг, цагаан утсыг сөрөг гэж сонгосон. Дараа нь толгой өвдөхгүйн тулд энэ стратегиа хэрэгжүүлээрэй.)
  • Дулааны хэмжээг багасгаж, нүцгэн утас болон LED утсан дээгүүр гулсуулна уу. Утас руу нь багасгахын тулд дээгүүр нь хурдан дөл ажиллуул.
  • Дулаан багасаж буй өөр нэг хэсгийг LED болон утсан дээр гулсуулж, LED линз нь үзүүрийг нь наалдуулж, хайлуулж байрлуулна.
  • Утасыг эмх цэгцтэй байлгахын тулд хэдэн ширхэг дулааныг бүхэлд нь уртаар нь шургуулж, хэдэн фут тутамд хайлуулна.

Алхам 6: Төслийн хайрцгийг бэлтгэ

Төслийн хайрцгийг бэлтгэ
Төслийн хайрцгийг бэлтгэ
Төслийн хайрцгийг бэлтгэ
Төслийн хайрцгийг бэлтгэ
  • Төслийн хайрцагт байгаа шаардлагагүй хуванцарыг цэвэрлэхийн тулд зүлгүүрийн хүрдний бит бүхий эргэдэг багаж ашиглана уу. (Хайрцгийг буцааж тавихад хэрэгтэй байж болох шураг бэхэлгээг огтлохгүй байхыг анхаарна уу.)
  • Шилжүүлэгч хаана байхыг, LED утас гарахыг хүсч байгаагаа шийдээрэй. Би талыг санал болгож байна, гэхдээ таны хэрэгцээнд нийцсэн зүйлийг ашиглаарай.
  • Тохирох хэмжээтэй өрмийн битийг ашиглан кабелийн хавчаар, нүхийг нүхлээрэй.

Тэмдэглэл: Дээрх зурган дээр намайг "дамми кабель" хийснийг харах болно. Энэ бол дулаан багатай LED -үүдийг хамтад нь нийлүүлэхэд ашигладаг 6 хос утсаар хийсэн багц юм. Би үүнийг кабелийн хавчаар нь жинхэнэ кабелийн баглаа боодолтой нийцэж байгаа эсэхийг шалгахын тулд, мөн унтраалга, кабелийн хавчаар, тагийг асаасны дараа хайрцгийн усны эсэргүүцлийг туршиж үзсэн. (6 инчийн усанд 24 цагийн турш живсний дараа дотор нь чийг багатай байсан. Энэ хайрцгийг "цаг агаарт тэсвэртэй" гэж хэлэхэд таатай байх болно.)

Алхам 7: Эрчим хүчийг авчир

Хүч чадлыг авчир!
Хүч чадлыг авчир!
Хүч чадлыг авчир!
Хүч чадлыг авчир!
  • Төслийн хайрцагт гурван бүрэлдэхүүн хэсгийг ойролцоогоор байрлуулснаар Arduino -д хүрэхийн тулд хичнээн их зай, сэлгэн залгах утас хэрэгтэй болохыг тодорхойл. Шилжүүлэгч ба 9В батерейны холбогчийн утсыг хайчилж ав. Төгсгөлийг нь хайчилж, тугалгана. Дараагийн алхам хийхийн тулд бага зэрэг халаагчийг гулсуулна уу.
  • Туузан дээрх хоёр эрэгтэй толгойн голыг хайчилж ав (гэхдээ тэдгээрийг хооронд нь наалдуулахгүй байх).
  • Шилжүүлэгчийн нэг үзүүрт 9В зайны холбогчийн улаан туяаг гагнана. Шилжүүлэгчийн нөгөө үзүүрийг эрэгтэй толгойн зүү рүү гагнана. Хар батерейны гагнуурыг нөгөө эрэгтэй толгойн зүү рүү залгаарай.
  • Дээрх диаграммд үзүүлсэн шиг толгойн зүү нь наног VIN (эерэг) ба GND (сөрөг) дээр асаахын тулд талхны самбар руу орно. VIN зүү нь 7-12 вольт ажиллах чадвартай. Хэрэв та Arduino -г 9В батерейгаас өөр аргаар тэжээхээр төлөвлөж байгаа бол өөр тэжээлийн зүү ашиглаарай.

Алхам 8: Шаардлагатай бол наног өөрчилнө үү

Шаардлагатай бол наног өөрчилнө үү
Шаардлагатай бол наног өөрчилнө үү

Миний төслийн хайрцаг нэлээд гүехэн байсан тул би ICSP толгойн зүүг тааруулахын тулд зайлуулах шаардлагатай болсон. Эдгээр тээглүүрүүд нь таны Arduino -той хоёрдогч интерфэйс юм. Скриптүүдийг USB портоор дуудаж болох тул тэдгээрийг устгах нь таны наног гэмтээхгүй.

Анхаарна уу: Хэрэв таны нано толгойн гагнуур хийх шаардлагатай бол Arduino угсрахдаа эдгээр тээглүүрийг орхих хэрэгтэй.

Алхам 9: Дотор утсыг холбоно уу

Image
Image
Дотор утсыг холбоно уу
Дотор утсыг холбоно уу
Дотор утсыг холбоно уу
Дотор утсыг холбоно уу
  • Кабелийн хавчаарын боомтыг төслийн хайрцагт зориулж өрөмдсөн нүхэнд холбоно уу. Хэрэв та кабелийн хавчаарыг хэрхэн ашиглах талаар эргэлзэж байвал YouTube дээр миний олж харсан энэ видеог угсарч байгааг харуулж байна. (0:57 руу хурдан урагшлах.) Таных резин угаагчтай байж магадгүй. Энэ нь төслийн хайрцаг болон кабелийн хавчаарын гадна талын самар хооронд явагдана.
  • LED утаснуудын сул үзүүрийг цуглуул. Энэ цагийг авч, тэдгээрийг ижил урттай болгож, ирмэгийг нь хайчилж, тугалгана. Төгсгөлийг кабелийн тагны тагнаас дамжуулж, хайрцагны дотор талхны тавцан дээр хүрэхэд хангалттай урт үлдээгээрэй.
  • Утасны холболтыг кабелийн хавчаарын портоор дамжуулж төслийн хайрцагт хийж, булчирхайн тагийг эргүүлээд утсыг түгжиж байгаарай.
  • Газардуулгын утсыг эерэг утаснаас салга (аль утсыг нь өмнө нь сонгосноо санаарай). Бүх газардуулгын утсыг нэг нийтлэг газарт нийлүүлнэ. Богино утсыг холбоод 1 эрэгтэй толгойгоор дуусга. Нүцгэн гагнуурын үеийг хамгаалахын тулд дулаан багасгагч ашиглана уу.
  • Эерэг утас бүрийн төгсгөлд гагнуурын эрэгтэй толгой. Дахин хэлэхэд дулаан багасгагчийг ашигла.
  • Arduino дээрх ХОУХ -ны зүүтэй холбогдохын тулд эерэг төгсгөлтэй эрэгтэй толгойнуудыг талхны талбарт оруулна уу.
  • Талбарын самбар дээр нийтлэг ойлголтыг оруулаад гүйдэл хязгаарлах резистороор дамжуулж Arduino дээрх GND руу дамжуулна.
  • Батерейнд байрлуулаад унтраагуурыг өмнө нь өрөмдсөн хайрцагны нүх рүү оруулна уу. Резин угаагчийг төслийн хайрцаг ба шураг тагны хооронд байрлуулна. Цахилгааны залгуурыг талхны самбар руу залгаарай.
  • Тагийг нь хайрцаг руу шургуул эсвэл шургуул. Чи дууссан!

Тэмдэглэл: Схем ба хөгжлийн үе шатанд би LED тутамд нэг гүйдэл хязгаарлах эсэргүүцэл ашигласан болохыг анхаарна уу. Ихэвчлэн LED бүр өөрийн гэсэн резистортой байх ёстой, ихэвчлэн нэгээс олон LED нэгэн зэрэг гэрэлтдэг. Код нь нэг дор хэд хэдэн LED асаахыг зөвшөөрдөггүй тул Arduino -ийг хамгаалахын тулд зөвхөн нэг эсэргүүцэл ашиглахад тохиромжтой. Энэ нь жижиг талхны тавцан дээр зай хэмнэх эсвэл LED тус бүрийг резистороор гагнах хугацааг хэмнэдэг. Энэ нь хэлсэн … АНХААРУУЛГА !!! Хэрэв та кодыг өөрчлөх гэж байгаа бол нэг дор хэд хэдэн LED гэрэлтдэг бол LED тус бүрт тусдаа резистор хэрэгтэй болно.

Алхам 10: Үүнийг ашиглаарай

Үүнийг хэрэглэ
Үүнийг хэрэглэ

LED хашааг ургамал, хашаа, ягаан фламинго эсвэл бусад зүйлд наалдуулахын тулд хилэн тууз эсвэл халуун цавуу хэрэглэ. Дарсны тавиур, хөшигний ард шургуулж, утсыг таазнаас дүүжлээд харанхуйд 3D хөвөгч эффект болгон ашиглаарай! Эдгээр нь үдэшлэг, хурим, кино, гэрэл зураг авахад маш сайхан байх болно.

Алхам 11: Цаашид …

Өмнө дурьдсанчлан, энэ бол төслийн анхны хувилбар боловч маш их боломжоор дүүрэн юм! Ээлжийн бүртгэлийг асаах замаар илүү олон LED ажиллуулна уу (Үүнийг хэрхэн хийхийг мэдэхийн тулд JColvin91 -ийн зааварчилгааг үзнэ үү.) "Үүнийг тохируулаад март" функцын хувьд гэрэл мэдрэгч, нарны цэнэглэгч, таймер нэмнэ үү! Алдаан дээр өөрийн дэнлүүгээ оруулахын тулд кодтой хутгана уу. Хийсэн зүйлээ хуваалцаж, таашаал аваарай !!

ШИНЭЧЛЭХ: Энэхүү зааварчилгааг хэвлэснээс хойшхи сүүлийн хоёр долоо хоногийн хугацаанд олон хувь нэмэр оруулагчид энэхүү төслийн код, техник хангамж, гүйцэтгэлийг гайхалтай сайжруулахыг санал болгов. Хэрэв та үүнийг барьж байгуулахаар төлөвлөж байгаа бол миний төлөвлөөгүй аргаар эдгээр аянгын алдааг хэрхэн яаж хийх талаархи сэтгэгдлүүд болон хариултуудыг уншаад уншаарай. Нээлттэй эх сурвалжийг бий болгох сэтгэл санааны үүднээс би энэ төслийг миний бодож байснаас илүү боловсронгуй болгоход тусалж буй бүх санааг хүлээн авч байна. Үүнийг хийсэн бүх хүмүүст талархаж байна.

Яв. Хий !!!

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