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

Тогтвортой оролт ба LED ашиглан тоглоомын програм хангамж бүхий Bare Arduino -г турших: 4 алхам
Тогтвортой оролт ба LED ашиглан тоглоомын програм хангамж бүхий Bare Arduino -г турших: 4 алхам

Видео: Тогтвортой оролт ба LED ашиглан тоглоомын програм хангамж бүхий Bare Arduino -г турших: 4 алхам

Видео: Тогтвортой оролт ба LED ашиглан тоглоомын програм хангамж бүхий Bare Arduino -г турших: 4 алхам
Видео: ZEITGEIST: MOVING FORWARD | OFFICIAL RELEASE | 2011 2024, Арваннэгдүгээр
Anonim
Тогтвортой оролт ба LED ашиглан тоглоомын програм хангамж бүхий Bare Arduino -г туршиж үзээрэй
Тогтвортой оролт ба LED ашиглан тоглоомын програм хангамж бүхий Bare Arduino -г туршиж үзээрэй
Тогтвортой оролт ба LED ашиглан тоглоомын програм хангамж бүхий Bare Arduino -г туршиж үзээрэй
Тогтвортой оролт ба LED ашиглан тоглоомын програм хангамж бүхий Bare Arduino -г туршиж үзээрэй

"Push-It" интерактив тоглоом нь нүцгэн Arduino самбар ашиглан гадны эд анги, утас шаардлагагүй (багтаамжийн "мэдрэгчтэй" оролтыг ашигладаг). Дээр үзүүлсэн нь хоёр өөр самбар дээр ажиллаж байгааг харуулж байна.

Түлхэх-Энэ нь хоёр зорилготой.

  1. Таны Arduino самбар ажиллаж байгааг, шинэ кодын ноорог татаж авахын тулд зөв тохируулагдсан болохыг хурдан харуулах/баталгаажуулах. Энэ нь оролт, гаралтыг гүйцэтгэдэг болохыг та харах боломжтой болно (дижитал оролтын түвшинг мэдрэх, самбар дээрх LED дээрх гаралт); EEPROM санах ойгоос үнэ цэнийг хадгалах, сэргээх. Бүгдийг ямар ч утас, төхөөрөмж залгахгүйгээр.
  2. Arduino самбартай харилцах хөгжилтэй, бэрхшээлтэй тоглоомоор хангах.

Энэхүү зааварчилгаа нь та Arduino IDE -г аль хэдийн суулгасан бөгөөд ашиглалтын талаар наад зах нь бага зэрэг мэддэг гэж үзэж болно. Үгүй бол би эдгээр холбоосууд руу хандана уу.

Arduino -ийг эхлүүлэх нь

Одоо байгаа Arduino 1.6.x IDE -д Digispark (ачаалагчтай) дэмжлэгийг нэмж байна

Push-Энэ нь ихэнх Arduino самбартай ажиллах болно. Nano, Uno эсвэл DigiSpark Attiny85 самбарыг би Nano 3.1 ба DigiSpark ашиглан туршиж үзсэн бөгөөд текст дээр зүү нэр/дугаарыг дурдахад тэдгээр нь нано самбар дээр ашиглагдах болно (DigiSpark -ээс ялгаатай).

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

Энэ бол зүгээр л ямар ч Arduino эсвэл харьцуулж болох самбар юм.

Хэрэв танд одоогоор байхгүй байгаа бол би DigiSpark Pro (~ $ 12) эсвэл eBay -аас Nano 3.0 -ийг ~ 3 доллараар эхлүүлэхийг зөвлөж байна (гэхдээ үүнийг Хятадаас ирэхийг хүлээхэд танд ганц хоёр долоо хоног хэрэгтэй болно.; мөн та CH340 USB драйвер суулгах хэрэгтэй болно). DigiSpark ~ $ 10 (Pro бус) нь энэ ганц битийн видео тоглоомонд маш сайн тохирсон байдаг (Энэ нь зөвхөн 6 I/O -тэй, хуулагдсан хэсэг нь байршуулах нь арай илүү төвөгтэй байдаг)

Энд ашигласан тоног төхөөрөмжийн холбоосууд:

EBay дээр Nano V3.0 Atmega328P

Digispark USB хөгжүүлэх самбар

Алхам 2: Кодыг татаж аваад татаж аваарай

Кодыг татаж аваад татаж аваарай
Кодыг татаж аваад татаж аваарай

Доорх кодыг arduino ноорог файлд хуулах (жишээ нь …/Push_It/Push_It.ino) Би үүнийг маш сайн тайлбарлахыг хичээсэн. Кодыг танд ойлгомжтой гэж найдаж байна. Хэзээ нэмэгдүүлэх, бууруулах, хэзээ хийхгүй байхыг тодорхойлох логик нь нэлээд төвөгтэй боловч энэ хэсэг нь тусгай код бөгөөд ерөнхий ашиг тустай биш юм. Arduino IDE -ийг үзнэ үү:

Шинэ Arduino ноорог бий болгох

Самбарынхаа Arduino IDE зааврын дагуу 'Push_It' эскизийг манай микроконтроллерт татаж аваарай.

Алхам 3: Тоглож байна

Тоглож байна
Тоглож байна

Тоглоомын зорилго нь LED (самбар дээрх) анивчихад аль болох олон удаа анивчих, дараа нь давтагдах явдал юм.

Тоглоом тоглож байна:

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

Анхны анивчих үед хуурамч товчлуурыг дарах бүртээ тэр флаш дээр өөр флэш нэмэгдэх болно. Хуруугаа өргөх/тайлах нь ерөнхийдөө хамаагүй.

Гэхдээ хэрэв та эхний флэшээс өмнө эсвэл дараа нь "түлхвэл" багц дахь анивчих тоо буурах болно.

Хэрэв та өөр юу ч хийхгүй бол багц доторх анивчих тоо хадгалагдана. Цаашид тооллого бүтэн мөчлөгийн туршид өөрчлөгдөхгүй бол тоолох дугаарыг EEPROM санах ойд хадгална.

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

Та төхөөрөмжөө маш их гэрэл асаах боломжтой болгосны дараа найз руугаа илгээж болно (эсвэл DigiSpark -д сайн илгээнэ үү). руу. Би үүнийг 8 -аас дээш болгоход бэрхшээлтэй байдлаа орхисон. Бодит товчлуурыг хавсаргаснаар би үүнийг арав гаруй болгож чадсан. Дахин тоолохын тулд буцааж авахын тулд та анх удаа анивчихаас өмнө эсвэл дараа нь хүссэн үедээ дахин дарж болно. Түүнчлэн, хэрэв та хүчийг асаах үед оролтын зүүг газардуулж байвал тооллогыг 1 болгоно.

Анхны DigiSpark самбар нь асаалттай болсноос хойш 10 секундын хоцролттой байгаа бөгөөд 'Push-It' кодыг гүйцэтгэж тоглоом тоглож эхлэх болно гэдгийг анхаарна уу. Энэ цагийг ашиглан татаж авах кодын шинэ шинэчлэлтийг хүлээн авахын тулд USB тээглүүрээр ярихыг оролддог.

Хэрэв таны ашиглаж буй Arduino самбар дээр USB TX LED байгаа бол энэ товчлуурыг дарахад үр дүн багатай байх болно. EEPROM дахь тоолох утгыг шинэ утгаар шинэчлэх үед энэ LED илүү их анивчих болно. Энэхүү санал хүсэлт нь танд "товчлуур дарах" үйл явдлыг хэзээ үр дүнтэй өдөөсөн болохыг мэдэх эсвэл даатгуулахад тусална. Та хэлхээний газарт (микро USB холбогчийг тойрсон металл гэх мэт) хүрэхгүй байгаа эсэхийг шалгах хэрэгтэй бөгөөд ингэснээр таны дүрс нээлттэй оролтын зүү дээр чимээ гаргадаг. Оролтын зүү хөвж байгаа (дамжуулагч/эсэргүүцэлтэй ачааллаас дээш эсвэл доошоо татагдаагүй), хуруугаараа дамжиж буй хувьсах дохионы чимээ зэргээс шалтгаалан нэмэлт, тодорхой хэмжээгээр урьдчилан таамаглах боломжгүй бэрхшээлүүд гарах болно.

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

Би DigiSpark-ийн самбараас өгсөн хариу нь D3-D5 байгаа самбарын буланд хуруугаа бага зэрэг дарахад урьдчилан таамаглах боломжтой болохыг олж мэдсэн.

Би "Push-It" тоглож байхдаа USB 5v гар утасны батерейны багцад холбогдсон самбарыг хийх дуртай (зургуудыг үзнэ үү). Эдгээрийг ерөнхийдөө USB AC болон 12v авто адаптерийн хажууд байгаа хогийн савнаас хямд үнээр олж болно; ихэнх дэлгүүрүүдэд электроникийн дэлгүүр байдаг.

Алхам 4: Гадны бүрэлдэхүүн хэсгүүдтэй хийх нэмэлт туршилтууд

Гадны бүрэлдэхүүн хэсгүүдтэй хийх нэмэлт туршилтууд
Гадны бүрэлдэхүүн хэсгүүдтэй хийх нэмэлт туршилтууд

Анхаарна уу: Хэрэв та жинхэнэ товчлуур хавсаргасан бол кодын нэг мөрийг тайлбарлах шаардлагатай болно.

Чанга яригчтай, нэг талдаа газартай, хэрэв та нөгөө утсыг D4 рүү хүрвэл 250 Гц давтамжтай долгионы дууг сонсох болно. D3 дээр 500 Гц давтамжтай долгион байдаг. Хэрэв та чанга яригчийг D3 ба D4 хооронд холбовол хоёр дохионы нийлбэрийг сонсох болно.

Дээрх шиг чанга яригчийн оронд LED залгах нь маш сонирхолтой юм. Энэ асуудалд хүчдэл, гүйдлийн түвшин, эсэргүүцэл, туйлшралын талаар санаа зовох шаардлагагүй болно (муу тохиолдолд гэрэл асахгүй, зүгээр л эргүүлээрэй). Юуны өмнө сөрөг (катод) утсыг газардуулгатай, нөгөө нь D3 эсвэл D4 -тэй холбож үзээрэй. Дөрвөлжин долгионы улмаас LED нь "хагас" асах болно. Цаашид MicroControllerUnits -ийн гаралт хязгаарлагдмал тул эсэргүүцэгч авах шаардлагагүй болно. Би одоогийн хэмжилтийг хийсний үр дүнд Attiny85 ба Atmega328 MCU -ийн хувьд 15ма ба 20ма тус тус гарсан. Эдгээр түвшин нь жолоодлогын квадрат долгионы дохионы 50% үүргийн мөчлөгийн шинж чанараас шалтгаалан эдгээр хэсгүүдийн одоогийн хязгаарлагдмал утгын тал орчим хувь юм. Тоолуурын заалт нь үнэндээ туршсан хэлхээгээр дамжих гүйдлийн дундаж утга юм.

Сонирхолтой нь, хэрэв та D3 & D4 -ийг LED -ээр холбосон бол (дээрх ба зүүн талын зургийг харна уу) энэ нь аль ч талаасаа гэрэлтэх бөгөөд ойролцоогоор ½ орчим гэрэл нь нэг талдаа газартай холбогдсон байх болно. Би яагаад гэдгийг тунгаан бодохыг урьж байна.

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