Yuav Ua Li Cas Kom Tshem Tau Ntawm Kev Sib Cuag Thaum Sib Txuas Lub Khawm Rau Arduino

Cov txheej txheem:

Yuav Ua Li Cas Kom Tshem Tau Ntawm Kev Sib Cuag Thaum Sib Txuas Lub Khawm Rau Arduino
Yuav Ua Li Cas Kom Tshem Tau Ntawm Kev Sib Cuag Thaum Sib Txuas Lub Khawm Rau Arduino

Video: Yuav Ua Li Cas Kom Tshem Tau Ntawm Kev Sib Cuag Thaum Sib Txuas Lub Khawm Rau Arduino

Video: Yuav Ua Li Cas Kom Tshem Tau Ntawm Kev Sib Cuag Thaum Sib Txuas Lub Khawm Rau Arduino
Video: Yuav tawm ntawm txoj kev txom nyem tau li cas? 2024, Kaum ib hlis
Anonim

Peb twb ntsia qhov txuas khawm rau Arduino thiab kov ntawm qhov teebmeem ntawm "bouncing" kev sib cuag. Qhov no yog qhov cuam tshuam heev uas ua rau rov qab khawm dua thiab ua rau nws nyuaj rau programmatically tuav khawm nias. Wb sib tham txog yuav ua li cas kom tshem tau kev sib tiv tauj.

Hu rau bounce nyhuv
Hu rau bounce nyhuv

Tsim nyog

  • - Arduino;
  • - tact khawm;
  • - resistor nrog nominal tus nqi ntawm 10 kOhm;
  • - Hnav teeb ci;
  • - txuas xov hlau.

Cov Lus Qhia

Kauj ruam 1

Hu rau bounce yog ib qho kev tshwm sim hauv cov khoom siv hloov kho, thawb tawm, tog pob nyem thiab xa rov qab. Vim tias qhov tseeb ntawm cov neeg sib txuas lus feem ntau yog ua los ntawm cov hlau thiab cov alloys uas muaj elasticity, thaum lub cev kaw, lawv tsis tam sim ntawd tsim kev sib txuas kom zoo. Tsis pub dhau lub sijhawm luv luv, cov neeg nyob sib ze ntau ntau zaus thiab rov ua dua. Raws li qhov tshwm sim, lub tshuab hluav taws xob siv tam sim no rau tus nqi-khov kho tus nqi tsis yog tam sim ntawd, tab sis tom qab ua haujlwm nce thiab nqis. Lub sijhawm tiv thaiv ntawm cov hloov pauv no nyob ntawm cov khoom siv sib tiv tauj, qhov loj thiab cov qauv. Qhov kev ua piv txwv qhia txog oscillogram ib txwm thaum cov neeg nyob ze ntawm lub khawm khawm kaw. Nws tuaj yeem pom tau tias lub sijhawm los ntawm lub sijhawm ntawm hloov mus rau lub xeev khov kho yog ob peb milliseconds. Qhov no yog hu ua "bounce".

Cov nyhuv no tsis pom nyob hauv hluav taws xob hluav taws xob txhawm rau tswj hwm teeb pom kev zoo, lub cev muaj zog, lossis lwm qhov ntsuas pa inertial thiab cov cuab yeej. Tab sis nyob rau hauv Circuit Court qhov twg muaj kev nyeem ntawv ceev ceev thiab kev ua cov ntaub ntawv (qhov twg cov xaim xaim ntawm qhov kev txiav txim tib yam li "thaws" pulses, lossis siab dua), qhov no yog qhov teeb meem. Hauv tshwj xeeb, Arduino UNO, ua haujlwm ntawm 16 MHz, zoo heev ntawm kev txais kev sib cuag los ntawm kev lees paub qhov sib lawv liag ntawm cov thiab xoom tsis hloov ntawm ib qho 0 rau 1 hloov.

Hu rau bounce thaum nias lub pob
Hu rau bounce thaum nias lub pob

Kauj ruam 2

Cia peb pom tias kev sib tsoo yuav cuam tshuam li cas ua haujlwm raug ntawm lub voj voog. Cia peb txuas lub moos khawm tsim rau Arduino siv ntsuas lub ntsuas hluav taws xob rub tawm. Los ntawm nias lub khawm, peb yuav taws lub LED thiab tawm nws kom txog thaum lub pob rov qab dua. Rau kev pom tseeb, peb txuas ib qho sab nraud LED rau digital pin 13, txawm hais tias qhov built-in ib tuaj yeem faib nrog.

Siv lub pob mus rau Arduino uas yog siv lub ntsuas hluav taws xob tiv thaiv
Siv lub pob mus rau Arduino uas yog siv lub ntsuas hluav taws xob tiv thaiv

Kauj ruam 3

Txhawm rau kom ua tiav txoj haujlwm no, thawj qhov uas xav los:

- nco ntsoov lub xeev dhau los ntawm khawm;

- muab piv nrog lub xeev tam sim no;

- Yog hais tias lub xeev tau hloov pauv, tom qab ntawd peb hloov lub xeev ntawm LED.

Wb sau zoo li cov duab kos thiab xa nws mus rau hauv Arduino nco.

Thaum lub Circuit Court tig, cov nyhuv ntawm kev sib cuag bouncing yog pom tam sim. Nws nthuav qhia nws tus kheej hauv qhov tseeb tias LED tsis taws teeb tam sim ntawd tom qab nias lub khawm, lossis taws teeb thiab tom qab ntawd tawm mus, lossis tsis tua tam sim ntawd tom qab nias lub khawm, tab sis tseem nyob. Feem ntau, Circuit Court tsis ua haujlwm stably. Thiab yog tias rau ib txoj haujlwm nrog tig mus rau ntawm LED no tsis yog ib qho tseem ceeb heev, tom qab ntawd rau lwm yam, cov haujlwm hnyav dua, nws tsuas yog tsis lees paub.

Kos duab ntawm kev khawm nias tsis coj mus rau hauv tus account hu rau bounce
Kos duab ntawm kev khawm nias tsis coj mus rau hauv tus account hu rau bounce

Kauj ruam 4

Peb yuav sim kho qhov teeb meem no. Peb paub tias kev sib tiv tauj tau tshwm sim li ntawm ob peb milliseconds tom qab kev sib tiv tauj. Cia peb tos, hais, 5ms tom qab hloov lub xeev ntawm khawm. Lub sijhawm no rau ib tus neeg yuav luag ib pliag, thiab nias lub khawm los ntawm ib tus neeg feem ntau siv sijhawm ntev - ntau kaum ntawm milliseconds. Thiab Arduino ua haujlwm tau zoo nrog rau cov sijhawm luv luv no, thiab cov 5ms no yuav tso cai nws txiav cov kev tawm ntawm kev sib cuag los ntawm nias lub khawm.

Hauv cov duab kos no, peb yuav tshaj tawm qhov debounce () cov txheej txheem ("bounce" hauv lus Askiv tsuas yog "bounce", cov lus sau ua ntej "de" txhais tau tias yog cov txheej txheem thim rov qab), rau cov tswv yim uas peb muab lub xeev yav dhau los ntawm khawm. Yog tias lub pob nyem ntev tshaj 5 msec, ces nws yog qhov tseeb nias.

Los ntawm kev tshawb pom cov xovxwm, peb hloov kho lub xeev ntawm LED.

Txav cov duab kos rau Arduino board. Txhua yam yog qhov zoo dua tam sim no! Lub pob ua haujlwm yam tsis poob, thaum nias, LED hloov pauv lub xeev, raws li peb xav tau.

Sketch ntawm kev ua ib lub pob xovxwm, noj mus ua nyiaj tiv tauj bounce
Sketch ntawm kev ua ib lub pob xovxwm, noj mus ua nyiaj tiv tauj bounce

Kauj ruam 5

Cov kev ua haujlwm zoo sib xws yog muab los ntawm cov tsev qiv ntawv tshwj xeeb xws li Bounce2 lub tsev qiv ntawv. Koj tuaj yeem rub tawm ntawm qhov txuas hauv ntu "Cov Khoom" lossis hauv lub vev xaib https://github.com/thomasfredericks/Bounce2. Txhawm rau nruab rau hauv lub tsev qiv ntawv, muab tso rau hauv cov ntawv qiv ntawm Arduino kev txhim kho ib puag ncig thiab rov ua dua IDE.

Lub tsev qiv ntawv "Bounce2" muaj cov hauv qab no:

Bounce () - pib los ntawm kev tawm tsam "Thaws";

tsis muaj qhov luv (ms) - teev lub sijhawm qeeb hauv milliseconds;

tsis muaj dab tsi txuas (tus lej tus naj npawb) - teeb tus pin uas txuas nrog lub pob;

rau cov menyuam hloov () - hloov kho cov khoom thiab rov muaj tseeb yog tus pin xeev tau hloov lawm, thiab cuav lwm yam;

rau cov menyuam nyeem () - nyeem lub xeev tshiab ntawm tus pin.

Cia peb rov sau dua peb daim duab kos siv cov tsev qiv ntawv. Koj tseem tuaj yeem nco ntsoov thiab sib piv yav dhau los ntawm lub pob nrog lub tam sim no, tab sis cia peb piv cov qauv algorithm. Thaum lub pob nyem, peb yuav suav cov xovxwm, thiab txhua xovxwm khib yuav tig rau ntawm LED, thiab txhua tus nias tseem yuav tig nws. Cov duab kos no zoo nkaus li nthuav, yooj yim nyeem thiab yooj yim siv.

Pom zoo: