Paano Gumawa ng Isang Sasakyan ng AutoLacing Gamit ang Arduino?

Sa modernong panahon, sinusubukan ng mga syentista at inhinyero na gawing awtomatiko ang lahat. Nangangahulugan ito na ang lahat ay gagana sa sarili nitong walang anumang pagsisikap ng tao. Ang isang napaka-karaniwang problema ay nakilala sa lipunan na ang ilang mga tao ay nagkakaproblema sa pagtali ng kanilang mga sapatos na sapatos nang mag-isa. Ang mga taong ito ay nagsasama ng may kapansanan, mga taong may sakit sa likod, mga bata at bulag na tao sa ilang sukat. Kaya, isang solusyon ang gagawin upang hindi makita ng mga taong ito bilang isang problema.



Larawan na Kinuha Mula sa Mga Instruction

Sa proyektong ito, gagawa kami ng isang palabas na Awtomatikong Lacing na awtomatikong itatali ang mga lace nito nang walang anumang pagsisikap ng tao. Gagawin ito sa tulong ng board ng microcontroller, isang sensor ng motor na kalasag, at isang motor na servo, sa sandaling mailagay ang paa sa loob ng sapatos.



Paano I-autoLace ang Iyong Palabas Gamit ang Arduino?

Ngayon, dahil alam natin ang abstract ng proyekto, magsimula kaming mangolekta ng karagdagang impormasyon at dumaan sa pamamaraan kung paano gawin ang sapatos na ito ng AutoLace gamit ang Arduino.



Hakbang 1: Pagkolekta ng Mga Bahagi

Ang pinakamahusay na diskarte upang simulan ang anumang proyekto ay upang gumawa ng isang listahan ng mga bahagi at dumaan sa isang maikling pag-aaral ng mga sangkap na ito dahil walang nais na manatili sa gitna ng isang proyekto dahil lamang sa isang nawawalang sangkap. Ang isang listahan ng mga bahagi na gagamitin namin sa proyektong ito ay ibinibigay sa ibaba:



  • Arduino uno
  • Motor Shield
  • Servo motor
  • Pilitin
  • LED
  • 1k-ohm Resistor
  • Sapatos
  • Metal Strip
  • Mga plastik na kurbatang zip
  • 1/8
  • Jumper Wires
  • Baterya

Hakbang 2: Pag-aaral ng Mga Bahagi

Ngayon alam namin ang abstract ng aming proyekto at mayroon din kaming isang kumpletong listahan ng lahat ng mga bahagi, ilipat natin ang isang hakbang nang maaga at dumaan sa isang maikling pag-aaral ng mga sangkap na gagamitin namin.

Seeeduino v4.2 ay isa sa pinakamahusay na Arduino na katugmang board sa mundo na batay sa microcontroller Atmega 328 MCU. sapagkat ito ay madaling gamitin, mas matatag at mukhang mas mahusay ito kaysa sa maraming iba pang mga board. Ito ay batay sa Arduino bootloader. mayroon itong isang ATMEGA16U2 bilang isang UART-to-USB converter sapagkat oof na maaari itong magamit bilang isang FTDI chip. ito ay konektado sa computer sa pamamagitan ng paggamit ng isang micro USB cable na sa pangkalahatan ay tinatawag na isang android cable. Ang isang DC jack ay maaari ding magamit upang mapalakas ang board. ang input power ay dapat na mula 7V hanggang 15V.

Lupon ng Seeeduino



Arduino Motor Shield nagbibigay-daan sa iyo upang hirap makontrol ang direksyon ng motor at bilis ng paggamit ng isang Arduino. Sa pamamagitan ng pagpapagana sa iyo upang matugunan lamang ang mga pin ng Arduino, ginagawang madali upang magmaneho ng anumang motor sa iyong gawain. Bukod dito ay nagbibigay-daan sa iyo upang magkaroon ng pagpipilian upang makontrol ang isang motor na may iba't ibang power supply na hanggang sa 12v. Pinakamaganda sa lahat, ang kalasag ay napakadaling makahanap. Para sa lahat ng mga kadahilanang ito, ang Arduino Motor Shield kung ang isang cool na maliit na mayroon sa iyong arsenal para sa mabilis na prototyping, at pangkalahatang pag-eksperimento.

Motor Shield

Force Sensor Resistors (FSRs) napaka-simple at madaling gamitin na mga sensor ng presyon. Ang sagabal ng isang FSR ay nakasalalay sa bigat na inilalapat sa teritoryo ng pagtuklas. Ang mas maraming timbang na inilalapat mo, mas mababa ang oposisyon. Ang saklaw ng sagabal ay napakalaking:> 10 MΩ (walang timbang) hanggang ~ 200 Ω (max na timbang). Karamihan sa mga FSR ay maaaring makakita ng lakas sa saklaw na 100 g hanggang 10 kg. Ang isang FSR ay binubuo ng dalawang mga layer at isang spacer adhesive. Ang mga nagsasagawa ng mga layer ay nakahiwalay ng isang manipis na puwang ng hangin kapag walang bigat na inilapat. Ang isa sa mga pelikula ay naglalaman ng dalawang mga bakas na tumatakbo mula sa buntot hanggang sa rehiyon ng pagtuklas (ang bilog na bahagi). Ang mga bakas na ito ay pinagtagpi magkasama, subalit hindi nakikipag-ugnay. Ang iba pang pelikula ay natatakpan ng isang nangungunang tinta. Kapag pinindot mo ang sensor, ang tinta ay nag-shorts ng dalawang bakas kasama ang isang oposisyon na umaasa sa bigat.

Force Sensor

SA Servo motor ay isang rotatory o isang linear actuator na maaaring makontrol at mailipat sa eksaktong pagtaas. Ang mga motor na ito ay naiiba sa DC motors. Pinapayagan ng mga motor na ito ang tumpak na kontrol ng paggalaw ng angular o paikot. Ang motor na ito ay isinama sa isang sensor na nagpapadala ng puna tungkol sa paggalaw nito.

Servo Moto

Hakbang 3: Prinsipyo sa Paggawa

Ang prinsipyo ng pagtatrabaho ng proyektong ito ay napaka-simple. Gagamitin ang isang sensor ng puwersa upang matukoy kung ang paa ay inilalagay sa palabas o hindi. Kung napansin nito ang paa, magpapadala ito ng isang senyas sa Arduino board na maglilipat ng isang motor na servo sa tulong ng isang Arduino Motor Shield. Ang servo motor na ito ay lilipat sa isang paraan na mahila nito ang lahat ng mga laces nang sabay-sabay. Samakatuwid awtomatikong tinali ang lahat ng mga laces ng sapatos.

Hakbang 4: Pagtitipon ng Mga Bahagi

Ngayon dahil alam natin ang pangunahing ideya at ang prinsipyo ng pagtatrabaho sa likod ng proyektong ito, ilipat natin ang isang hakbang sa unahan at simulang i-assemble ang lahat upang gumawa ng isang palabas na awtomatikong lase mismo. Upang makagawa ng isang panghuling produkto, dumaan sa mga hakbang na ibinigay sa ibaba:

  1. Una sa lahat, gupitin ang isang maliit na plato ng metal upang maayos ito sa likuran ng palabas. Gumamit ng isang gawa ng tao upang ito ay permanenteng mag-ayos at hindi maluwag. Siguraduhin na mag-iiwan ka ng isang puwang sa pagitan ng metal plate at ang palabas dahil papasa kami sa ilang mga kurbatang kable sa puwang na iyon.
  2. Kumuha ngayon ng dalawang servo motor at ilakip ang mga ito sa metal plate na may mainit na pandikit. Ngayon upang permanenteng maayos ang mga ito, gumamit ng mga kurbatang zip sa paligid nila upang ang mga motor na ito ay hindi lumipat sa paglaon. Matapos ang bilis ng servo motor, gupitin ang sobrang cable na naiwan.
  3. Ngayon i-mount ang isang kaso ng baterya sa ilalim ng mga motor upang ang switch ng kuryente ay palabas.
  4. Ngayon ikabit ang Arduino board sa mga motor. Bago, pagkonekta sa kalasag ng motor sa Arduino, ilang mga bagay ang kailangang idagdag sa circuit.
  5. Kumuha ng isang LED at maghinang isang risistor sa positibong paa nito at maghinang ng isang maliit na haba ng kawad sa negatibong binti at sa iba pang mga binti ng risistor. Pagkatapos ay ikonekta ang pagpupulong na ito sa Arduino at itulak ito sa isa sa mga hindi nagamit na socket ng shoelace.
  6. Ngayon kumuha ng Force Sensor at ilagay ito sa iyong sapatos kung saan magpapahinga ang iyong sakong. hindi inirerekumenda na maghinang ang mga pin ng sensor ng puwersa dahil ang init ng soldering iron ay maaaring matunaw ang plastik ng sensor. Kaya't mas mabuti kung idikit mo ito o i-tape ito.
  7. Panghuli gumamit ng isang zip tie upang maitali ang lahat ng mga laces sa servo motor, upang kapag umiikot ang motor, hinahatak nito ang lahat ng mga laces nang sabay-sabay.

Tiyaking ang positibong kawad ng LED ay konektado sa pin2 ng Arduino. Ang Vcc at ground pin ng Force Sensor ay makakonekta sa 5V at ground ng Arduino at ang IN pin ng force sensor ay konektado sa A0 pin ng Arduino board. Sa wakas, isaksak nang mabuti ang mga pin ng Servo Motor sa kalasag ng motor upang hindi ka makagawa ng maling koneksyon.

Hakbang 5: Pagsisimula Sa Arduino

Kung hindi ka pamilyar sa Arduino IDE dati, huwag mag-alala dahil sa ibaba, maaari mong makita ang mga malinaw na hakbang ng nasusunog na code sa board ng microcontroller gamit ang Arduino IDE. Maaari mong i-download ang pinakabagong bersyon ng Arduino IDE mula sa dito at sundin ang mga hakbang na nabanggit sa ibaba:

  1. Kapag ang Arduino board ay konektado sa iyong PC, buksan ang 'Control panel' at mag-click sa 'Hardware at Sound'. Pagkatapos mag-click sa 'Mga Device at Printer'. Hanapin ang pangalan ng port kung saan nakakonekta ang iyong Arduino board. Sa aking kaso ito ay 'COM14' ngunit maaaring magkakaiba ito sa iyong PC.

    Paghanap ng Port

  2. Kailangan naming magsama ng isang silid-aklatan upang magamit ang Servo Motor. Ang library ay naka-attach sa ibaba sa link ng pag-download kasama ang code. Pumunta sa Sketch> Isama ang Library> Magdagdag ng .ZIP Library.

    Isama ang Library

  3. Ngayon buksan ang Arduino IDE. Mula sa Mga Tool, itakda ang Arduino board sa Arduino / Genuino UNO.

    Setting Board

  4. Mula sa parehong menu ng Tool, itakda ang numero ng port na nakita mo sa control panel.

    Setting Port

  5. I-download ang code na nakalakip sa ibaba at kopyahin ito sa iyong IDE. Upang mai-upload ang code, mag-click sa upload button.

    I-upload

Maaari mong i-download ang code sa pamamagitan ng pag-click dito

Hakbang 6: Code

Ang code ay medyo mahusay na nagkomento at nagpapaliwanag sa sarili. Ngunit gayon pa man, ang code ay maikling ipinaliwanag sa ibaba.

1. Sa simula, kasama ang isang espesyal na silid-aklatan upang ang servo motor ay maaaring isama sa board ng microcontroller at mai-program sa pamamagitan nito. Dalawang bagay ang nilikha upang magamit sa servo motor. ang ilang mga pin o Arduino ay napasimuno na makakonekta sa driver ng motor at ang ilang mga variable ay idineklara rin na makatipid ng ilang pansamantalang halaga na magagamit sa paglaon sa pangunahing programa.

#include // isama ang library sa interface servo motor na may miccrocontroller board Servo MyServo; // Lumilikha ng servo objec 1 Servo MyServo2; // create servo object 2 int forcePin = 0; // analog pin 0 na konektado sa force sensor int ledPin = 2; // digital pin 2 na konektado sa LED int switchPin = 19; // nagtatakda ng unlock switch sa analog pin 5 int valF; // halaga ng force sensor int valS; // halaga ng switch int thresHold = 500; // tumutukoy sa threshold ng presyon ng puwersa ng sensor int servoUnlock = 0; // nagtatakda ng pangunahing servo sa neutral na unlaced na posisyon (0 degree) int servoLock = 180; // nagtatakda ng pangunahing servo sa posisyon ng laced (180 degree) int servoUnlock2 = 180; // nagtatakda ng auxillary servo sa neutral na naka-unlaced na posisyon (0 degree) int servoLock2 = 0; // nagtatakda ng auxillary servo sa naka-lace na posisyon (180 degree)

2. walang bisa ang pag-setup () ay isang pagpapaandar na tumatakbo lamang ng isang beses sa simula kapag ang microcontroller ay pinapatakbo ono o ang pindutan ng paganahin ay pinindot. Sa pagpapaandar na ito, ang mga pin ng Arduino ay pinasimulan upang magamit bilang INPUT o OUTPUT. Ang mga bagay na nilikha para sa motor ng servo dati, ay ginagamit upang ikabit ang servo motor sa tukoy na pin ng Arduino board at ang servo ay inililipat sa paunang hindi nakaayos na kondisyon. Ang Baud Rate ay naka-set din sa pagpapaandar na ito. Ang Baud Rate ay ang bilis ng mga bit bawat segundo kung saan nakikipag-usap ang microcontroller sa mga panlabas na aparato na nakakabit.

void setup () {Serial.begin // setting the baud rate of the microcontroller pinMode (ledPin, OUTPUT); // digital pin 2 ay output para sa LED pinMode (switchPin, INPUT); // analog pin 5 ay input para sa switch myservo.attach (9); // ikinakabit ang servos sa mga pin 9 myservo2.attach (10); // ikinakabit ang mga servo sa mga pin 10 myservo.write (servoUnlock); // ilipat ang servo 1 sa mga hindi naka-posisyon na posisyon ng myservo2.write (servoUnlock2); // ilipat ang servo 2 sa mga hindi naka-posisyon na posisyon}

3. walang bisa loop () ay isang pagpapaandar na paulit-ulit na tumatakbo sa isang loop. Una, isang analog na halaga s na binabasa ng force sensor. Pagkatapos ay hinihintay nito ang halaga ng force sensor na ipasa ang isang halaga ng threshold. Hihintayin nito ang paa upang ganap na tumira sa lugar nito at itatakda ang parehong mga servos sa isang posisyon ng lock. Kung ang mga switch ay pinindot, ang servo ay maitatakda upang i-unlock at maghihintay hanggang ang LED ay dumudugo ng pitong beses.

void loop () {valF = analogRead (forcePin); // basahin ang halaga ng force sensor valS = digitalRead (switchPin); // basahin ang halaga ng switch kung (valF> = thresHold) {// naghihintay para sa lakas na sensor na pantay o pumasa sa threshold ng presyon at pagkatapos ay: antala (1000); // naghihintay para sa paa upang tumira sa lugar sa sapatos na myservo2.write (servoLock2); // nagtatakda ng auxillary servo sa naka-lock na pagkaantala ng posisyon (1000); // naghihintay ng isang segundo myservo.write (servoLock); // nagtatakda ng pangunahing servo sa naka-lock na pagkaantala ng posisyon (1000); // naghihintay ng isang segundong digitalWrite (ledPin, HIGH); / / binuksan ang LED hanggang sa hindi naka-unlock ang servo. Alisin ang linyang ito upang makatipid ng buhay ng baterya. } kung (valS == MATAAS) {// naghihintay para sa paglipat upang mapindot, at pagkatapos ay: myservo2.write (servoUnlock2); // unlocks auxillary servo delay (1000); // naghihintay ng dalawang segundo myservo.write (servoUnlock); // unlock ang pangunahing pagkaantala ng servo (500); // wait, pagkatapos ay kumurap ng LED 7 beses digitalWrite (ledPin, LOW); pagkaantala (200); digitalWrite (ledPin, HIGH); pagkaantala (200); digitalWrite (ledPin, LOW); pagkaantala (200); digitalWrite (ledPin, HIGH); pagkaantala (200); digitalWrite (ledPin, LOW); pagkaantala (200); digitalWrite (ledPin, HIGH); pagkaantala (200); digitalWrite (ledPin, LOW); pagkaantala (200); digitalWrite (ledPin, HIGH); pagkaantala (200); digitalWrite (ledPin, LOW); pagkaantala (200); digitalWrite (ledPin, HIGH); pagkaantala (200); digitalWrite (ledPin, LOW); pagkaantala (200); digitalWrite (ledPin, HIGH); pagkaantala (200); digitalWrite (ledPin, LOW); pagkaantala (200); digitalWrite (ledPin, HIGH); pagkaantala (200); digitalWrite (ledPin, LOW); // pinapatay ang pagkaantala ng LED (1000); }}

Kaya't ito ang buong pamamaraan upang gumawa ng isang palabas na awtomatikong tinali ng mga tali nito nang mag-isa sa tulong ng isang servo motor, microcontroller, at isang motor shield. Ngayon na alam mo ang buong pamamaraang ito, tangkilikin ang iyong AutoLacing Show sa iyong bahay.