Talaan ng mga Nilalaman:

Kinokontrol ng Bluetooth na NeoPixel Christmas Tree: 5 Mga Hakbang
Kinokontrol ng Bluetooth na NeoPixel Christmas Tree: 5 Mga Hakbang

Video: Kinokontrol ng Bluetooth na NeoPixel Christmas Tree: 5 Mga Hakbang

Video: Kinokontrol ng Bluetooth na NeoPixel Christmas Tree: 5 Mga Hakbang
Video: Real Transforming Optimus Prime Humanoid Robot! - YouTube Shorts 2024, Hulyo
Anonim

Nagtataka ka ba kung paano idagdag ang IoT (Internet of Things) sa iyong Christmas tree ngayong taon? Kaya, posible talaga! Personal kong tinawag ang proyektong ito na "ArduXmas", at binubuo ito ng isang RGB NeoPixel led strip na kinokontrol ng isang Arduino board sa pamamagitan ng Bluetooth. Ito ay isang proyekto ng magiliw na nagsisimula at isang mahusay na pagpapakilala sa Arduino e IoT, kaya kunin ang iyong mga tool at gawin natin ito!

Mga Pantustos:

Para sa proyektong ito kakailanganin mo:

  • Arduino (Gumamit ako ng Nano, ngunit ang anumang bersyon ay gagana, siguraduhin lamang na mapalakas ang iyong board)
  • NeoPixel WS2812b LED strip
  • HC-06 Bluetooth module
  • 5V 2A DC power supply
  • DC Barrel Power Jack / Connector
  • Phenolite plate para sa paghawak ng mga sangkap
  • Kaso ng Enclosure
  • Android smartphone na may naka-install na Blynk app

Hakbang 1: Ang Circuit

Ang Circuit
Ang Circuit
Ang Circuit
Ang Circuit
Ang Circuit
Ang Circuit

Ang electronics ng proyektong ito ay napaka-simple. Ang Arduino, Bluetooth module at LED strip ay pinalakas ng supply ng 5V (tiyakin na ang lahat ng mga GND ay magkakaugnay na nakakonekta). Ang board ng Arduino ay pinalakas sa pamamagitan ng 5V port (ATTENTION: Ang pagpapatakbo ng Arduino gamit ang 5V port ay maaaring makapinsala sa iyong board kung hindi ka maingat. Siguraduhin na gumagamit ka ng isang 5V na kinokontrol na supply ng kuryente at huwag ihalo ang + 5V at mga wire ng GND). Ang kasalukuyang ibinibigay ng iyong supply ng kuryente ay nakasalalay sa haba ng iyong LED strip. Gumagamit ako ng 180 leds na may 40% ng buong brigthness at 2 amps na humahawak nang maayos, ngunit laging siguraduhin na ibigay ang kinakailangang kasalukuyang (TANDAAN: Ang bawat RGB LED ay gumagamit ng humigit-kumulang 20mA + 20mA + 20mA = 60mA).

Ang module ng HC-06 Bluetooth ay konektado sa mga pin 0 at 1 (RX, TX) ng Arduino, tandaan lamang na upang magamit ang modyul na ito, ang RX pin ng HC-06 ay konektado sa Arduino's TX at ang HC-06 na TX pin ay konektado sa Rdu ng Arduino. Ito ang mga serial connection pin ng board, at ginagamit upang makatanggap ng mga utos mula sa smartphone. Nagdagdag ako ng isang switch upang madaling i-on / i-off ang module sa gayon maaari ko itong patayin kapag pinaprogram ang board, kung hindi man ang computer ay hindi maaaring makipag-usap sa Arduino.

Sa circuit ang data out pin na papunta sa LED strip ay ang digital pin 2, ngunit maaari kang pumili ng anumang PWM pin at palitan ito nang naaayon sa code (TANDAAN: Ang mga LED strip ng NeoPixel ay may direksyon para sa signal ng data. Laging hanapin ang mga arrow icon sa iyong strip).

Upang makagawa ng mga koneksyon Gumagamit ako ng isang phenolite plate na may mga butas dito kaya madaling maghinang at ihiwalay ito sa susunod na taon.

Hakbang 2: Ang Enclosure

Ang Enclosure
Ang Enclosure
Ang Enclosure
Ang Enclosure
Ang Enclosure
Ang Enclosure

Para sa enclosure Gumagamit lang ako ng kaso ng supply ng kuryente ng isang lumang notebook na umaangkop nang maayos sa mga sangkap. I-secure ang lahat gamit ang mainit na pandikit, at iwanan ang mga butas para sa USB port ng Arduino, switch ng HC-06, konektor ng DC at konektor ng LED strip.

Hakbang 3: Blynk App

Blynk App
Blynk App
Blynk App
Blynk App
Blynk App
Blynk App

Para sa pakikipag-usap sa Arduino ginagamit namin ang Blynk app. Sa Blynk madali kang makakalikha ng mga interface upang magpadala ng data mula sa smartphone sa hardware o iba pang paraan, posible ring direktang kontrolin ang mga port ng microcontroller nang hindi binabago ang isang linya ng code!

DISCLAIMER: Sa kasamaang palad gagana ang application na ito para sa mga Android smarphone dahil ang tampok na Bluetooth ay nasa Beta pa at hindi magagamit para sa IOS, nangangahulugan din ito na hindi posible na mai-export ang proyekto bilang isang standalone app.

I-set up ang iyong app upang makatanggap ng token ng pagpapatotoo para sa iyong proyekto sa iyong email inbox (kakailanganin ang pagpapatala na ito sa paglaon sa code ng Arduino). Ang website ng Blynk ay may mahusay na sunud-sunod na tutorial tungkol dito, suriin ito:

Para sa proyektong ito gumagamit ako ng dalawang mga pindutan para sa paglipat ng 2 paunang naka-code na mga animasyong ilaw; isang bahagi ng RGB upang maitakda ang kulay ng LED strip; isang slider upang makontrol ang liwanag at isang sangkap ng bluetooth upang kumonekta sa Arduino. Suriin ang mga imahe upang makita kung paano naka-configure ang bawat bahagi. Magbayad ng pansin sa mga pin na ginamit para sa proyektong ito habang gumagamit kami ng mga Virtual Pins ng Blynk, ito ay isang magandang tampok na nagbibigay-daan upang magpadala ng data mula sa app sa hardware. Para sa karagdagang impormasyon tungkol sa Virtual Pins:

Hakbang 4: Arduino Code

Code ng Arduino
Code ng Arduino

Panahon na upang matapos ang ilang code! Ang file na ibinigay ko ay may pangunahing istraktura upang patakbuhin ang proyekto, ngunit maaari mo itong palitan ayon sa gusto mo. Upang gumana ito ng maayos subalit, kailangan mong palitan ang auth char ng token na iyong natanggap sa iyong email inbox. Tandaan din na baguhin ang mga variable ng LED_PIN at LED_COUNT ayon sa iyong pag-set up.

Ang pag-uugali ng mga LED ay idinidikta ng anim na variable na nagbabago kapag ang isang kahilingan ay natanggap ng app. Maaari kang magdagdag ng maraming mga posibilidad para sa mga animasyon na nais mo, idagdag lamang ang iyong pag-andar sa istraktura ng switch sa pag-andar ng toggleAnimation () at italaga ang kaukulang pagbasa ng Virtual Pin sa tuktok ng code.

Ang animasyon na tumatakbo sa loop () ay nakatali sa isang timer na tumatakbo sa mga pagitan ng 100ms. Ito ay kinakailangan, at hindi ko inirerekumenda ang pagbabago nito, sapagkat nakakagambala ito sa utos ng Blynk.run () at ang koneksyon ay nakasara kung ang Blynk library ay nakakita ng maraming mga kahilingan sa isang maikling panahon.

Inirerekumendang: