Kā padarīt AutoLacing apavu, izmantojot Arduino?

Mūsdienu laikmetā zinātnieki un inženieri cenšas visu padarīt automatizētu. Tas nozīmē, ka viss darbosies pats par sevi bez cilvēka piepūles. Sabiedrībā tika konstatēta ļoti izplatīta problēma, ka dažiem cilvēkiem ir grūtības pašiem sasiet kurpju šņores. Šie cilvēki zināmā mērā ir invalīdi, cilvēki ar muguras sāpēm, bērni un neredzīgi cilvēki. Tātad ir jāpieņem risinājums, lai šie cilvēki to neuzskatītu par problēmu.



Attēls ņemts no Instructables

Šajā projektā mēs izveidosim automātisko šņorēšanas šovu, kas automātiski sasaistīs mežģīnes bez cilvēka piepūles. Tas tiks izdarīts ar mikrokontrolleru plates, motora vairoga sensora un servomotora palīdzību, tiklīdz kāds ievieto kāju apavu iekšpusē.



Kā savietot savu izrādi, izmantojot Arduino?

Tagad, kad mēs zinām projekta kopsavilkumu, sāksim vākt vairāk informācijas un iet cauri procedūrai, kā padarīt šo AutoLace apavu, izmantojot Arduino.



1. darbība: komponentu savākšana

Vislabākā pieeja jebkura projekta uzsākšanai ir sastādīt sastāvdaļu sarakstu un veikt īsu šo komponentu izpēti, jo neviens nevēlas palikt projekta vidū tikai trūkstoša komponenta dēļ. Komponentu saraksts, ko mēs izmantosim šajā projektā, ir norādīts zemāk:



  • Arduino uno
  • Motora vairogs
  • Servomotors
  • Spēks
  • LED
  • 1k omu rezistors
  • Apavu
  • Metāla sloksne
  • Plastmasas rāvējslēdzēji
  • 1/8
  • Džemperu vadi
  • Akumulators

2. solis: Komponentu izpēte

Tagad, kad mēs zinām sava projekta kopsavilkumu un mums ir arī pilns visu sastāvdaļu saraksts, ļaujiet mums virzīties soli uz priekšu un veikt īsu pētījumu par komponentiem, kurus mēs izmantosim.

Seeeduino v4.2 ir viena no labākajām Arduino saderīgajām plāksnēm pasaulē, kuras pamatā ir mikrokontrolleris Atmega 328 MCU. jo tas ir ērti lietojams, stabilāks un izskatās labāk nekā daudzi citi dēļi. Tas ir balstīts uz Arduino bootloader. tam ir ATMEGA16U2 kā UART – USB pārveidotājs, jo no kura to var izmantot kā FTDI mikroshēmu. tas ir savienots ar datoru, izmantojot mikro USB kabeli, ko parasti sauc par android kabeli. Plātnes barošanai var izmantot arī līdzstrāvas ligzdu. ieejas jaudai jābūt no 7V līdz 15V.

Seeeduino valde



Arduino motora vairogs ļauj bez piepūles kontrolēt motora virzienu un ātrumu, izmantojot Arduino. Ļaujot jums vienkārši pievērsties Arduino tapām, tas atvieglo jebkura uzņēmuma iebraukšanu jūsu uzņēmumā. Tas papildus dod iespēju kontrolēt motoru ar atšķirīgu barošanas avotu līdz 12v. Pats labākais, ka vairogu ir ļoti viegli atrast. Visu šo iemeslu dēļ Arduino motora vairogs ir jauks, kas jūsu arsenālā ir ātrai prototipu veidošanai un vispārīgiem eksperimentiem.

Motora vairogs

Spēka sensoru rezistori (FSR) ir ļoti vienkārši un ērti lietojami spiediena sensori. FSR šķēršļi ir atkarīgi no svara, kas tiek piemērots noteikšanas teritorijai. Jo vairāk svara jūs pieliekat, jo mazāka pretestība. Obstrukcijas diapazons ir diezgan milzīgs:> 10 MΩ (bez svara) līdz ~ 200 Ω (maksimālais svars). Lielākā daļa FSR var noteikt jaudu no 100 g līdz 10 kg. FSR sastāv no diviem slāņiem un starplikas līmes. Vadošos slāņus izolē ar nelielu gaisa spraugu, ja netiek piemērots svars. Vienā no filmām ir divas pēdas, kas iet no astes līdz noteikšanas reģionam (apaļa daļa). Šīs pēdas ir savītas kopā, tomēr nesaskaras. Otra plēve ir pārklāta ar vadošo tinti. Nospiežot sensoru, tinte saīsina abas pēdas kopā ar pretestību, kas atkarīga no svara.

Spēka sensors

TO Servomotors ir rotējošs vai lineārs izpildmehānisms, kuru var vadīt un pārvietot ar precīzu soli. Šie motori atšķiras no līdzstrāvas motoriem. Šie motori ļauj precīzi kontrolēt leņķa vai rotācijas kustību. Šis motors ir savienots ar sensoru, kas sūta atsauksmes par tā kustību.

Servo Moto

3. solis: darba princips

Šī projekta darbības princips ir ļoti vienkāršs. Spēka sensors tiks izmantots, lai noteiktu, vai pēda ir ievietota izrādē, vai nē. Ja tas atklāj kāju, tas nosūtīs signālu uz Arduino dēli, kas ar Arduino motora vairoga palīdzību pārvietos servomotoru. Šis servomotors pārvietosies tā, ka tas visas mežģīnes pavilks vienlaicīgi. Tādējādi automātiski sasien visas apavu mežģīnes.

4. solis: komponentu montāža

Tagad, kad mēs zinām šī projekta galveno ideju un darbības principu, virzīsimies soli uz priekšu un sāksim visu samontēt, lai izveidotu izrādi, kas pati par sevi notiks. Lai izveidotu galaproduktu, veiciet tālāk norādītās darbības:

  1. Vispirms sagrieziet nelielu metāla plāksni tā, lai tā būtu piestiprināta izrādes aizmugurē. Izmantojiet sintētiku, lai tā pastāvīgi nostiprinātos un neatbrīvotos. Pārliecinieties, ka esat atstājis atstarpi starp metāla plāksni un izrādi, jo mēs izlaidīsim dažus kabeļu saites līdz šai atstarpei.
  2. Tagad paņemiet divus servomotorus un pievienojiet tos metāla plāksnei ar karstu līmi. Lai padarītu to pastāvīgi fiksētu, ap tiem izmantojiet rāvējslēdzējus, lai šie servomotori vēlāk nepārvietotos. Pēc tam, kad servomotori ir ritmā, nogrieziet atlikušo papildu kabeli.
  3. Tagad uzstādiet akumulatora korpusu zem motoriem tā, lai strāvas slēdzis būtu uz āru.
  4. Tagad piestipriniet Arduino dēli uz motoriem. Pirms motora vairoga savienošanas ar Arduino ķēdei jāpievieno dažas lietas.
  5. Paņemiet gaismas diodi un pielodējiet rezistoru tā pozitīvajai kājiņai un lodējiet īsu stieples garumu līdz negatīvajai kājiņai un otrajai rezistora kājiņai. Pēc tam pievienojiet šo montāžu Arduino un piespiediet to vienā no neizmantotajām apavu auklas ligzdām.
  6. Tagad ņem a Spēka sensors un ievietojiet to kurpēs, kur jūsu papēdis atpūtīsies. spēka sensora tapas nav ieteicams lodēt, jo lodāmura siltums var izkausēt sensora plastmasu. Tāpēc labāk, ja jūs to pielīmējat vai līmlenti.
  7. Visbeidzot, izmantojiet rāvējslēdzēju, lai visas mežģīnes piesietu servomotoram tā, ka, motoram pagriežoties, tas vienlaikus velk visas mežģīnes.

Pārliecinieties, vai LED pozitīvais vads ir pievienots Arduino pin2. Spēka sensora Vcc un zemējuma tapa tiks savienota ar Arduino 5V un zemi, un spēka sensora IN spraudnis tiks savienots ar Arduino dēļa A0 tapu. Visbeidzot, uzmanīgi pievienojiet servomotora tapas pie motora vairoga, lai neizveidotu nepareizu savienojumu.

5. solis: darba sākšana ar Arduino

Ja iepriekš neesat pazīstams ar Arduino IDE, neuztraucieties, jo zemāk jūs varat redzēt skaidrus koda ierakstīšanas soļus mikrokontrolleru dēlī, izmantojot Arduino IDE. Arduino IDE jaunāko versiju varat lejupielādēt vietnē šeit un veiciet tālāk minētās darbības:

  1. Kad Arduino dēlis ir savienots ar datoru, atveriet “Control panel” un noklikšķiniet uz “Hardware and Sound”. Pēc tam noklikšķiniet uz “Ierīces un printeri”. Atrodiet tās ostas nosaukumu, kurai ir pievienota jūsu Arduino dēlis. Manā gadījumā tas ir “COM14”, bet datorā tas var atšķirties.

    Ostas atrašana

  2. Lai izmantotu servomotoru, mums būs jāiekļauj bibliotēka. Bibliotēka ir pievienota zemāk lejupielādes saitei kopā ar kodu. Iet uz Skice> Iekļaut bibliotēku> Pievienot .ZIP bibliotēku.

    Iekļaut bibliotēku

  3. Tagad atveriet Arduino IDE. No Rīki iestatiet Arduino dēli uz Arduino / Genuino UNO.

    Dēļu iestatīšana

  4. Tajā pašā izvēlnē Rīks iestatiet porta numuru, kuru redzējāt vadības panelī.

    Portas iestatīšana

  5. Lejupielādējiet zemāk pievienoto kodu un nokopējiet to savā IDE. Lai augšupielādētu kodu, noklikšķiniet uz augšupielādes pogas.

    Augšupielādēt

Kodu var lejupielādēt līdz noklikšķinot šeit.

6. solis: kods

Kods ir diezgan labi komentēts un pats par sevi saprotams. Bet tomēr kods ir īsumā paskaidrots zemāk.

1. Sākumā ir iekļauta īpaša bibliotēka, lai servomotoru varētu integrēt ar mikrokontrolleru plates un caur to ieprogrammēt. Divi objekti ir izveidoti lietošanai ar servomotoru. tiek inicializētas dažas tapas vai Arduino, kas tiks savienotas ar motora draiveri, un tiek deklarēti arī daži mainīgie, kas ietaupīs dažas pagaidu vērtības, kuras vēlāk tiks izmantotas galvenajā programmā.

#include // iekļauj bibliotēku saskarnei servomotorā ar mikrokontrolleru paneli Servo myservo; // izveido servo objec 1 Servo myservo2; // izveidot servo objektu 2 int forcePin = 0; // analogais tapas 0 savienojums ar spēka sensoru int ledPin = 2; // digitālā tapa 2, kas savienota ar LED int slēdziPin = 19; // iestata atbloķēšanas slēdzi uz analogo tapu 5 int valF; // spēka sensora vērtība int valS; // slēdža vērtība int thresHold = 500; // nosaka spēka sensora spiediena slieksni int servoUnlock = 0; // iestata galveno servo neitrālā neapaugtā stāvoklī (0 grādi) int servoLock = 180; // iestata galveno servo šņorētā stāvoklī (180 grādi) int servoUnlock2 = 180; // iestata palīgservo neitrālā, neapsaitētā stāvoklī (0 grādi) int servoLock2 = 0; // iestata palīgservo šņorētā stāvoklī (180 grādi)

2. anulēt iestatīšanu () ir funkcija, kas startē darbojas tikai vienu reizi, kad mikrokontrolleris tiek ieslēgts vai ja ir nospiesta iespējošanas poga. Šajā funkcijā Arduino tapas tiek inicializētas, lai tās izmantotu kā INPUT vai OUTPUT. Objekti, kas iepriekš tika izveidoti servomotoram, tiek izmantoti, lai servomotoru piestiprinātu pie Arduino dēļa īpašās tapas, un servo tiek pārvietots uz sākotnējo neaizšuvuma stāvokli. Šajā funkcijā ir iestatīts arī pārraides ātrums. Bauda ātrums ir ātrums bitos sekundē, ar kuru mikrokontrolleris sazinās ar pievienotajām ārējām ierīcēm.

void setup () {Serial.begin // mikrokontrollera pinMode (ledPin, OUTPUT) datu pārraides ātruma iestatīšana; // digitālā tapa 2 tiek izvadīta LED pinMode (switchPin, INPUT); // analogā tapa 5 ir ievade slēdzim myservo.attach (9); // servos piestiprina tapas 9 myservo2.attach (10); // servos piestiprina tapas 10 myservo.write (servoUnlock); // pārvietot 1. servo uz neatrastām pozīcijām myservo2.write (servoUnlock2); // pārvietot 2. servo uz neatrastām pozīcijām}

3. void loop () ir funkcija, kas atkārtoti darbojas ciklā. Pirmkārt, analogo vērtību s nolasa spēka sensors. Tad tas gaida, kamēr spēka sensora vērtība pārsniegs sliekšņa vērtību. Tas gaidīs, kamēr pēda pilnībā nosēdīsies savā vietā, un abus servoservusus iestatīs bloķēšanas stāvoklī. Ja slēdži tiek nospiesti, servo tiek iestatīts uz atbloķēšanu un gaidīs, kamēr gaismas diode mirgos septiņas reizes.

void loop () {valF = analogRead (forcePin); // nolasītā spēka sensora vērtība valS = digitalRead (switchPin); // nolasīt slēdža vērtību, ja (valF> = thresHold) {// gaida, kad spēka sensors būs vienāds vai pārsniegs spiediena slieksni, un pēc tam: delay (1000); // gaida, kad pēda nosēžas savā vietā kurpē myservo2.write (servoLock2); // iestata papildu servo bloķēta stāvokļa aizkavi (1000); // gaida vienu sekundi myservo.write (servoLock); // iestata galvenā servo bloķēta stāvokļa aizkavi (1000); // gaida vienu sekundi digitalWrite (ledPin, HIGH); // ieslēdz LED līdz brīdim, kad servo ir atbloķēts. Noņemiet šo līniju, lai ietaupītu akumulatora darbības laiku. } if (valS == HIGH) {// gaida slēdža nospiešanu, un pēc tam: myservo2.write (servoUnlock2); // atbloķē papildu servo aizkavi (1000); // gaida divas sekundes myservo.write (servoUnlock); // atbloķē galvenā servo aizkavi (500); // pagaidiet, pēc tam 7 reizes mirgo LED digitalWrite (ledPin, LOW); kavēšanās (200); digitalWrite (ledPin, HIGH); kavēšanās (200); digitalWrite (ledPin, LOW); kavēšanās (200); digitalWrite (ledPin, HIGH); kavēšanās (200); digitalWrite (ledPin, LOW); kavēšanās (200); digitalWrite (ledPin, HIGH); kavēšanās (200); digitalWrite (ledPin, LOW); kavēšanās (200); digitalWrite (ledPin, HIGH); kavēšanās (200); digitalWrite (ledPin, LOW); kavēšanās (200); digitalWrite (ledPin, HIGH); kavēšanās (200); digitalWrite (ledPin, LOW); kavēšanās (200); digitalWrite (ledPin, HIGH); kavēšanās (200); digitalWrite (ledPin, LOW); kavēšanās (200); digitalWrite (ledPin, HIGH); kavēšanās (200); digitalWrite (ledPin, LOW); // izslēdz LED izslēgšanas aizkavi (1000); }}

Tā bija visa procedūra, lai izveidotu šovu, kas automātiski sasien savas mežģīnes ar servomotora, mikrokontrollera un motora vairoga palīdzību. Tagad, kad jūs zināt visu šo procedūru, izbaudiet savu AutoLacing Show veidošanu savās mājās.