- Kinakailangan ang Mga Bahagi
- ADXL335 Accelerometer
- Diagram ng Circuit
- Paano Gumagawa ang Pedometer?
- Programming ang Arduino Step Counter
- Pagsubok sa Arduino Pedometer
Ang mga fitness band ay napakapopular sa ngayon, na hindi lamang binibilang ang mga yapak ngunit sinusubaybayan din ang iyong pagkasunog ng calorie, ipakita ang rate ng tibok ng puso, oras ng pagpapakita at marami pa. At ang mga aparatong IoT na ito ay naka-sync sa cloud upang madali mong makuha ang lahat ng kasaysayan ng iyong pisikal na aktibidad sa isang smartphone. Bumuo din kami ng isang IoT Batay sa Pagsubaybay sa Pasyente na Sistema kung saan ang kritikal na data ay naipadala sa ThingSpeak upang masubaybayan mula saan man.
Ang mga pedometro ay ang mga aparato na ginamit lamang upang mabilang ang mga yapak. Kaya sa tutorial na ito, magtatayo kami ng isang madali at murang DIY Pedometer gamit ang Arduino at accelerometer. Bibilangin ng Pedometer na ito ang bilang ng mga yabag at ipapakita ang mga ito sa isang 16x2 LCD module. Ang pedometer na ito ay maaaring isama sa Arduino Smart Watch na ito.
Kinakailangan ang Mga Bahagi
- Arduino Nano
- ADXL 335 Accelerometer
- 16 * 2 LCD
- Module ng LCD I2C
- Baterya
ADXL335 Accelerometer
Ang ADXL335 ay isang kumpletong 3-axis Analog accelerometer, at gumagana ito sa prinsipyo ng capacitive sensing. Ito ay isang maliit, manipis, mababang module ng kuryente na may polysilicon ibabaw-micro na makina na sensor at nagpapahiwatig ng signal circuitry. Maaaring sukatin ng ADXL335 accelerometer ang static pati na rin ang pabilis na pagbilis. Dito sa proyektong Arduino Pedometer na ito, ang ADXL335 accelerometer ay kikilos bilang isang sensor ng Pedometer.
Ang isang Accelerometer ay isang aparato na maaaring mag-convert ng acceleration sa anumang direksyon sa kani-kanilang variable na boltahe. Ito ay nagagawa sa pamamagitan ng paggamit ng mga capacitor (refer ng imahe), habang gumagalaw ang Accel, ang capacitor na nasa loob nito, ay sasailalim din sa mga pagbabago (mag-refer ng imahe) batay sa paggalaw, dahil ang capacitance ay iba-iba, ang isang variable na boltahe ay maaari ding makuha.
Nasa ibaba ang mga imahe para sa Accelerometer mula sa harap at likod na bahagi kasama ang paglalarawan ng pin-
Paglalarawan ng Pin ng accelerometer:
- Ang supply ng Vcc- 5 volt ay dapat na kumonekta sa pin na ito.
- X-OUT- Ang pin na ito ay nagbibigay ng isang output ng Analog sa x direksyon
- Y-OUT- Ang pin na ito ay nagbibigay ng isang Analog Output sa direksyon
- Z-OUT- Ang pin na ito ay nagbibigay ng isang Analog Output sa z na direksyon
- GND- Ground
- ST- Ginamit ang pin na ito para sa itinakdang pagiging sensitibo ng sensor
Gumagawa kami ng maraming mga proyekto gamit ang Accelerometer ADXL335 kabilang ang kontroladong robot ng Gesture, Alarm ng Detalye ng Lindol, Laro ng Ping Pong, atbp.
Diagram ng Circuit
Ang Circuit Diagram para sa Arduino Accelerometer Step Counter ay ibinibigay sa ibaba.
Sa circuit na ito, nakikipag-ugnay kami sa Arduino Nano na may ADXL335 Accelerometer. Ang X, Y, at Z na pin ng accelerometer ay konektado sa mga Analog pin (A1, A2 & A3) ng Arduino Nano. Upang mai-interface ang 16x2 LCD modules sa Arduino, ginagamit namin ang module na I2C. Ang mga pin ng SCL & SDA ng module ng I2C ay konektado sa A5 at A4 na mga pin ng Arduino Nano, ayon sa pagkakabanggit. Ang mga kumpletong koneksyon ay ibinibigay sa talahanayan sa ibaba:
Arduino Nano | ADXL335 |
3.3V | VCC |
GND | GND |
A1 | X |
A2 | Y |
A3 | Z |
Arduino Nano | Module ng LCD I2C |
5V | VCC |
GND | GND |
A4 | SDA |
A5 | SCL |
Una naming itinayo ang Pedometer na ito gamit ang pag- setup ng Arduino sa isang breadboard
At pagkatapos ng matagumpay na pagsubok ay kinopya namin ito sa Perfboard sa pamamagitan ng paghihinang ng lahat ng bahagi sa Perfboard tulad ng ipinakita sa ibaba:
Paano Gumagawa ang Pedometer?
Kinakalkula ng isang pedometer ang kabuuang hindi ng mga hakbang na ginawa ng isang tao gamit ang tatlong mga bahagi ng paggalaw na pasulong, patayo, at gilid. Gumagamit ang pedometer system ng isang accelerometer upang makuha ang mga halagang ito. Patuloy na ina-update ng Accelerometer ang maximum at minimum na mga halaga ng pagpabilis ng 3-axis pagkatapos ng bawat tinukoy na hindi. ng mga sample. Ang average na halaga ng 3-axis (Max + Min) / 2 na ito, ay tinatawag na antas ng pabagu-bago ng threshold, at ginagamit ang halagang ito ng threshold upang magpasya kung ang hakbang ay kinuha o hindi.
Habang tumatakbo, ang pedometer ay maaaring nasa anumang oryentasyon, kaya kinakalkula ng pedometer ang mga hakbang gamit ang axis na ang pagbabago ng pagpabilis ay ang pinakamalaking.
Hayaan mo akong bigyan ka ng isang mabilis na walkthrough ng pagtatrabaho ng Arduino Pedometer na ito:
- Una ang pedometer ay nagsisimula sa pagkakalibrate sa sandaling ito ay pinalakas.
- Pagkatapos sa pag- andar ng void loop , patuloy na nakakakuha ng data mula sa X, Y, at Z-axis.
- Pagkatapos nito, kinakalkula nito ang kabuuang vector ng pagpapabilis mula sa panimulang punto.
- Ang acceleration vector ay ang square root (x ^ 2 + y ^ 2 + z ^ 2) ng mga halagang X, Y, at Z-axis.
- Pagkatapos ihinahambing nito ang average na mga halaga ng pagpabilis sa mga halagang threshold upang mabilang ang bilang ng hakbang.
- Kung ang acceleration vector ay tumatawid sa halaga ng threshold, pagkatapos ay pinapataas nito ang bilang ng hakbang; kung hindi man, itinatapon nito ang mga hindi wastong panginginig ng boses.
Programming ang Arduino Step Counter
Ang kumpletong Arduino Step Counter Code ay ibinibigay sa pagtatapos ng dokumentong ito. Narito ipinapaliwanag namin ang ilang mahahalagang mga snippet ng code na ito.
Tulad ng dati, simulan ang code sa pamamagitan ng pagsasama ng lahat ng mga kinakailangang aklatan. Ang ADXL335 accelerometer ay hindi nangangailangan ng anumang library dahil nagbibigay ito ng isang analog na output.
# isama
Pagkatapos nito, tukuyin ang Arduino Pins, kung saan nakakonekta ang accelerometer.
const int xpin = A1; Const int ypin = A2; const int zpin = A3;
Tukuyin ang halaga ng threshold para sa accelerometer. Ang halagang threshold na ito ay ihinahambing sa vector ng acceleration upang makalkula ang bilang ng mga hakbang.
float threshold = 6;
Sa loob ng walang bisa na pag-set up , ang calibrate ay nag-calibrate sa system kapag ito ay pinalakas.
i-calibrate ();
Sa loob ng void loop function, babasahin nito ang mga halagang X, Y at Z-axis para sa 100 mga sample.
para sa (int a = 0; a <100; a ++) {xaccl = float (analogRead (xpin) - 345); antala (1); yaccl = float (analogRead (ypin) - 346); antala (1); zaccl = float (analogRead (zpin) - 416); antala (1);
Matapos makuha ang mga halagang 3-axis, kalkulahin ang kabuuang vector ng acceleration sa pamamagitan ng pagkuha ng square root ng X, Y, at Z-axis na halaga.
totvect = sqrt ((((xaccl - xavg) * (xaccl - xavg)) + ((yaccl - yavg) * (yaccl - yavg)) + ((zval - zavg) * (zval - zavg)));
Pagkatapos kalkulahin ang average ng maximum at minimum na mga halaga ng vector ng acceleration.
totave = (totvect + totvect) / 2;
Ihambing ngayon ang average na pagpabilis sa threshold. Kung ang average ay mas malaki kaysa sa threshold, pagkatapos ay taasan ang bilang ng hakbang at itaas ang bandila.
kung (totave> threshold && flag == 0) {hakbang = hakbang + 1; watawat = 1; }
Kung ang average ay mas malaki kaysa sa threshold ngunit ang bandila ay itinaas, pagkatapos ay gumawa ng wala.
kung hindi man (totave> threshold && flag == 1) {// Don't Count}
Kung ang kabuuang average ay mas mababa sa threshold at naitaas ang watawat, pagkatapos ay ilagay ang bandila pababa.
kung (totave <threshold && flag == 1) {flag = 0; }
I-print ang bilang ng mga hakbang sa serial monitor at LCD.
Serial.println (mga hakbang); lcd.print ("Mga Hakbang:"); lcd.print (mga hakbang);
Pagsubok sa Arduino Pedometer
Kapag handa na ang iyong hardware at code, ikonekta ang Arduino sa laptop at i-upload ang code. Ngayon kunin ang pag-set up ng pedometer sa iyong mga kamay at simulang maglakad nang sunud-sunod, dapat itong ipakita ang bilang ng mga hakbang sa LCD. Minsan pinapataas nito ang bilang ng mga hakbang kapag ang pedometer ay nag-vibrate nang napakabilis o napakabagal.
Ang kumpletong gumaganang video at code para sa ADXL335 pedometer Arduino ay ibinibigay sa ibaba.