Hogyan készítsünk AutoLacing cipőt az Arduino használatával?

A modern korban a tudósok és mérnökök mindent automatizálni próbálnak. Ez azt jelenti, hogy minden emberi erőfeszítés nélkül magától működik. A társadalomban nagyon gyakori problémát azonosítottak, hogy néhány embernek nehézségei vannak a cipőfűző megkötésével. Ezek közé az emberek közé tartoznak a fogyatékossággal élők, a hátfájás, a gyermekek és a vakok bizonyos mértékig. Tehát meg kell oldani, hogy ezek az emberek ne látják ezt problémának.



Kép az Instructables-ből

Ebben a projektben egy automatikus fűzős show-t fogunk készíteni, amely emberi erőfeszítések nélkül automatikusan összeköti a fűzőit. Mikrovezérlő tábla, motorvédő érzékelő és szervomotor segítségével fogja megtenni, amint az ember a lábát a cipőbe helyezi.



Hogyan lehet automatikusan összekapcsolni a műsort az Arduino segítségével?

Most, hogy ismerjük a projekt kivonatát, kezdjünk el további információkat gyűjteni, és végezzük el azt az eljárást, hogyan lehet ezt az AutoLace cipőt elkészíteni az Arduino segítségével.



1. lépés: Az alkatrészek összegyűjtése

A projekt megkezdésének legjobb módja az, hogy összeállítja az összetevőket, és áttanulmányozza ezeket az összetevőket, mert senki sem akar majd egy projekt közepén maradni, csak egy hiányzó alkatrész miatt. Az alábbiakban felsoroljuk azokat a komponenseket, amelyeket ebben a projektben használni fogunk:



  • Arduino uno
  • Motor pajzs
  • Szervómotor
  • Kényszerítés
  • VEZETTE
  • 1k ohmos ellenállás
  • Cipő
  • Fém szalag
  • Műanyag cipzárak
  • 1/8
  • Jumper huzalok
  • Akkumulátor

2. lépés: Az alkatrészek tanulmányozása

Most, hogy ismerjük projektünk kivonatát, és az összes alkatrészről teljes listánk is van, lépjünk előre egy lépéssel előre, és nézzünk át egy rövid tanulmányt a használni kívánt komponensekről.

Seeeduino v4.2 az egyik legjobb Arduino kompatibilis kártya a világon, amely az Atmega 328 MCU mikrovezérlőn alapul. mert könnyen használható, stabilabb és jobban néz ki, mint sok más tábla. Az Arduino bootloaderre épül. UART-USB átalakítóként ATMEGA16U2-vel rendelkezik, mivel ebből FTDI chipként használható. mikro USB-kábellel csatlakozik a számítógéphez, amelyet általában android-kábelnek hívnak. A kártya tápellátására DC aljzat is használható. a bemeneti teljesítménynek 7 V és 15 V között kell lennie.

Seeeduino Board



Arduino Motor Shield lehetővé teszi, hogy könnyedén szabályozhassa a motor irányát és sebességét egy Arduino segítségével. Azáltal, hogy csak az Arduino csapokat tudja megszólítani, megkönnyíti bármilyen motor bejáratását a vállalkozásába. Ezenkívül lehetővé teszi, hogy egy 12 V-ig terjedő eltérő tápegységű motort vezéreljen. A legjobb az egészben, hogy a pajzs nagyon könnyen megtalálható. Mindezen okokból az Arduino Motor Shield jó ötlet az arzenálban a gyors prototípus készítéshez és általános kísérletezéshez.

Motor pajzs

Erőérzékelő ellenállások (FSR) nagyon egyszerű és könnyen használható nyomásérzékelők. Az FSR elakadása a detektáló terület súlyára támaszkodik. Minél nagyobb súlyt alkalmaz, annál kisebb az ellenzék. Az elzáródási tartomány meglehetősen hatalmas:> 10 MΩ (nincs súly) és ~ 200 Ω (max súly). A legtöbb FSR 100 g és 10 kg közötti teljesítményt képes felismerni. Az FSR két rétegből és egy távtartó ragasztóból áll. A vezető rétegeket vékony légrés választja el, ha nincs súly. Az egyik film két nyomot tartalmaz a faroktól a detektáló régióig (a kerek részig). Ezeket a nyomokat összefonják, de nem érintkeznek egymással. A másik filmet vezető festék borítja. Amikor megnyomja az érzékelőt, a tinta megrövidíti a két nyomot, a súlyra támaszkodó ellenkezéssel együtt.

Erőérzékelő

NAK NEK Szervómotor egy forgó vagy egy lineáris működtető, amely pontos lépésenként szabályozható és mozgatható. Ezek a motorok különböznek az egyenáramú motoroktól. Ezek a motorok lehetővé teszik a szögletes vagy forgó mozgás pontos vezérlését. Ez a motor egy érzékelőhöz van kapcsolva, amely visszajelzést küld a mozgásáról.

Servo Moto

3. lépés: Működési elv

A projekt működési elve nagyon egyszerű. Erőérzékelőt használnak annak érzékelésére, hogy a lábat a műsorba helyezik-e vagy sem. Ha észleli a lábat, akkor jelet küld az Arduino táblának, amely egy szervomotort mozgat egy Arduino motorvédő segítségével. Ez a szervomotor úgy fog mozogni, hogy az összes csipkét egyszerre meghúzza. Ezért automatikusan megköti a cipő összes fűzőjét.

4. lépés: Az alkatrészek összeszerelése

Most, hogy ismerjük a projekt alapgondolatát és működési elvét, lépjünk előre és kezdjünk el mindent összeszerelni, hogy olyan műsort készítsünk, amely automatikusan magával ragad. Végtermék készítéséhez hajtsa végre az alábbi lépéseket:

  1. Először vágjon le egy kis fémlemezt úgy, hogy az a műsor hátulján legyen rögzítve. Használjon szintetikus anyagot, hogy tartósan rögzüljön és ne lazuljon fel. Ügyeljen arra, hogy hézagot hagyjon a fémlemez és a műsor között, mert át fogunk vezetni néhány kábelkötegelőt.
  2. Most vegyen két szervomotort, és forró ragasztóval rögzítse a fémlemezhez. Most, hogy ezt állandóan rögzítse, használjon körülöttük cipzárakat, hogy ezek a szervomotorok ne mozduljanak később. Miután a szervomotorok lendületben vannak, vágja le a maradék extra kábelt.
  3. Most helyezzen egy akkumulátortokot a motorok alá úgy, hogy a főkapcsoló kifelé nézzen.
  4. Most rögzítse az Arduino táblát a motorokra. Mielőtt összekapcsolnánk a motor árnyékolását az Arduinóval, néhány dolgot hozzá kell adni az áramkörhöz.
  5. Vegyünk egy LED-et, és forrasszunk egy ellenállást a pozitív lábára, és forrasszunk egy rövid huzalt a negatív lábra és az ellenállás másik lábára. Ezután csatlakoztassa ezt a szerelvényt az Arduino-hoz, és nyomja az egyik fel nem használt cipőfűző-aljzatba.
  6. Most vegyen egy Erőérzékelő és tegye a cipőjébe, ahol a sarka meg fog pihenni. az erőérzékelő csapjainak forrasztása nem ajánlott, mert a forrasztópáka hője megolvaszthatja az érzékelő műanyagát. Tehát jobb, ha u ragasztja vagy ragasztószalaggal ragasztja.
  7. Végül egy cipzáras nyakkendővel kösse össze az összes csipkét a szervomotorral, így amikor a motor forog, akkor az összes csipkét egyszerre meghúzza.

Győződjön meg arról, hogy a LED pozitív vezetéke csatlakozik-e az Arduino 2-es érintkezőjéhez. Az Erőérzékelő Vcc és földelt csapja az Arduino 5 V-jához és földjéhez, az erőérzékelő IN-csatlakozója pedig az Arduino kártya A0-csatlakozójához lesz csatlakoztatva. Végül óvatosan csatlakoztassa a szervomotor csapjait a motor árnyékolásához, nehogy rosszul csatlakozzon.

5. lépés: Az Arduino használatának megkezdése

Ha még nem ismeri az Arduino IDE-t, ne aggódjon, mert az alábbiakban a kód égetésének világos lépéseit láthatja a mikrokontroller táblán az Arduino IDE használatával. Az Arduino IDE legújabb verzióját innen töltheti le itt és kövesse az alábbi lépéseket:

  1. Amikor az Arduino kártya csatlakozik a számítógépéhez, nyissa meg a „Vezérlőpult” elemet, majd kattintson a „Hardver és hang” elemre. Ezután kattintson az „Eszközök és nyomtatók” elemre. Keresse meg annak a portnak a nevét, amelyhez Arduino táblája csatlakozik. Az én esetemben ez a „COM14”, de előfordulhat, hogy más lesz a számítógépén.

    Port megtalálása

  2. A Servo Motor használatához be kell építenünk egy könyvtárat. A könyvtár a kóddal együtt a letöltési link alatt található. Menj Vázlat> Könyvtár beillesztése> .ZIP könyvtár hozzáadása.

    Könyvtár beillesztése

  3. Most nyissa meg az Arduino IDE-t. Az Eszközök közül állítsa az Arduino táblát a következőre: Arduino / Genuino UNO.

    Tábla beállítása

  4. Ugyanabban az Eszköz menüben állítsa be a portszámot, amelyet a kezelőpanelen látott.

    Port beállítása

  5. Töltse le az alább mellékelt kódot, és másolja be az IDE-be. A kód feltöltéséhez kattintson a feltöltés gombra.

    Feltöltés

A kódot letöltheti ide kattintva.

6. lépés: Kód

A kód elég jól kommentált és magától értetődő. De a kódot alább röviden ismertetjük.

1. Az induláskor egy speciális könyvtár tartozik hozzá, hogy a szervomotor integrálható legyen a mikrovezérlő táblával és azon keresztül programozható legyen. Két objektum jön létre a szervomotorral való használatra. inicializálnak néhány csapot vagy Arduino-t, amelyek összekapcsolódnak a motor meghajtóval, és néhány olyan változót is deklarálnak, amelyek mentenek néhány ideiglenes értéket, amelyeket később a fő programban használnak.

#include // tartalmazza a könyvtárat a szervomotor interfészéhez a mikrokontroller táblával Servo myservo; // létrehozza a servo objektumot 1 Servo myservo2; // 2. szervo objektum létrehozása int forcePin = 0; // analóg 0 tű az erőszenzorhoz csatlakoztatva int ledPin = 2; // digitális csatlakozó 2 csatlakozik a LED int kapcsolóhozPin = 19; // a feloldókapcsolót az analóg 5 tűre állítja int valF; // az erőérzékelő értéke int valS; // kapcsoló értéke int thresHold = 500; // meghatározza az erőérzékelő nyomásküszöbét int servoUnlock = 0; // a fő szervót semleges, rögzítetlen helyzetbe állítja (0 fok) int servoLock = 180; // a fő szervót csipkés helyzetbe állítja (180 fok) int servoUnlock2 = 180; // a segédszervót semleges, rögzítetlen helyzetbe állítja (0 fok) int servoLock2 = 0; // a kiegészítő szervót csipkés helyzetbe állítja (180 fok)

2. void setup () olyan funkció, amely csak egyszer fut le az indításkor, amikor a mikrovezérlő be van kapcsolva, vagy az engedélyező gombot megnyomják. Ebben a funkcióban az Arduino csapjai inicializálásra kerülnek INPUT vagy OUTPUT néven. A szervomotorhoz korábban létrehozott objektumokat arra használják, hogy a szervomotort az Arduino tábla adott érintkezőjéhez rögzítsék, és a szervót áthelyezik a kezdeti rögzítetlen állapotba. A Baud Rate is ebben a funkcióban van beállítva. A sebesség (Baud Rate) az a sebesség bit / másodpercben, amellyel a mikrovezérlő kommunikál a csatlakoztatott külső eszközökkel.

void setup () {Serial.begin // a pinMode mikrovezérlő adatátviteli sebességének beállítása (ledPin, OUTPUT); // a digitális digitális pin 2 kimenet a LED pinMode (switchPin, INPUT) számára; // az analóg 5. tű a bemeneti kapcsolóhoz a myservo.attach (9); // csatolja a szervókat a 9 csapokhoz myservo2.attach (10); // csatolja a szervókat a 10 csapokhoz myservo.write (servoUnlock); // az 1. szervo áthelyezése nem rögzített pozíciókba a myservo2.write (servoUnlock2); // 2. szervo áthelyezése nem rögzített pozíciókba}

3. void loop () egy ciklusban ismételten futó függvény. Először egy analóg értéket olvas le az erőérzékelő. Ezután várja, hogy az erőérzékelő értéke túllépjen egy küszöbértéket. Megvárja, amíg a láb teljesen megtelik a helyén, és mindkét szervót reteszelési helyzetbe állítja. Ha megnyomja a kapcsolókat, a szervo kioldásra kerül, és megvárja, amíg a LED hétszer felvillan.

void loop () {valF = analogRead (forcePin); // az erőérzékelő leolvasott értéke valS = digitalRead (switchPin); // a kapcsoló értékének beolvasása, ha (valF> = thresHold) {// arra vár, hogy az erőérzékelő megegyezzen vagy meghaladja a nyomásküszöböt, majd: delay (1000); // várja, hogy a láb a helyére kerüljön a myservo2.write (servoLock2); // a segédszervót lezárt helyzet késleltetésre állítja (1000); // egy másodpercet vár a myservo.write (servoLock); // a fő szervót lezárt helyzet késleltetésre állítja (1000); // vár egy másodpercig digitalWrite (ledPin, HIGH); // bekapcsolja a LED-et a szervo feloldásáig. Távolítsa el ezt a sort az akkumulátor élettartamának megtakarítása érdekében. } if (valS == HIGH) {// megvárja a kapcsoló megnyomását, majd: myservo2.write (servoUnlock2); // feloldja a segédszervo késleltetését (1000); // két másodpercet vár a myservo.write (servoUnlock); // feloldja a fő szervo késleltetését (500); // várjon, majd villogjon a LED 7-szer digitalWrite (ledPin, LOW); késés (200); digitalWrite (ledPin, HIGH); késés (200); digitalWrite (ledPin, LOW); késés (200); digitalWrite (ledPin, HIGH); késés (200); digitalWrite (ledPin, LOW); késés (200); digitalWrite (ledPin, HIGH); késés (200); digitalWrite (ledPin, LOW); késés (200); digitalWrite (ledPin, HIGH); késés (200); digitalWrite (ledPin, LOW); késés (200); digitalWrite (ledPin, HIGH); késés (200); digitalWrite (ledPin, LOW); késés (200); digitalWrite (ledPin, HIGH); késés (200); digitalWrite (ledPin, LOW); késés (200); digitalWrite (ledPin, HIGH); késés (200); digitalWrite (ledPin, LOW); // kikapcsolja a LED késleltetését (1000); }}

Tehát ez volt az egész eljárás egy olyan műsor elkészítésére, amely automatikusan összeköti a fűzőit egy szervomotor, mikrokontroller és motorvédő segítségével. Most, hogy ismeri ezt az egész eljárást, élvezze az AutoLacing Show készítését otthonában.