Ako si vyrobiť topánku s automatickým polohovaním pomocou Arduina?

V modernej dobe sa vedci a inžinieri snažia všetko automatizovať. Znamená to, že všetko bude fungovať samo od seba bez akejkoľvek ľudskej námahy. V spoločnosti sa zistil veľmi častý problém, že niektorí ľudia majú problém so zaviazaním si šnúrok na topánkach sám. Medzi týchto ľudí patria do istej miery zdravotne postihnutí, ľudia s bolesťami chrbta, deti a nevidiaci. Je teda potrebné nájsť riešenie, aby to títo ľudia nevnímali ako problém.



Obrázok prevzatý z pokynov

V tomto projekte urobíme šnúrku s automatickým šnurovaním, ktorá mu bude automaticky viazať šnúrky bez akejkoľvek ľudskej námahy. Urobí to pomocou dosky mikrokontroléra, snímača štítu motora a servomotora, akonáhle človek umiestni nohu do topánky.



Ako automaticky vytvoriť šnúru pomocou Arduina?

Teraz, keď už vieme abstrakt projektu, začnime zbierať viac informácií a prejdime si postup, ako vyrobiť túto topánku AutoLace pomocou Arduina.



Krok 1: Zhromaždenie komponentov

Najlepším spôsobom, ako zahájiť akýkoľvek projekt, je zostaviť zoznam komponentov a prejsť krátkou štúdiou týchto komponentov, pretože nikto nebude chcieť zostať uprostred projektu len kvôli chýbajúcemu komponentu. Zoznam komponentov, ktoré v tomto projekte použijeme, je uvedený nižšie:



  • Arduino uno
  • Štít motora
  • Servo motor
  • Sila
  • LED
  • 1k-ohmový rezistor
  • Obuv
  • Kovový pásik
  • Plastové zipsy
  • 1/8
  • Prepojovacie drôty
  • Batéria

Krok 2: Štúdium komponentov

Teraz, keď už vieme abstrakt nášho projektu, a máme tiež kompletný zoznam všetkých komponentov, poďme o krok vpred a urobme si krátku štúdiu komponentov, ktoré budeme používať.

Seeeduino v4.2 je jednou z najlepších dosiek kompatibilných s Arduino na svete, ktorá je založená na mikrokontroléri Atmega 328 MCU. pretože je ľahko použiteľný, stabilnejší a vyzerá lepšie ako mnoho iných dosiek. Je založený na bootloaderi Arduino. má ATMEGA16U2 ako prevodník UART na USB, pretože ho možno použiť ako čip FTDI. je pripojený k počítaču pomocou kábla micro USB, ktorý sa všeobecne nazýva kábel Android. Na napájanie dosky je možné použiť aj jednosmerný konektor. vstupný výkon musí byť od 7V do 15V.

Rada Seeeduino



Štít motora Arduino umožňuje bez námahy ovládať smer a rýchlosť motora pomocou Arduina. Vďaka tomu, že máte možnosť adresovať iba piny Arduino, je ľahké zapojiť akýkoľvek motor do vášho podniku. Okrem toho vám umožňuje ovládať motor s iným napájaním až do 12 V. Najlepšie zo všetkého je, že štít je veľmi ľahké nájsť. Zo všetkých týchto dôvodov je Arduino Motor Shield, ak je vo vašom arzenáli niečo málo, čo umožňuje rýchle prototypovanie a všeobecné experimentovanie.

Štít motora

Rezistory snímača sily (FSR) sú veľmi jednoduché a ľahko použiteľné snímače tlaku. Prekážka FSR závisí od váhy, ktorá sa uplatňuje na detekčné územie. Čím väčšiu váhu použijete, tým nižšia bude opozícia. Prekážkový rozsah je dosť veľký:> 10 MΩ (bez hmotnosti) až ~ 200 Ω (maximálna hmotnosť). Väčšina FSR dokáže detekovať výkon v rozsahu od 100 g do 10 kg. FSR sa skladá z dvoch vrstiev a dištančného lepidla. Vodivé vrstvy sú izolované bez tenkej vzduchovej medzery, keď nie je aplikovaná žiadna váha. Jeden z filmov obsahuje dve stopy vedúce od chvosta k detekčnej oblasti (okrúhla časť). Tieto stopy sú navzájom tkané, avšak nie sú v kontakte. Druhá fólia je pokrytá úvodným atramentom. Keď zatlačíte na senzor, atrament skratuje tieto dve stopy spolu s opozíciou, ktorá závisí od hmotnosti.

Senzor sily

TO Servo motor je otočný alebo lineárny pohon, ktorý je možné ovládať a pohybovať v presných krokoch. Tieto motory sa líšia od jednosmerných motorov. Tieto motory umožňujú presné riadenie uhlového alebo rotačného pohybu. Tento motor je spojený so snímačom, ktorý vysiela spätnú väzbu o svojom pohybe.

Servo Moto

Krok 3: Princíp práce

Princíp fungovania tohto projektu je veľmi jednoduchý. Senzor sily sa použije na zistenie, či je noha v šou umiestnená alebo nie. Ak detekuje nohu, vyšle signál doske Arduino, ktorá pomocou štítu Arduino Motor bude pohybovať servomotorom. Tento servomotor sa bude pohybovať tak, že bude ťahať všetky šnúrky naraz. Preto sa automaticky zaviažu všetky šnúrky topánky.

Krok 4: Zostavenie komponentov

Teraz, keď poznáme hlavnú myšlienku a princíp fungovania tohto projektu, posuňme sa o krok vpred a začnime zhromažďovať všetko, aby sme vytvorili šou, ktorá sa bude automaticky laseť. Pri výrobe konečného produktu postupujte podľa krokov uvedených nižšie:

  1. Najskôr orezajte malú kovovú dosku tak, aby bola pripevnená na zadnej strane prehliadky. Použite syntetický prostriedok, aby trvale zafixoval a neuvoľnil sa. Medzi kovovou doskou a šou nechajte medzeru, pretože z tejto medzery prejdeme niekoľko sťahovacích pások.
  2. Teraz vezmite dva servomotory a pripevnite ich k kovovej doske horúcim lepidlom. Aby ste ich zaistili natrvalo, použite okolo nich pásky na zips, aby sa tieto servomotory neskôr nepohybovali. Keď sú servomotory v chode, prerušte zostávajúci kábel.
  3. Teraz namontujte puzdro na batériu pod motory tak, aby bol vypínač napájania smerom von.
  4. Teraz pripojte dosku Arduino k motorom. Pred pripojením štítu motora k Arduinu je potrebné do obvodu pridať nejaké veci.
  5. Vezmite LED diódu a spájkujte rezistor na jeho kladnú časť a spájkujte krátku dĺžku drôtu na zápornú časť a druhú časť odporu. Potom pripojte túto zostavu k Arduinu a zatlačte ju do jednej z nepoužívaných zásuviek na šnúrky.
  6. Teraz vezmite a Senzor sily a umiestnite si ho do topánok, kde vám bude ležať päta. neodporúča sa spájkovať kolíky snímača sily, pretože teplo spájkovačky môže roztaviť plast snímača. Takže je lepšie, keď to prilepíte alebo zalepíte lepiacou páskou.
  7. Nakoniec použite šnúrku na zips na priviazanie všetkých šnúrok k servomotoru, takže keď sa motor otáča, stiahne všetky šnúrky naraz.

Uistite sa, že kladný vodič LED je pripojený k pólu 2 Arduina. Pin Vcc a uzemnenie snímača sily bude pripojený k 5 V a uzemnenie Arduina a pin IN snímača sily bude pripojený k pólu A0 dosky Arduino. Na záver opatrne zasuňte kolíky servomotora k štítu motora, aby ste nesprávne nadviazali spojenie.

Krok 5: Začíname s Arduino

Ak predtým Arduino IDE nepoznáte, nebojte sa, pretože nižšie môžete vidieť jasné kroky pri vypaľovaní kódu na doske mikrokontroléra pomocou Arduino IDE. Najnovšiu verziu Arduino IDE si môžete stiahnuť z adresy tu a postupujte podľa krokov uvedených nižšie:

  1. Keď je doska Arduino pripojená k vášmu počítaču, otvorte „Ovládací panel“ a kliknite na „Hardvér a zvuk“. Potom kliknite na „Zariadenia a tlačiarne“. Nájdite názov portu, ku ktorému je pripojená vaša doska Arduino. V mojom prípade je to „COM14“, ale na vašom počítači sa to môže líšiť.

    Hľadá sa prístav

  2. Aby sme mohli používať Servo Motor, budeme musieť zahrnúť knižnicu. Knižnica je spolu s kódom pripojená nižšie v odkaze na stiahnutie. Ísť do Skica> Zahrnúť knižnicu> Pridať knižnicu .ZIP.

    Zahrnúť knižnicu

  3. Teraz otvorte Arduino IDE. V ponuke Nástroje nastavte dosku Arduino na Arduino / Genuino UNO.

    Nastavovacia doska

  4. V rovnakej ponuke Nástroj nastavte číslo portu, ktorý ste videli na ovládacom paneli.

    Nastavenie portu

  5. Stiahnite si priložený kód nižšie a skopírujte ho do svojho IDE. Ak chcete nahrať kód, kliknite na tlačidlo nahrať.

    Nahrať

Kód si môžete stiahnuť do kliknutím sem.

Krok 6: Kód

Tento kód je celkom dobre komentovaný a má vlastnú vysvetlenie. Avšak kód je stručne vysvetlený nižšie.

1. Na začiatku je súčasťou špeciálna knižnica, aby bolo možné servomotor integrovať do dosky mikrokontroléra a programovať ju. Pre použitie so servomotorom sú vytvorené dva objekty. inicializujú sa niektoré piny alebo Arduino, ktoré sa pripoja k ovládaču motora, a deklarujú sa aj niektoré premenné, ktoré uložia dočasné hodnoty, ktoré sa neskôr použijú v hlavnom programe.

#include // zahrnúť knižnicu na prepojenie servomotora s doskou mikrokontroléra Servo myservo; // vytvorí servo objec 1 Servo myservo2; // vytvorenie servo objektu 2 int forcePin = 0; // analógový pin 0 pripojený k silovému senzoru int ledPin = 2; // digitálny pin 2 pripojený k LED int switchPin = 19; // nastaví spínač odomknutia na analógový pin 5 int valF; // hodnota silového snímača int valS; // hodnota switchu int thresHold = 500; // definuje prah tlaku senzora sily int servoUnlock = 0; // nastaví hlavné servo do neutrálnej polohy bez väzby (0 stupňov) int servoLock = 180; // nastaví hlavné servo do priviazanej polohy (180 stupňov) int servoUnlock2 = 180; // nastaví pomocné servo do neutrálnej polohy bez väzby (0 stupňov) int servoLock2 = 0; // nastaví pomocné servo do priviazanej polohy (180 stupňov)

2. nastavenie neplatnosti () je funkcia, ktorá beží iba raz na začiatku, keď je mikrokontrolér napájaný alebo je stlačené tlačidlo aktivácie. V tejto funkcii sú piny Arduina inicializované na použitie ako VSTUP alebo VÝSTUP. Objekty, ktoré boli predtým vytvorené pre servomotor, sa používajú na pripevnenie servomotora ku konkrétnemu kolíku dosky Arduino a servo sa premiestni do počiatočného nepriloženého stavu. V tejto funkcii je tiež nastavená prenosová rýchlosť. Prenosová rýchlosť je rýchlosť v bitoch za sekundu, ktorou mikrokontrolér komunikuje s pripojenými externými zariadeniami.

void setup () {Serial.begin // nastavenie prenosovej rýchlosti mikrokontroléra pinMode (ledPin, OUTPUT); // digitálny pin 2 je výstup pre LED pinMode (switchPin, INPUT); // analógový pin 5 je vstup pre prepínač myservo.attach (9); // pripojí serva k pinom 9 myservo2.attach (10); // pripojí serva k pinom 10 myservo.write (servoUnlock); // posuňte servo 1 do neviazaných pozícií myservo2.write (servoUnlock2); // posuňte servo 2 do neviazaných pozícií}

3. neplatná slučka () je funkcia, ktorá beží opakovane v slučke. Po prvé, analógová hodnota s je načítaná snímačom sily. Potom čaká, kým hodnota snímača sily prekoná prahovú hodnotu. Počká, kým sa noha úplne usadí na svojom mieste, a nastaví obidve serva do uzamknutej polohy. Ak sú stlačené spínače, servo sa nastaví na odblokovanie a počká, kým LED nebude blikať sedemkrát.

void loop () {valF = analogRead (forcePin); // načítaná hodnota snímača sily valS = digitalRead (switchPin); // načítaná hodnota spínača if (valF> = thresHold) {// čaká na to, aby sa snímač sily vyrovnal alebo prekročil prahovú hodnotu tlaku a potom: delay (1000); // počká, kým sa noha usadí na mieste v topánke myservo2.write (servoLock2); // nastaví pomocné servo na zamknutú pozíciu (1000); // čaká jednu sekundu myservo.write (servoLock); // nastaví hlavné servo na zamknutú pozíciu (1000); // čaká jednu sekundu digitalWrite (ledPin, HIGH); // rozsvieti LED, kým nie je servo odblokované. Odstráňte tento riadok, aby ste šetrili výdrž batérie. } if (valS == HIGH) {// čaká na stlačenie prepínača a potom: myservo2.write (servoUnlock2); // odomkne pomocné oneskorenie serva (1000); // počká dve sekundy myservo.write (servoUnlock); // odomkne oneskorenie hlavného serva (500); // počkaj, potom 7krát blikni LED dióda digitalWrite (ledPin, LOW); oneskorenie (200); digitalWrite (ledPin, HIGH); oneskorenie (200); digitalWrite (ledPin, LOW); oneskorenie (200); digitalWrite (ledPin, HIGH); oneskorenie (200); digitalWrite (ledPin, LOW); oneskorenie (200); digitalWrite (ledPin, HIGH); oneskorenie (200); digitalWrite (ledPin, LOW); oneskorenie (200); digitalWrite (ledPin, HIGH); oneskorenie (200); digitalWrite (ledPin, LOW); oneskorenie (200); digitalWrite (ledPin, HIGH); oneskorenie (200); digitalWrite (ledPin, LOW); oneskorenie (200); digitalWrite (ledPin, HIGH); oneskorenie (200); digitalWrite (ledPin, LOW); oneskorenie (200); digitalWrite (ledPin, HIGH); oneskorenie (200); digitalWrite (ledPin, LOW); // vypne oneskorenie vypnutia LED (1000); }}

Takže to bol celý postup výroby šou, ktorá si sama šnúrky automaticky spojí pomocou servomotora, mikrokontroléra a štítu motora. Teraz, keď poznáte celý tento postup, si môžete prehliadku AutoLacing Show užiť doma.