Talaan ng mga Nilalaman:

Subukan ang Bare Arduino, Gamit ang Software ng Laro Gamit ang Capacitive Input at LED: 4 na Hakbang
Subukan ang Bare Arduino, Gamit ang Software ng Laro Gamit ang Capacitive Input at LED: 4 na Hakbang

Video: Subukan ang Bare Arduino, Gamit ang Software ng Laro Gamit ang Capacitive Input at LED: 4 na Hakbang

Video: Subukan ang Bare Arduino, Gamit ang Software ng Laro Gamit ang Capacitive Input at LED: 4 na Hakbang
Video: Как использовать ESP32 WiFi и Bluetooth с Arduino IDE, полная информация с примерами и кодом. 2024, Nobyembre
Anonim
Subukan ang Bare Arduino, Gamit ang Software ng Laro Gamit ang Capacitive Input at LED
Subukan ang Bare Arduino, Gamit ang Software ng Laro Gamit ang Capacitive Input at LED
Subukan ang Bare Arduino, Gamit ang Software ng Laro Gamit ang Capacitive Input at LED
Subukan ang Bare Arduino, Gamit ang Software ng Laro Gamit ang Capacitive Input at LED

"Push-It" Interactive na laro gamit ang isang hubad na Arduino board, walang mga panlabas na bahagi o mga kable na kinakailangan (gumagamit ng isang capacitive 'touch' input). Ipinapakita sa itaas, ipinapakita ang pagtakbo nito sa dalawang magkakaibang mga board.

Itulak-Mayroon itong dalawang layunin.

  1. Upang mabilis na maipakita / ma-verify na gumagana ang iyong Arduino board at na maayos kang nag-set up upang mag-download ng isang bagong sketch ng code dito. Makikita mo na gumaganap ito ng pag-input at output (pakiramdam na antas ng pag-input ng digital, output sa LED board); mag-imbak at mabawi ang isang halaga mula sa di-pabagu-bago na memorya ng EEPROM. Lahat nang hindi nakakabit ng anumang mga wire o aparato.
  2. Magbigay ng isang nakakaaliw at mapaghamong laro na nakikipag-ugnay sa isang Arduino board.

Ipinapalagay ng itinuturo na naka-install ka na ng isang Arduino IDE at hindi bababa sa pamilyar na pamilyar sa paggamit nito. Kung hindi ka mag-refer sa iyo sa mga link na ito:

Pagsisimula kay Arduino

Ang pagdaragdag ng Digispark (na may bootloader) na suporta sa mayroon nang Arduino 1.6.x IDE

Gagana ang Push-Ito sa karamihan ng anumang board ng Arduino, hal. isang Nano, Uno, o DigiSpark Attiny85 board. Nasubukan ko ito sa isang Nano 3.1 at isang DigiSpark. Sa teksto kapag tinutukoy ko ang mga pangalan ng pin / numero ay gagamitin sila sa Nano board (taliwas sa DigiSpark).

Hakbang 1: Ang pagkakaroon ng mga Bagay na Kakailanganin mo

Alin ang simpleng Arduino o maihahambing na board.

Kung wala ka pa isa inirerekumenda kong magsimula sa isang DigiSpark Pro (~ $ 12), o isang Nano 3.0 mula sa eBay sa halagang ~ $ 3 (ngunit magkakaroon ka ng dagdag na linggo o dalawa upang maghintay para sa ito galing sa China.; at kakailanganin mong mag-install ng isang driver na CH340 USB). Ang DigiSpark ~ $ 10 (non Pro) ay napaka-ugma para sa laro ng solong 'video' na ito (Ang hinubad na yunit na ito, na mayroon lamang 6 na I / Os, ay medyo mahirap i-upload sa)

Ang mga link sa hardware na ginamit dito:

Nano V3.0 Atmega328P sa eBay

Digispark USB Development Board

Hakbang 2: Kunin at I-download ang Code

Kunin at I-download ang Code
Kunin at I-download ang Code

Kopyahin ang code sa ibaba sa isang arduino sketch file (hal.… / Push_It / Push_It.ino) Sinubukan kong puna ito nang maayos. Inaasahan kong makita mo ang code na madaling maintindihan. Ang lohika upang matukoy kung kailan tataas, bawasan at kung hindi ay medyo kumplikado, ngunit ang bahaging iyon ay dalubhasa rin ng code at hindi ng pangkalahatang pagiging kapaki-pakinabang. Para sa karagdagang detalye sa pag-set up ng isang bagong 'sketch' (code project) na gagamitin sa tingnan ang Arduino IDE:

Lumilikha ng isang Bagong Arduino Sketch

I-download ang sketch na 'Push_It' sa aming microcontoller alinsunod sa mga tagubilin sa Arduino IDE para sa iyong board.

Hakbang 3: Nagpe-play

Naglalaro
Naglalaro

Ang layunin ng laro ay upang makuha ang LED (on-board) upang kumurap ng maraming oras hangga't maaari sa isang hanay ng mga flashes na pagkatapos ay inuulit

Nagpe-play ang laro:

Itulak-Nagsisimula ito sa isang solong flash, na kung saan ay uulitin. Kung hawakan mo ang iyong daliri malapit sa input pin habang naka-on ang LED, ang susunod na ikot ay i-flash ang LED nang dalawang beses.

Sa bawat oras na itulak mo ang pseudo button sa panahon ng unang flash ng isang hanay ng mga flashes ay idaragdag ang isang flash sa set na iyon. Hindi ito pangkalahatang bagay kapag tinaas / tinanggal mo ang iyong daliri.

Ngunit kung 'itulak' mo bago o pagkatapos ng unang flash ang bilang ng mga flashes sa isang set ay mababawasan.

Kung wala ka nang nagawa, ang bilang ng mga flashes sa isang hanay ay pinananatili. Dagdag dito kapag ang bilang ay hindi nagbago para sa isang buong siklo ang bilang ng bilang ay nakaimbak sa memorya ng EEPROM.

Sa tuwing pinamamahalaan mo upang madagdagan ang bilang ng flash ang bilis ng bilis ay mabilis, na ginagawang mas mahirap at mahirap upang makakuha ng hanggang sa mataas na bilang ng flash. Kapag gumawa ka ng isang slip up at ang bilang ng mga flashes ay nabawasan magkakaroon ng isang mas mahabang pause bago ang panimulang flash ng susunod na ikot. Nagbibigay ito ng isang karagdagang hamon, dahil maaari nitong dagdagan ang posibilidad na tumalon ka ng baril. Kaya't manatiling alerto.

Kapag nakuha mo ang iyong yunit hanggang sa isang mataas na bilang ng flash maaari mo itong dalhin (o i-mail ito, kung saan mabuti ang DigiSpark) sa isang kaibigan, kung saan sa pag-plug nito makikita nila kung gaano kataas ang isang bilang ng flash na nakuha mo na sa Natagpuan ko na huminto ito ng mapaghamong upang makuha ito hanggang sa higit sa 8. Sa pamamagitan ng isang aktwal na pindutan na nakakabit na pinamamahalaang makuha ko ito sa higit sa isang dosenang. Upang maibalik sa isang mas mababang bilang maaari mong paulit-ulit na itulak ito anumang oras bago o pagkatapos ng unang flash. Gayundin kung jumper mo ang input pin sa lupa sa panahon ng isang power up ang bilang ay ma-reset sa 1.

Tandaan na ang orihinal na board ng DigiSpark ay may pagkaantala ng 10 segundo pagkatapos ng lakas bago ito magsisimulang gampanan ang 'Push-It' code at i-play ang laro. Ginagamit nito ang oras na ito upang subukang makipag-usap sa pamamagitan ng mga USB pin upang makatanggap ng isang posibleng bagong pag-update ng code sa pag-download.

Kung ang Arduino board na iyong ginagamit ay mayroong isang USB TX LED dito, ang LED na ito ay magkakaroon ng isang mabilis na maliit na flash kapag epektibo mong 'tinulak ang pindutan'. Magkakaroon ng mas makabuluhang pag-flashing ng LED na ito kapag kailanman ang bilang ng bilang sa EEPROM ay na-update sa isang bagong halaga. Ang feedback na ito ay maaaring makatulong sa iyo ng lubos sa pag-alam kung kailan o isisiguro na mabisa mong na-trigger ang isang kaganapan na 'hunhon button'. Maaaring kailanganin mong tiyakin na hindi mo hinahawakan ang circuit ground (tulad ng metal sa paligid ng isang micro-USB konektor) upang ang iyong pigura ay magbuod ng ingay sa bukas na input pin. Mayroong maidaragdag at medyo hindi mahuhulaan na mga hamon dahil sa ang katunayan na ang input pin ay lumulutang (hindi hinila pataas o pababa ng isang conductive / resistive load) at ang variable na ingay ng signal na dumarating sa iyong daliri.

Ang isang 250Hz square na alon ay na-output sa isang pin sa tabi ng input pin na lubos na nagpapabuti ng katiyakan ng isang injected input signal kapag ang iyong daliri ay sumasakop sa parehong mga pin.

Natagpuan ko ang pagtugon sa board ng DigiSpark na medyo tuluy-tuloy na mahuhulaan sa isang maliit na pagpisil ng mga daliri sa sulok ng board kung nasaan ang D3-D5.

Kapag nilalaro ko ang 'Push-It' Gusto kong gawin ito sa board na konektado sa isang USB 5v mobile baterya pack (tingnan ang mga larawan). Sa pangkalahatan ay matatagpuan ito nang mura sa mga bins sa tabi ng mga USB AC at 12v auto adapter; sa karamihan ng anumang kagawaran ng kagawaran ng electronics.

Hakbang 4: Opsyonal na Mga Eksperimento Sa Mga Panlabas na Bahagi

Opsyonal na Mga Eksperimento Sa Mga Panlabas na Bahagi
Opsyonal na Mga Eksperimento Sa Mga Panlabas na Bahagi

Mangyaring tandaan: Kung nakakabit ka ng isang tunay na pindutan mayroong isang linya ng code na kailangang ma-comment, tulad ng nakasaad sa code.

Sa pamamagitan ng isang speaker, isang gilid sa lupa, kung hinawakan mo ang iba pang humantong sa D4 maririnig mo ang tunog ng isang 250 Hz square wave. Sa D3 mayroong isang 500Hz square wave. Kung ikonekta mo ang nagsasalita sa pagitan ng D3 at D4 maririnig mo ang isang pinaghalo ng dalawang signal.

Ang pag-hook up ng isang LED sa halip na isang speaker tulad ng nasa itaas ay napaka-kagiliw-giliw. Hindi kailangang mag-alala tungkol sa boltahe, kasalukuyang mga antas, resisters, o kahit polarity para sa bagay na iyon (mas malala kaso hindi ito magaan, pagkatapos ay paikutin lamang ito). Subukan, una sa lahat, na may negatibong (cathode) lead na konektado sa lupa at ang isa pa sa alinman sa D3 o D4. Ang LED ay magiging 'kalahating' naiilawan, dahil sa mga parisukat na alon. Dagdag dito hindi kinakailangan ng resister dahil ang output ng MicroControllerUnits ay kasalukuyang limitado. Gumawa ako ng kasalukuyang mga sukat na nagreresulta sa 15ma at 20ma para sa Attiny85 at sa Atmega328 MCU ayon sa pagkakabanggit. Ang mga antas na ito ay halos kalahati ng kasalukuyang limitadong halaga para sa mga bahaging ito dahil sa 50% duty cycle na likas ng pagmamaneho square square signal. Ang mga pagbabasa ng metro ay talagang isang average ng kasalukuyang sa pamamagitan ng nasubok na circuit.

Kapansin-pansin, kung tulay ka sa pagitan ng D3 & D4 na may LED (tingnan ang imahe sa itaas at sa kaliwa) ito ay mag-iilaw sa alinman na paraan, at sa halos ½ ang kaningningan tulad ng ginagawa sa isang gilid na konektado sa lupa. Inaanyayahan kita na pagnilayan kung bakit.

Inirerekumendang: