Kuidas teha automaatse kinnitusega kinga Arduino abil?

Moodsal ajastul püüavad teadlased ja insenerid kõik automatiseerida. See tähendab, et kõik töötab iseenesest ilma igasuguse inimliku pingutuseta. Ühiskonnas tuvastati väga levinud probleem, et mõnedel inimestel on probleeme kingapaelte sidumisega ise. Nende inimeste hulka kuuluvad puudega inimesed, seljavaludega inimesed, lapsed ja mingil määral pimedad inimesed. Niisiis tuleb teha lahendus, et need inimesed ei näeks seda probleemina.



Instructables'ist tehtud pilt

Selles projektis teeme automaatse nöörimise saate, mis seob oma paelad automaatselt ilma inimese jõupingutusteta. See teeb seda mikrokontrolleri plaadi, mootori varjestusanduri ja servomootori abil, niipea kui jalg asetatakse kinga sisse.



Kuidas Arduino abil oma saadet automaatselt siduda?

Nüüd, kui teame projekti kokkuvõtet, alustame lisateabe kogumist ja läbime protseduuri, kuidas seda AutoLace kingi Arduino abil valmistada.



1. samm: komponentide kogumine

Parim lähenemine mis tahes projekti alustamiseks on koostada komponentide loetelu ja teha nende komponentide lühitutvustus, sest keegi ei taha jääda projekti keskele lihtsalt puuduva komponendi tõttu. Allpool on loetelu komponentidest, mida selles projektis kasutame:



  • Arduino uno
  • Mootori kilp
  • Servomootor
  • Jõudu
  • LED
  • 1k-oomi takisti
  • Kinga
  • Metallist riba
  • Plastist tõmblukud
  • 1/8
  • Hüppaja juhtmed
  • Aku

2. samm: komponentide uurimine

Nüüd, kui teame oma projekti kokkuvõtet ja meil on ka kõigi komponentide täielik loetelu, liigume samm edasi ja tutvume lühidalt komponentidega, mida kavatseme kasutada.

Seeeduino v4.2 on üks parimaid Arduino-ga ühilduvaid plaate maailmas, mis põhineb mikrokontrolleril Atmega 328 MCU. kuna seda on lihtne kasutada, stabiilsem ja see näeb välja parem kui paljud teised lauad. See põhineb Arduino alglaaduril. sellel on AARTEGA16U2 kui UART-USB-muundur, kuna sellest saab seda kasutada FTDI-kiibina. see on ühendatud arvutiga mikro-USB-kaabli abil, mida tavaliselt nimetatakse android-kaabliks. Plaadi toitmiseks võib kasutada ka alalisvoolu pistikut. sisendvõimsus peab olema vahemikus 7V kuni 15V.

Seeeduino juhatus



Arduino mootorikilp võimaldab teil Arduino abil mootori suunda ja kiirust vaevata juhtida. Võimaldades teil lihtsalt Arduino tihvtidega tegeleda, on see kõigi mootoritega teie ettevõttesse sõitmine lihtne. Lisaks võimaldab see teil juhtida mootorit, mille toiteallikas on kuni 12v. Mis kõige parem - kilpi on väga lihtne leida. Kõigil neil põhjustel on Arduino mootorikilp, kui arsenalis on vähe prototüüpide loomiseks ja üldiseks katsetamiseks.

Mootori kilp

Jõuanduri takistid (FSR) on väga lihtsad ja hõlpsasti kasutatavad rõhuandurid. FSR-i takistamine sõltub kaalust, mida rakendatakse tuvastaval territooriumil. Mida rohkem kaalu rakendate, seda väiksem on vastuseis. Takistuste ulatus on üsna tohutu:> 10 MΩ (kaaluta) kuni ~ 200 Ω (max kaal). Enamik FSR-e suudab jõudu tuvastada vahemikus 100 g kuni 10 kg. FSR koosneb kahest kihist ja vaheliimist. Juhtivaid kihte isoleerib õhuke õhupilu, kui raskust ei rakendata. Üks filmidest sisaldab kahte jälge, mis kulgevad sabast tuvastamispiirkonnani (ümmargune osa). Need jäljed on kootud kokku, kuid ei puutu kokku. Teine film on kaetud juhtiva tindiga. Andurit surudes lühendab tint kahte jälge koos vastandiga, mis sõltub kaalust.

Jõuandur

TO Servomootor on pöörlev või lineaarne ajam, mida saab juhtida ja liigutada täpse sammuga. Need mootorid erinevad alalisvoolumootoritest. Need mootorid võimaldavad nurga- või pöördliikumist täpselt juhtida. See mootor on ühendatud anduriga, mis saadab tagasisidet oma liikumise kohta.

Servo Moto

3. samm: tööpõhimõte

Selle projekti tööpõhimõte on väga lihtne. Jõuandurit kasutatakse selleks, et tuvastada, kas jalg asetatakse etendusse või mitte. Kui ta tuvastab jala, saadab see signaali Arduino plaadile, mis liigutab Arduino mootorikilbi abil servomootorit. See servomootor liigub nii, et tõmbab kõik paelad korraga. Seega seotakse kinga kõik paelad automaatselt.

4. samm: komponentide kokkupanek

Nüüd, kui teame selle projekti põhiideed ja tööpõhimõtet, liigutagem samm edasi ja alustage kõike kokku panemist, et teha saadet, mis automaatselt kulgeb. Lõpptoote valmistamiseks tehke järgmist:

  1. Kõigepealt kärpige väike metallplaat nii, et see oleks saate tagaküljel fikseeritud. Kasutage sünteetilist nii, et see püsivalt fikseeruks ja lahti ei läheks. Veenduge, et jätaksite metallplaadi ja etenduse vahele tühiku, sest möödume sellest vahest mõned kaablisidemed.
  2. Nüüd võtke kaks servomootorit ja kinnitage need kuuma liimiga metallplaadile. Selleks, et see jäädavalt fikseeruks, kasutage nende ümber tõmblukke, et need servomootorid hiljem ei liiguks. Kui servomootorid on tempos, lõigake järelejäänud lisakaabel.
  3. Nüüd paigaldage mootorite alla aku korpus nii, et selle toitelüliti oleks väljapoole.
  4. Nüüd kinnitage mootoritele Arduino plaat. Enne mootori varjestuse ühendamist Arduinoga tuleb vooluringile lisada mõned asjad.
  5. Võtke LED ja jootke takisti selle positiivsele jalale ning jootke lühike traat negatiivse jala ja takisti teise jala külge. Seejärel ühendage see komplekt Arduinoga ja lükake see ühte kasutamata kingapaelte pistikupessa.
  6. Nüüd võtke a Jõuandur ja asetage see kingadesse, kus kand toetub. jõusensori tihvte pole soovitav jootma hakata, sest jootekolvi kuumus võib anduri plasti ära sulatada. Nii et parem on, kui te seda liimite või kleeplindiga kleebite.
  7. Lõpuks siduge kõik paelad servomootoriga tõmblukuga, nii et mootori pöörlemisel tõmbaks see kõik paelad korraga.

Veenduge, et LED-i positiivne juhe on ühendatud Arduino pin2-ga. Jõuanduri Vcc ja maandustihvt ühendatakse Arduino 5V ja maandusega ning jõuanduri IN tihvt ühendatakse Arduino plaadi A0 tihvtiga. Lõpuks ühendage servomootori tihvtid ettevaatlikult mootori varjestusega, et te ei teeks valet ühendust.

5. samm: Arduinoga alustamine

Kui te pole Arduino IDE-ga varem tuttav, ärge muretsege, sest allpool näete Arduino IDE abil mikrokontrolleri plaadil koodi kirjutamise selgeid samme. Arduino IDE uusima versiooni saate alla laadida siit siin ja järgige allpool nimetatud samme:

  1. Kui Arduino tahvel on arvutiga ühendatud, avage „Juhtpaneel“ ja klõpsake „Riistvara ja heli“. Seejärel klõpsake nuppu „Seadmed ja printerid”. Leidke selle sadama nimi, millega teie Arduino tahvel on ühendatud. Minu puhul on see COM14, kuid see võib teie arvutis olla erinev.

    Sadama leidmine

  2. Servomootori kasutamiseks peame lisama raamatukogu. Teek on lisatud allpool allalaadimislingile koos koodiga. Minema Visand> Kaasa teek> Lisa .ZIP-teek.

    Kaasa teek

  3. Nüüd avage Arduino IDE. Tööriistade seast määrake Arduino tahvel olekuks Arduino / Genuino UNO.

    Laua määramine

  4. Valige samas menüüs Tööriist pordi number, mida nägite juhtpaneelil.

    Pordi seadistamine

  5. Laadige alla lisatud kood ja kopeerige see oma IDE-sse. Koodi üleslaadimiseks klõpsake üleslaadimise nuppu.

    Laadi üles

Koodi saate alla laadida klõpsates siin.

6. samm: kood

Kood on üsna hästi kommenteeritud ja iseenesestmõistetav. Kuid ikkagi selgitatakse koodi lühidalt allpool.

1. Alguses on spetsiaalne raamatukogu, et servomootorit saaks mikrokontrolleri plaadiga integreerida ja selle kaudu programmeerida. Servomootoriga kasutamiseks on loodud kaks objekti. initsialiseeritakse mõned tihvtid või Arduino, mis ühendatakse mootori draiveriga, ja deklareeritakse ka mõned muutujad, mis salvestavad mõned ajutised väärtused, mida hiljem põhiprogrammis kasutatakse.

#include // sisaldab teeki servomootori liidestamiseks mikrokontrolleriplaadiga Servo myservo; // loob servo objec 1 Servo myservo2; // loo servoobjekt 2 int forcePin = 0; // analoog tihvt 0 ühendatud jõuanduriga int ledPin = 2; // digitaalne tihvt 2 on ühendatud LED int-lülitigaPin = 19; // seab avamise lüliti analoognõelale 5 int valF; // jõuanduri väärtus int valS; // lüliti väärtus int thresHold = 500; // määratleb jõuanduri rõhulävi int servoUnlock = 0; // seab põhiservo neutraalsele pingutamata asendile (0 kraadi) int servoLock = 180; // seab põhiservo nööriasendisse (180 kraadi) int servoUnlock2 = 180; // seab abiservo neutraalsele pingutamata asendile (0 kraadi) int servoLock2 = 0; // seab abiservo nööriasendisse (180 kraadi)

2. kehtetu seadistamine () on funktsioon, mis töötab käivitamisel ainult ühe korra, kui mikrokontroller on sisse lülitatud või kui vajutatakse lubamisnuppu. Selles funktsioonis lähtestatakse Arduino tihvtid kasutamiseks sisendina või väljundina. Varem servomootori jaoks loodud objekte kasutatakse servomootori kinnitamiseks Arduino plaadi konkreetse tihvti külge ja servo viiakse algsesse kinnituseta olekusse. Selles funktsioonis on seatud ka ülekandekiirus. Baudi kiirus on kiirus bittides sekundis, mille abil mikrokontroller suhtleb ühendatud välisseadmetega.

void setup () {Serial.begin // mikrokontrolleri pinMode'i kiiruse määramine (ledPin, OUTPUT); // digitaalne tihvt 2 on LED-i pinMode (switchPin, INPUT) väljund; // analoognupp 5 on sisendi lülitile myservo.attach (9); // lisab servod tihvtidele 9 myservo2.attach (10); // kinnitab servod tihvtidele 10 myservo.write (servoUnlock); // teisalda servo 1 paiksetutesse positsioonidesse myservo2.write (servoUnlock2); // teisalda servo 2 kinnistesse asenditesse}

3. void loop () on funktsioon, mis töötab korduvalt silmusena. Esiteks analoogväärtus s, mida jõuandur loeb. Siis ootab jõudanduri väärtus läviväärtuse ületamist. See ootab, kuni jalg täielikult oma kohale asetub, ja seab mõlemad servoservad lukustusasendisse. Lülitite vajutamisel seatakse servo avanema ja ootab, kuni LED vilgub seitse korda.

void loop () {valF = analogRead (forcePin); // jõuanduri loetud väärtus valS = digitalRead (switchPin); // loe lüliti väärtust, kui (valF> = thresHold) {// ootab, kuni jõuandur võrdub või läbib rõhulävi ja seejärel: delay (1000); // ootab, kuni jalg asetub jalanõusse myservo2.write (servoLock2); // seab abiservo lukustatud positsiooni viivitusele (1000); // ootab ühe sekundi myservo.write (servoLock); // seab põhiservo lukustatud positsiooni viivitusele (1000); // ootab ühte sekundit digitalWrite (ledPin, HIGH); // lülitab LED-i sisse, kuni servo on lukustamata. Eemaldage see joon aku säästmiseks. } if (valS == HIGH) {// ootab lüliti vajutamist ja seejärel: myservo2.write (servoUnlock2); // avab abiservo viivituse (1000); // ootab kaks sekundit myservo.write (servoUnlock); // avab servo viivituse (500); // oota, siis vilgub LED 7 korda digitalWrite (ledPin, LOW); viivitus (200); digitalWrite (ledPin, HIGH); viivitus (200); digitalWrite (ledPin, LOW); viivitus (200); digitalWrite (ledPin, HIGH); viivitus (200); digitalWrite (ledPin, LOW); viivitus (200); digitalWrite (ledPin, HIGH); viivitus (200); digitalWrite (ledPin, LOW); viivitus (200); digitalWrite (ledPin, HIGH); viivitus (200); digitalWrite (ledPin, LOW); viivitus (200); digitalWrite (ledPin, HIGH); viivitus (200); digitalWrite (ledPin, LOW); viivitus (200); digitalWrite (ledPin, HIGH); viivitus (200); digitalWrite (ledPin, LOW); viivitus (200); digitalWrite (ledPin, HIGH); viivitus (200); digitalWrite (ledPin, LOW); // lülitab LED-i viivituse välja (1000); }}

Nii et see oli kogu protseduur, et teha saade, mis seob servomootori, mikrokontrolleri ja mootorikilbi abil automaatselt oma paelad ise. Nüüd, kui teate kogu seda protseduuri, nautige oma AutoLacing Show tegemist kodus.