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

Arduino Gemma & NeoPixels бүхий хялбар хязгааргүй толь: 8 алхам (зурагтай)
Arduino Gemma & NeoPixels бүхий хялбар хязгааргүй толь: 8 алхам (зурагтай)

Видео: Arduino Gemma & NeoPixels бүхий хялбар хязгааргүй толь: 8 алхам (зурагтай)

Видео: Arduino Gemma & NeoPixels бүхий хялбар хязгааргүй толь: 8 алхам (зурагтай)
Видео: Adafruit Neopixel Ring + Arduino Gemma Tutorial 2024, Долдугаар сарын
Anonim
Arduino Gemma & NeoPixels бүхий хялбар Infinity толь
Arduino Gemma & NeoPixels бүхий хялбар Infinity толь

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

Энэхүү төслийн вебинарыг үзээрэй! 2017 оны 6 -р сарын 28 -нд миний удирдсан энэхүү вебинарыг үзээд намайг энэхүү бүтээн байгуулалтыг дуусгахыг үзнэ үү!

Миний хийж буй зүйлээс хоцрохгүйн тулд YouTube, Instagram, Twitter, Pinterest дээр намайг дагаж, мэдээллийн хуудсаа захиалаарай.

Алхам 1: хангамж

Хангамж
Хангамж

Энэ хичээлийг үргэлжлүүлэхийн тулд танд дараахь зүйлс хэрэгтэй болно.

  • Хэрэгслийн хурц хутга
  • Металл захирагч эсвэл T-дөрвөлжин
  • Дэвсгэр эсвэл хаягдал картон хайчлах
  • Загвар эсвэл тойрог зурах луужингийн хэвлэгч
  • Хуванцар онооны хутга (заавал биш боловч гоё)
  • Халуун хайлмал цавуу буу, эсвэл E6000/Түргэн барих гар урлалын цавуу
  • Хувцас хавчаар (заавал биш, цавуу хавчаар болгон ашиглах боломжтой)
  • 4 "дугуй толь
  • Гялгар толин хуванцар
  • 3/16 "зузаантай хар хөөс хавтан
  • Arduino Uno ба холбох хавтан дээр гагнуургүй талхны хавтан
  • USB A-B кабель
  • Жижиг товчлуур (та өмнө нь гагнасан байсан)
  • Талхны талбайн утас
  • RGBW NeoPixel тууз (эсвэл бусад WS2812b RGBW LED зурвас) (19 пиксел, өмнө нь гагнасан туузыг ашигладаг)
  • Гагнуурын төмөр ба гагнуур
  • Утас хуулагч
  • Диагональ таслагчийг угаана
  • Гурав дахь гар хэрэгсэл
  • Мультиметр (заавал биш)
  • Жижиг зүүгээр хийсэн бахө
  • Хясаа
  • Arduino Gemma самбар
  • Микро USB кабель
  • USB hub, хэрэв таны компьютер зөвхөн USB 3 порттой бол (шинэ Mac гэх мэт)
  • USB өргөтгөл кабель (заавал биш)
  • USB цахилгаан адаптер
  • Lipoly зай ба цэнэглэгч (заавал биш)

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

Зураг
Зураг

Arduino Gemma - Хязгааргүй толь төсөл нь Arduino Uno -г Arduino Gemma -ээр сольж Arduino хэлхээг жижигрүүлж харуулдаг. Gemma бол ATTiny85 микроконтроллерийн эргэн тойронд бүтээгдсэн жижигхэн самбар бөгөөд Uno -ийн Atmega328 -аас бага санах ойтой, цөөн функцтэй боловч арай бага бөгөөд өртөг багатай юм. Том дэвсгэрийг гагнахад маш хялбар байдаг (мөн дамжуулагч утсаар оёдог, гэхдээ энэ бол өөр ангийн сэдэв юм). Gemma нь таны компьютерт холбогдохын тулд микро USB кабель ашигладаг бөгөөд батерейг холбох JST порттой. Та Gemma програмыг Arduino програмаас хэрхэн програмчилж, эцсийн төсөл болгон бүтээх талаар сурах болно. Та оронд нь Adafruit Gemma ашиглаж болно, гэхдээ та Arduino програм хангамжийг тохируулахын тулд нэмэлт алхам хийх шаардлагатай болно.

Зураг
Зураг

RGBW NeoPixel зурвас - Энэхүү дижитал хаягтай зурвас нь улаан, ногоон, цэнхэр, цагаан өнгийн нийлмэл LED -ийг удирдах WS2812b чипсийг агуулдаг. NeoPixel бол Adafruit брэндийн нэр боловч та өөрийн дуртай нийлүүлэгчийн вэбсайтаас "WS2812b RGBW зурвас" -ыг хайж олох боломжтой. Энэ ангид өгсөн дээжийн код нь RGB (цагаан байхгүй), аналог LED тууз эсвэл бусад дижитал хяналтын чиптэй (APA104 гэж нэрлэдэг DotStar гэх мэт) ажиллахгүй болно

Алхам 2: Хүрээний хэсгүүдийг хайчилж ав

Хүрээний хэсгүүдийг хайчилж ав
Хүрээний хэсгүүдийг хайчилж ав

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

Хэрэв та хөөсөнцөр хавтанг хайчилж, нааж эхэлж байгаа бол дадлага, алдаа гаргахын тулд нэмэлт зүйл аваарай- 16х20 инчийн гурван багц бүхий самбар хангалттай байх болно (хэрэв танд үлдсэн зүйл байвал та бусад төсөл хийх боломжтой болно). Осол гэмтлээс урьдчилан сэргийлэхийн тулд хурц ир, төмөр захирагч, удаан хэмнэл, болгоомжтой байгаарай. Хутга гулсах эсвэл эвдэрч гэмтсэний улмаас цөөн хэдэн хэсгийг дахин хийх нь хэвийн үзэгдэл юм.

Зүсэх хэлбэрийг бий болгох хоёр аргыг ашиглаж болно: загварыг хэвлэх эсвэл дугуй хэлбэртэй луужин ашиглан дүрс зурах. Аль алинд нь давуу тал байхгүй, гэхдээ таны ур чадвар, багаж хэрэгсэл таныг нэг тийш нь байлгаж магадгүй юм. Энэхүү загварыг захидлын хэмжээтэй цаасан дээр плита хэлбэртэй PDF хэлбэрээр авах боломжтой бөгөөд үүнийг наалдамхай тууз ашиглан хөөсөнцөр дээрээ наалдана. Загвар файлыг том форматтай принтер дээр хэвлэх эсвэл өөрчлөлт оруулахыг хүссэн тохиолдолд бэлэн болсон хувилбар байдаг.

Зураг
Зураг
Зураг
Зураг

Дүрсийг гараар зурах нь үнэхээр энгийн, гэхдээ би амлаж байна! Луужингийн радиусыг (4 "толь = 2" радиус) тохируулж, хөөсөнцөр дээрээ ирмэг бүрээс дор хаяж 5 инч тойрог зурж, толин тусгал хэмжээтэй тохирох тойрог зур. Мэдээжийн хэрэг, та толины тойргийг тоймлож чадна, гэхдээ дараа нь та төвийг нь олж, тэмдэглэх хэрэгтэй болно! Луужин нь төв цэг дээр хоёр дахь төвлөрсөн тойрог хийхэд тохиромжтой догол мөрийг бий болгодог.

Зураг
Зураг
Зураг
Зураг

Луужингаа 4 инч болгож томруулж, эхний тойргийнхоо эргэн тойронд том тойрог зур. Энэ бол таны толины доод/арын хэсэг юм.

Зураг
Зураг
Зураг
Зураг

Дээд/урд хэсэг нь арай том байх ёстой тул луужингаа 4 3/16 болгож өргөж, доод хэсгээс аюулгүй зайд сугалж ав.

Зураг
Зураг
Зураг
Зураг

Үзэх цонх нь толиноос арай бага байх ёстой, гэхдээ яг хэд байх нь тийм ч чухал биш. Луужингаа толины радиусаас 1/8 инч орчим жижиг болгож, урд/дээд талын периметрийн төвтэй ижил төвийг ашиглан тойрог зур.

Зураг
Зураг

Энэ хэсгийг жижиг тойрог дотор тэмдэглээрэй, энэ нь хэдхэн хормын дараа таслагдах болно.

Зураг
Зураг
Зураг
Зураг

Пенкоргоныхоо нэг хажуугийн хажуугаар нэг туузыг 1/2 "өргөн, нөгөө хэсгийг 1" өргөнөөр тэмдэглээд хайчилж ав.

Зураг
Зураг

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

Зураг
Зураг
Зураг
Зураг

Дугуйлан хайчилж эхэллээ! Зарим нарийн мэдрэмж, тэвчээр энд тустай. Би илүү хяналттай байгаа юм шиг санагддаг тул дугуй хайчлах жижиг гар урлалын хутга ашиглах дуртай. Энд миний хэрэглэж буй хутга нь ердийн X-acto ир авдаг бөгөөд би үүнийг scrapbooking-ийн коридороос олсон.

Нэгдүгээрт, хутганыхаа доод хэсгийг тойруулан бага зэрэг чирж, зөвхөн цаасны дээд давхаргыг цоолно. Энэ дамжуулалтын үеэр та ирийг чөлөөтэй өнцгөөр булааж болно, гэхдээ хамгийн тохь тухтай, хамгийн нарийн хэлбэрийг гаргадаг.

Дугуйг дахин нэг удаа хайчилж, өмнөх дамжуулалтаар хийсэн мөрийг хайчилж ав. Энэ удаад ирний өнцөгт анхаарлаа хандуулаарай, энэ нь 90 градус байх ёстой (дээш дээш доош). Үүнийг тайрахдаа чанга дарж, хуруугаа ирний замаас хол байлга. Самбараа аваад бүх замыг тайрсан эсэхээ шалгаарай. Периметрийн дагуу үлдсэн цэгүүдийг таслахын тулд хутганыхаа тусламжтайгаар дахин нэг дамжуулалт хий.

Зураг
Зураг
Зураг
Зураг

Дараа нь дээд хэсгийг хайчилж, дотор талыг нь хайчилж ав. Энэ хэсэг нь бусад зүйлээс илүү харагддаг тул тэгш бус ирмэгийг тэгшлэхийн тулд бага зэрэг нэмэлт цэвэрлэгээ хий.

Зураг
Зураг
Зураг
Зураг

Муруй дотоод цагирагны хувьд, нимгэн хөөсөн туузны дагуу 1/4 инч орчим зүсэлт хийгээрэй, гэхдээ бүхэлд нь огтлох хэрэггүй! Энэ нь сонсогдож байгаагаас хамаагүй хялбар юм- хоёр хөнгөн дамжуулалт хийхэд л та авах болно. Эдгээр зүсэлтүүд нь гөлгөр дотоод гадаргуутай байхын зэрэгцээ хэсгийг муруй болгох боломжийг олгодог.

Зураг
Зураг
Зураг
Зураг

Гаднах хүрээ нь хамгийн сайн нүүрээ гадагш чиглүүлэх ёстой тул бид арай өөр загвараар хөндлөн зүсэлт хийх болно. Эхлээд тойргийн ирмэгээс 3/16 "гэсэн шугамыг оноогоор хийж бэлдээрэй. Туузны дагуу 3/8" ба 1/8 "орчим зузаан, нимгэн хэсгийг ээлжлэн зөөлөн хөндлөн зүсэлт хийнэ.

Зураг
Зураг

Хажуугийн ирмэг дээр байгаа материалыг зайлуулахын тулд туузыг хайчлах гадаргуугийн ирмэгийн дагуу байрлуулж, хутгаа хэвтээ байдлаар гулсуулж хөөсний илүүдлийг зайлуулж, цаасны доод давхаргыг хэвээр үлдээгээрэй.

Зураг
Зураг

Одоо нимгэн хэсгүүдийг хямсаа эсвэл бахө ашиглан чангална. Тэд сэтгэл ханамжтай дуугарах чимээ гаргадаг. Нэмэлт зайтай бол тууз нь өөрөө муруй болж, төслийн цэвэр гаднах бүрхүүлийг бүрдүүлж чадна!

Зураг
Зураг
Зураг
Зураг

Толин тусгалаасаа том хэмжээтэй, гэхдээ гадна талын хүрээнээс жижиг хэмжээтэй байх ёстой хуванцар хэсгийг хайчилж ав. Үүнийг тойрог болгон хайчилж бүү зовоо. Хэрэв танд хуванцар онооны хутга байгаа бол энэ нь хамгийн сайн арга юм. Гугийг захирагчийнхаа дагуу хэд хэдэн удаа чирээд дараа нь хуванцарыг онооны дагуу ав. Гэсэн хэдий ч хутга нь энэ нимгэн материалыг амархан хайчилж авдаг, гэхдээ ямар ч байсан хүрээ дотор нуугдах болно.

Алхам 3: Хүрээг угсрах

Хүрээг угсрах
Хүрээг угсрах
Хүрээг угсрах
Хүрээг угсрах

Ажлын гадаргууг зарим хаягдал материалаар хамгаалаарай. Цавуу буугаа халааж, өөрийгөө шатаасан тохиолдолд ойрхон байлгахын тулд аяга мөстэй ус бэлдээрэй. Хэрэв та хүсвэл энэ төсөлд өөр өөр цавуу хэрэглэж болно.

Зураг
Зураг
Зураг
Зураг

Доод тойргийн төв хэсэгт хүүхэлдэй цавуу түрхээд толин тусгалаа наа. Толин тусгалаа хөөсөнцөр рүү зөөлөн эргүүлээд, тойрогтой нь тэгшлээрэй. Дараа нь нимгэн туузаа толины периметрт нааж, илүүдэл хэсгийг нь салгаад утас дамжуулах жижиг цоорхой үлдээгээрэй.

Зураг
Зураг
Зураг
Зураг

Урд талын "пончик" хэсгийг нүүрээ доош харуулан ажлын гадаргуу дээр байрлуулж, ирмэг дээр цавуу тавь. Ажлын гадаргуу дээр наалдаж байхдаа эдгээр хэсгүүдийг дахин дахин дарж, урд ирмэг нь сайхан, цэвэрхэн болно. Гаднах ирмэг нь огтхон ч тойрохгүй бөгөөд энэ нь зүгээр юм- хэрэв та хүсвэл дараа нь энэ цоорхойг арилгах боломжтой.

Зураг
Зураг
Зураг
Зураг

NeoPixel туузны утсыг толины ирмэг дээрх жижиг цоорхойгоор дамжуулж, дотор талд нь наа. Цавуу хөргөх үед туузыг бэхлэхийн тулд хувцасны хавчаар ашиглана уу. Толинд халуун цавуу түрхэхээс зайлсхийхийг хичээгээрэй, гэхдээ ингэвэл зүгээр! Бага зэрэг үрэх архи нь шил шиг нүдгүй гадаргуу дээр тогтох болно.

Зураг
Зураг
Зураг
Зураг

Тоосжилт, хөөсөрсөн хэсгүүдийг арилгахын тулд ажлын талбайгаа цэвэрлээрэй. Хөвөн даавуугаар толийг арчиж, толин тусгалыг бүрэн цэвэрлээд дараа нь толин тусгалаа аваад хамгаалалтын бүрхүүлийг нэг талаас нь халь. Дотор хананы эргэн тойронд дөрвөн цэгт бага хэмжээний цавуу түрхээрэй (цавуу бууны хөдөлгөөнийг толин дээгүүр чирэхээс сэргийлнэ үү). Одоо таны цацруулагч гадаргууг битүүмжилж, тоосноос хамгаална.

Зураг
Зураг

Энэ сэдвээр миний Arduino Class хичээл дээр тайлбарласан NeoPixel кодын дээжийг ажиллуулж NeoPixel зурвасаа Arduino самбартаа залгаад давхар тусгалаа олж аваарай.

Алхам 4: Цахилгааны диаграм ба псевдокод

Хэлхээ диаграм ба псевдокод
Хэлхээ диаграм ба псевдокод

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

Холболтууд дараах байдалтай байна.

NeoPixel 5V -> Arduino 5V

NeoPixel GND -> Arduino GND

NeoPixel Din (өгөгдөл) -> Arduino дижитал I/O зүү (тохируулах боломжтой)

Түр зуурын товчлуурын нэг тал -> Arduino дижитал I/O зүү (тохируулах боломжтой)

Түр зуурын товчлуурын нөгөө тал -> Arduino GND

Энэ хэлхээ нь NeoPixel зурвасыг LED товчлууртай хослуулан янз бүрийн LED анимацыг идэвхжүүлдэг бөгөөд оролт/гаралтын хичээл дээр үзсэн шиг дотоод татах эсэргүүцлийг ашиглана. Энэ бүх мэдээллийг ашигласнаар бид "pseudocode:" нэртэй Arduino програмынхаа хүний унших боломжтой загварыг бичиж болно.

Хувьсагчууд: NeoPixel зүү дугаар, товчлуурын зүү дугаар, хичнээн LED байгаа, LED нь хэр тод байх ёстой

Нэг удаагийн даалгавар: товчлуурын зүүг дотоод татах эсэргүүцэл бүхий оролт болгон эхлүүлэх, NeoPixel туузыг эхлүүлэх, LED анимацийг тайлбарлах

Даалгавруудыг гүйцэтгэх: товчлуур дарагдсан эсэхийг шалгаад өөр LED анимац руу шилжих

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

Алхам 5: Breadboard прототип

Breadboard прототип
Breadboard прототип

Arduino болон талхны хавтангаа аваад USB кабелийг салгасан эсэхийг шалгаарай. Таны NeoPixels өмнөхөөсөө залгагдсан хэвээр байна уу? Агуу их! Үгүй бол тэдгээрийг холбоно уу: 5V цахилгаан төмөр замд, Din нь Arduino pin 6, GND -ийг газрын төмөр замд холбоно.

Дараа нь талхны тавцан дээр түр зуурын товчлуур нэмж, төвийг хуваах шугамыг тавь. Нэг хөлөө газрын төмөр замд, түүний хажуугийн хөлийг Arduino pin 2 -т холбоно уу. Энэ төслийн кодыг шууд эсвэл дээрх Autodesk Circuits модуль дээрээс татаж аваад "Код засварлагч" товчийг дараад "Код татаж авах" дээр дарж файлыг нээнэ үү. Arduino эсвэл кодыг хуулж, шинэ хоосон Arduino ноорог дээр буулгана уу.

Зураг
Зураг

USB кабелийг холбоод кодыг Arduino самбартаа оруулна уу. Товчлуурыг дарна уу; Энэ нь NeoPixels дээр тоглох шинэ анимацийг өдөөх ёстой. Хязгаарлагдмал гэрэлтэй цөөн тооны пикселийн хувьд 5В -ийн төмөр зам хангалттай байдаг, гэхдээ илүү олон LED -тэй ирээдүйн төслүүдийн хувьд танд миний танилцуулсан Arduino Class -ийн ур чадварын хичээл дээр дурдсанчлан тусдаа цахилгаан хангамж хэрэгтэй болно.

Алхам 6: Код

Кодыг илүү нарийвчлан авч үзье.

#deutine BUTTON_PIN 2 // товчлуурт холбогдсон дижитал IO зүү. Энэ байх болно

// татах резистороор удирддаг тул унтраалга нь // тээглүүрийг хэсэг хугацаанд татах ёстой. Өндөр -> доод // шилжилтийн үед товчлуурын даралтын логикийг гүйцэтгэх болно. PIXEL_PIN 6 -ийг тодорхойлох // NeoPixels -т холбогдсон дижитал IO зүү. #PIXEL_COUNT 19-ийг тодорхойлох #BRIGHTNESS 100 // 0-255 // Параметр 1 = зурвас дахь пикселийн тоо // Параметр 2 = зүү дугаар (ихэнх нь хүчинтэй) // Параметр 3 = Пикселийн төрлийн тугуудыг шаардлагатай бол нэмж оруулаарай: / / NEO_RGB Пикселүүд нь RGB bitstream -д утастай байдаг // NEO_GRB Пикселүүд нь GRB bitstream -д утастай байдаг, хэрэв туршилтын явцад өнгө солигдсон бол зөв юм. bitstream (жишээ нь Өндөр нягтралтай LED зурвас), неопикселийн модны хувьд зөв Adafruit_NeoPixel зурвас = Adafruit_NeoPixel (PIXEL_COUNT, PIXEL_PIN, NEO_GRBW + NEO_KHZ800); bool oldState = HIGH; int showType = 0;

NeoPixel жишээ кодтой адил энэ эхний хэсэгт NeoPixel зурвас болон товчлуур, пикселийн хяналтын зүү гэх мэт хувьсагчдыг тохируулна.

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

pinMode (BUTTON_PIN, INPUT_PULLUP); strip.setBrightness (BRIGHTNESS); strip.begin (); strip.show (); // Бүх пикселийг "унтраах" болгож эхлүүлэх} Тохиргооны функц нь 2-р зүүг дотоод татах эсэргүүцлийг идэвхжүүлж оролтод оруулж, пикселийн дэлхийн тод байдлыг тохируулж, өгөгдлийн холболтыг эхлүүлнэ.

void loop () {

// Одоогийн товчлуурын төлөвийг авах. bool newState = digitalRead (BUTTON_PIN); // Төлөв байдал өндөр байдлаас нам болж өөрчлөгдсөн эсэхийг шалгана уу (товчлуур дарах). if (newState == LOW && oldState == HIGH) {// Товчлуураас гарах богино хугацаа. саатал (20); // Татаж авсны дараа товчлуур бага хэвээр байгаа эсэхийг шалгаарай. newState = digitalRead (BUTTON_PIN); if (newState == LOW) {showType ++; if (showType> 6) showType = 0; startShow (showType); }} // Сүүлийн товчлуурын төлөвийг хуучин төлөвт тохируулна уу. oldState = newState; }

Циклийн функц нь эхлээд товчлуурын одоогийн төлөвийг шалгаж логик хувьсагчид хадгалдаг (хоёр төлөвийн аль нэг нь байж болно: HIGH эсвэл LOW). Дараа нь энэ төлөв нь HIGH -аас LOW хүртэл явж байгаа эсэхийг шалгаж, давхар шалгадаг. Хэрэв ингэсэн бол showType-ийг нэгээр нэмэгдүүлж, startShow функцийг дууддаг бөгөөд одоогийн showType-ийг аргументаар дамжуулдаг (showType нь 0-6 хүртэл хязгаарлагддаг). OldState хувьсагч нь сүүлчийн товчлуурын төлөв байдлыг харуулахын тулд шинэчлэгддэг.

void startShow (int i) {

switch (i) {case 0: colorWipe (strip. Color (0, 0, 0), 50); // Хар/унтраах завсарлага; тохиолдол 1: colorWipe (зурвас Өнгө (255, 0, 0), 50); // Улаан завсарлага; тохиолдол 2: colorWipe (зурвас Өнгө (0, 255, 0), 50); // Ногоон завсарлага; тохиолдол 3: colorWipe (зурвас Өнгө (0, 0, 255), 50); // Цэнхэр завсарлага; тохиолдол 4: pulseWhite (5); завсарлага; тохиолдол 5: солонгоFade2White (3, 3, 1); завсарлага; тохиолдол 6: fullWhite (); завсарлага; }}

StartShow функц нь switch/case мэдэгдэл агуулдаг бөгөөд энэ нь if/else хэллэгийг овоолох гайхалтай хурдан арга юм. Switch case нь i хувьсагчийг тохиолдол бүрийн утгатай харьцуулж, дараа нь уг мэдэгдэлд кодыг ажиллуулдаг. Түлхүүр үг

завсарлага;

switch/case мэдэгдэлээс гардаг. Энэ унтраалга/кейс нь товчлуурыг дарах бүрт өөр өөр хөдөлгөөнт функцийг дуудахад ашиглагддаг.

Зураг
Зураг

Нэгэнт та талхны хавтангийн функциональ загвартай болсон тул Arduino Uno -той харьцуулахад арай жижиг, бүрэн бус, өртөг багатай Arduino Gemma -ийг ашиглан үүнийг дуусгах төсөл болгох цаг болжээ. Та оронд нь Adafruit Gemma ашиглаж болно, гэхдээ та Arduino програм хангамжийг тохируулахын тулд нэмэлт алхам хийх шаардлагатай болно.

Нэгдүгээрт, NeoPixel pin хувьсагчийг кодын 6 -аас 1 болгон өөрчилнө үү.

#PIXEL_PIN 1 -ийг тодорхойлох // NeoPixels -т холбогдсон дижитал IO зүү.

USB кабель ашиглан Arduino Gemma -г компьютерт холбож, Arduino Tools цэснээс "Arduino Gemma" -ийг самбарын төрлөөр сонгоно уу.

Зураг
Зураг

ATTiny85 микроконтроллерийн хязгаарлагдмал функцууд нь Uno -тэй адил цуваа портыг дэмждэггүй тул порт цэснээс юу ч сонгох шаардлагагүй болно. Гэсэн хэдий ч Programmer цэсийн хэсэгт "Arduino Gemma" -ийг сонгохоо мартуузай.

Зураг
Зураг

Самбарыг програмчлах гэж байгаагаа мэдэхийн тулд бага зэрэг тусламж хэрэгтэй байгаа тул самбар дээрх дахин тохируулах товчлуурыг дарж, улаан LED асах үед Upload товчийг дарж ноорогоо Gemma дээр ачаална уу. Хэрэв та дахин тохируулах товчлуурыг дарахад таны улаан LED лугшихгүй бол таны USB кабель зөвхөн тэжээлээр тэжээгддэг байж магадгүй бөгөөд үүнийг тэжээл, өгөгдлийн холболттой USB кабелиар солих хэрэгтэй. Таны LED импульс өгөхгүй байх бас нэг шалтгаан бол та Gemma ачаалагчийг танихад асуудалтай байгаа USB 3 порт (бүх шинэ Mac) ашиглаж байгаа явдал юм. Компьютер дээрээ USB 2 порт эсвэл компьютер болон Gemma хоёрын хооронд USB hub ашиглана уу.

Алхам 7: Гагнуурын хэлхээ

Зураг
Зураг
Зураг
Зураг

Gemma -тай хэлхээг ажиллуулахын тулд бид утсыг самбар дээрх дэвсгэр дээр шууд гагнах болно. Талхны хавтангийн холбогчийг хайчилж, NeoPixel туузны утсыг салгаж, эргүүлж, цагаан тугалга хийнэ. Гагнуурын утсыг товчлуурын товчлуурын диагональ утсан дээр ижил аргаар хийнэ (та гагнуурын хичээлийн товчлуурыг ашиглаж болно). Хоёр газардуулгын утсыг мушгих ба гагнах.

Зураг
Зураг
Зураг
Зураг

Gemma-ийн том нүхнүүд нь энэ хэлхээг нэмэлт хэсгүүдгүйгээр угсрахад хялбар болгодог- зүгээр л тугалган утсыг цооногоор дамжуулж, илүүдлийг нь гагнуурын дэвсгэрээр боож өгнө. Холболтууд дараах байдалтай байна.

  • NeoPixel 5V -> Gemma Vout
  • NeoPixel Din -> Gemma 1 ~ (дижитал зүү 1)
  • NeoPixel GND -> товчлуурын нэг тал -> Gemma GND
  • товчлуурын нөгөө тал -> Gemma 2 (дижитал зүү 2)

Гурав дахь гар хэрэгсэлд хэлхээний самбараа тавиад, гагнуурын төмрөөрөө халааж, дэвсгэр, утсыг залгахын тулд өөр гагнуур хийхээс өмнө халаана. Бүх холболтыг хөргөсний дараа илүүдэл утсыг угааж цэвэрлээрэй.

Зураг
Зураг
Зураг
Зураг

Таны Gemma -г халуун цавуугаар холбож, USB порт нь тойргийн ирмэг рүү харна.

Зураг
Зураг
Зураг
Зураг
Зураг
Зураг
Зураг
Зураг
Зураг
Зураг

Урд/дээд тагийг хэрэглэж, ирмэгийг нь хооронд нь цэвэрхэн байрлуул. Тохирохын тулд та доод тойрогоо бага зэрэг тайрч, мөн түүний ханийг байрлуулахын тулд ирмэгийг нь татаж аваарай. Товчлуурыг дуртай газраа нааж болно.

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

USB кабелийг залгаарай, товчлуурыг дараад сайхан өнгөрүүлээрэй! Та кодыг өөрчилснөөр өнгө, анимацийг сольж болно. Хэрэв та хананд холбохыг хүсвэл USB тэжээлийн адаптер ашиглана уу. Энэ үед та хүсвэл үлдсэн цоорхойг хаахын тулд өөр нэг жижиг хөөсөн ирмэг хийж болно. Зарим санал болгож буй хэрэглээ: ханандаа өлгө, ширээн дээрээ байлга, найздаа өг!

Зураг
Зураг

Та энэ төслийг USB кабель холбохын оронд дотоод батерейгаар хялбархан ажиллуулж болно. Gemma-ийг нааж байгаа чиглэл нь батерейны порт руу нэвтрэх боломжийг тодорхойлдог тул та үүнийг өөр өнцгөөр дахин нааж болно. 19 RGBW пиксел нь 80m хамгийн их гүйдлийн зургаас (Gemma -ийн хувьд ~ 10ma) 1530ma -тэй тэнцүү бөгөөд энэ нь техникийн хувьд дор хаяж олон мАч багтаамжтай батерей хэрэгтэй гэсэн үг юм. Гэсэн хэдий ч толины код нь бүх дөрвөн пикселийн LED -ийг нэгэн зэрэг ашиглахад тийм ч ойр байдаггүй тул бодит байдал дээр хамгийн их гүйдэл татах нь хамаагүй бага юм. Батерейны эрүүл саруул байдал бол 1200 мАч хүчин чадалтай липолит батерей юм.

Зураг
Зураг

Энэхүү Arduino төслийг дагаж байгаад баярлалаа! Илүү анхан шатны мэдлэгтэй болохын тулд миний танилцуулсан Arduino ангийг үзээрэй. Таны хувилбаруудыг сэтгэгдлээс харж, таны санал, сэтгэгдлийг хүлээж авахыг тэсэн ядан хүлээж байна.

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