Hvordan laver man en autolaceringssko ved hjælp af Arduino?
I den moderne æra forsøger forskere og ingeniører at gøre alt automatiseret. Det betyder, at alt fungerer alene uden menneskelig indsats. Et meget almindeligt problem blev identificeret i samfundet, at nogle mennesker har problemer med at binde deres snørebånd af sig selv. Disse mennesker inkluderer handicappede, mennesker med rygsmerter, børn og blinde mennesker til en vis grad. Så der skal laves en løsning, så disse mennesker ikke ser dette som et problem.
I dette projekt skal vi lave et automatisk snørreshow, der automatisk binder snørebåndene uden menneskelig indsats. Det gør det ved hjælp af mikrokontrolkort, en motorafskærmningssensor og en servomotor, så snart man placerer foden inde i skoen.
Sådan autolace dit show ved hjælp af Arduino?
Som vi kender abstrakt af projektet, lad os begynde at indsamle mere information og gennemgå proceduren for, hvordan man laver denne AutoLace-sko ved hjælp af Arduino.
Trin 1: Samling af komponenterne
Den bedste tilgang til at starte ethvert projekt er at lave en liste over komponenter og gennemgå en kort undersøgelse af disse komponenter, fordi ingen vil holde sig midt i et projekt bare på grund af en manglende komponent. En liste over komponenter, som vi skal bruge i dette projekt, er angivet nedenfor:
Trin 2: Studere komponenterne
Nu da vi kender abstrakten af vores projekt, og vi også har en komplet liste over alle komponenterne, lad os gå et skridt videre og gennemgå en kort undersøgelse af de komponenter, vi skal bruge.
Seeeduino v4.2er et af de bedste Arduino-kompatible kort i verden, der er baseret på mikrokontroller Atmega 328 MCU. fordi det er let at bruge, mere stabilt og det ser bedre ud end mange andre brædder. Det er baseret på Arduino bootloader. den har en ATMEGA16U2 som en UART-til-USB-konverter, fordi den kan bruges som en FTDI-chip. det er forbundet til computeren ved hjælp af et mikro-USB-kabel, der almindeligvis kaldes et android-kabel. Et jævnstrømsstik kan også bruges til at tænde kortet. indgangseffekten skal være fra 7V til 15V.
Arduino Motor Shield giver dig mulighed for ubesværet at kontrollere motorretning og hastighed ved hjælp af en Arduino. Ved at give dig mulighed for bare at adressere Arduino-ben, gør det det nemt at køre enhver motor ind i din virksomhed. Det giver dig desuden mulighed for at styre en motor med en anden strømforsyning på op til 12v. Det bedste af alt er, at skjoldet er meget let at finde. Af alle disse grunde er Arduino Motor Shield, hvis det er sejt, lidt at have i dit arsenal til hurtig prototyping og generelt eksperimentere.
Modstandere til kraftfølere (FSR'er)er meget enkle og brugervenlige trykfølere. Tilstopning af en FSR er afhængig af den vægt, der påføres detekterende område. Jo mere vægt, du lægger på, jo lavere er oppositionen. Hindringsområdet er ret stort:> 10 MΩ (ingen vægt) til ~ 200 Ω (maks. Vægt). De fleste FSR'er kan registrere strøm i størrelsesordenen 100 g til 10 kg. En FSR består af to lag og et afstandslim. De ledende lag er isoleret med et tyndt luftgab, når der ikke påføres nogen vægt. En af filmene indeholder to spor, der løber fra halen til detekteringsområdet (den runde del). Disse spor er vævet sammen, men ikke i kontakt. Den anden film er dækket med en førende blæk. Når du skubber sensoren på, kortslutter blækket de to spor sammen med en modstand, der er afhængig af vægten.
EN Servomotorer en roterende eller en lineær aktuator, som kan styres og bevæges i nøjagtig stigning. Disse motorer adskiller sig fra jævnstrømsmotorer. Disse motorer tillader nøjagtig kontrol af vinkel- eller rotationsbevægelse. Denne motor er koblet til en sensor, der sender feedback om dens bevægelse.
Trin 3: Arbejdsprincip
Arbejdsprincippet for dette projekt er meget simpelt. En styrkesensor vil blive brugt til at registrere, om foden er placeret i showet eller ej. Hvis den registrerer foden, sender den et signal til Arduino-kortet, som flytter en servomotor ved hjælp af et Arduino Motor Shield. Denne servomotor bevæger sig på en sådan måde, at den trækker alle snørebånd på én gang. Derfor binder man automatisk alle snørebånd på skoen.
Trin 4: Samling af komponenterne
Nu som vi kender hovedideen og arbejdsprincippet bag dette projekt, lad os gå et skridt foran og begynde at samle alt for at lave et show, der automatisk laser sig selv. For at fremstille et slutprodukt skal du gennemgå nedenstående trin:
- Trim først en lille metalplade, så den er fastgjort på bagsiden af showet. Brug en syntetisk, så den fikseres permanent og ikke løsner sig. Sørg for, at du efterlader et mellemrum mellem metalpladen og showet, fordi vi vil passere nogle kabelbindere fra dette hul.
- Tag nu to servomotorer, og fastgør dem til metalpladen med varm lim. For at få dette til at blive løst permanent skal du bruge lynlåse omkring dem, så disse servomotorer ikke bevæger sig senere. Når servomotorer er i tempo, skal du skære det ekstra kabel, der er tilbage.
- Monter nu en batterikasse under motorerne, så dens afbryder er udad.
- Fastgør nu Arduino-kortet på motorerne. Før du forbinder motorskærmen med Arduino, skal der tilføjes nogle ting til kredsløbet.
- Tag en LED og lod en modstand til dens positive ben, og lod en kort ledningslængde til det negative ben og det andet ben af modstanden. Tilslut derefter denne samling til Arduino og skub den til en af de ubrugte snørebåndsstik.
- Tag nu en Kraftsensorog læg det i dine sko, hvor din hæl vil hvile. Det anbefales ikke at lodde stifterne på kraftføleren, fordi varmen fra loddejernet kan smelte sensorens plast væk. Så det er bedre, hvis du limer det eller båndbånd det.
- Brug endelig en lynlås til at binde alle snørebånd til servomotoren, så når motoren roterer, trækker den alle snørebånd på én gang.
Sørg for, at LED'ens positive ledning er tilsluttet pin2 i Arduino. Vcc og jordstiften på Force Sensor tilsluttes 5V og jorden på Arduino, og IN-stiften på force sensoren vil blive forbundet til A0-stiften på Arduino-kortet. Tilslut til sidst servomotorstifterne til motorskærmen, så du ikke opretter en forkert forbindelse.
Trin 5: Kom godt i gang med Arduino
Hvis du ikke er bekendt med Arduino IDE før, skal du ikke bekymre dig, for nedenfor kan du se klare trin til at brænde kode på mikrocontrolerkortet ved hjælp af Arduino IDE. Du kan downloade den nyeste version af Arduino IDE herfra og følge nedenstående trin:
- Når Arduino-kortet er tilsluttet din pc, skal du åbne "Kontrolpanel" og klikke på "Hardware og lyd". Klik derefter på "Enheder og printere". Find navnet på den port, som dit Arduino-kort er tilsluttet. I mit tilfælde er det "COM14", men det kan være anderledes på din pc.
- Vi bliver nødt til at inkludere et bibliotek for at bruge Servo Motor. Biblioteket er vedhæftet nedenfor i downloadlinket sammen med koden. Gå til Skitse> Inkluder bibliotek> Tilføj .ZIP-bibliotek.
- Åbn nu Arduino IDE. Fra værktøjer skal du indstille Arduino-kortet til Arduino / Genuino UNO.
- Fra den samme værktøjsmenu skal du indstille det portnummer, du så i kontrolpanelet.
- Download nedenstående kode og kopier den til din IDE. For at uploade koden skal du klikke på upload-knappen.
Du kan downloade koden ved at klikke her.
Trin 6: Kode
Koden er ret godt kommenteret og selvforklarende. Men alligevel forklares koden kort nedenfor.
1. I starten medfølger et specielt bibliotek, så servomotoren kan integreres med mikrocontrolkortet og programmeres gennem det. To objekter er oprettet til brug sammen med servomotoren. nogle ben eller Arduino initialiseres, der vil blive forbundet til motordriveren, og nogle variabler er også erklæret, der gemmer nogle midlertidige værdier, som senere vil blive brugt i hovedprogrammet.
#omfatte// inkluderer bibliotek til interface servomotor med mikrocontroller-kort Servo myservo; // opretter servoobjekt 1 Servo myservo2; // opret servoobjekt 2 int forcePin = 0; // analog pin 0 forbundet til tvangssensor int ledetPin = 2; // digital pin 2 forbundet til LED int switchPin = 19; // indstiller oplåsningskontakt til analog pin 5 int valF; // værdi af kraftfølerens int valS; // værdi af switch int threshold = 500; // definerer trykfølerens trykgrænse int servoUnlock = 0; // indstiller hoved servo til neutral unlaced position (0 grader) int servoLock = 180; // indstiller hoved servo til snoet position (180 grader) int servoUnlock2 = 180; // indstiller hjælpeservo til neutral unlaced position (0 grader) int servoLock2 = 0; // indstiller hjælpeservo til snoet position (180 grader)
2. ugyldig opsætning ()er en funktion, der kun kører en gang i starten, når mikrokontrolleren tændes, eller der trykkes på aktiveringsknappen. I denne funktion initialiseres benene på Arduino til brug som INPUT eller OUTPUT. Objekter, der blev oprettet til servomotor før, bruges til at fastgøre servomotoren til den specifikke stift på Arduino-kortet, og servoen flyttes til den oprindelige unlaced-tilstand. Baudrate er også indstillet i denne funktion. Baudrate er den hastighed i bits pr. Sekund, hvormed mikrocontrolleren kommunikerer med de tilsluttede eksterne enheder.
ugyldig opsætning () {Serial.begin // indstilling af baudhastigheden for mikrokontroller pinMode (ledPin, OUTPUT); // digital pin 2 er output til LED pinMode (switchPin, INPUT); // analog pin 5 er input til switch myservo.attach (9); // fastgør servoer til ben 9 myservo2.attach (10); // fastgør servoer til ben 10 myservo.write (servoUnlock); // flyt servo 1 til unlaced positioner myservo2.write (servoUnlock2); // flyt servo 2 til unlaced positioner}
3. ugyldig sløjfe ()er en funktion, der kører gentagne gange i en løkke. For det første læses en analog værdi af kraftføleren. Derefter venter den på, at værdien af kraftføleren passerer en tærskelværdi. Den venter på, at foden sætter sig helt på plads og sætter begge servoer i en låseposition. Hvis der trykkes på afbryderne, indstilles servoen til at låse op og venter, indtil LED'en blinker syv gange.
ugyldig sløjfe () {valF = analogRead (forcePin); // aflæsningsværdi af kraftføler valS = digitalRead (switchPin); // aflæsningsværdien af kontakten, hvis (valF> = terskHold) {// venter på, at kraftføleren er lig med eller passerer trykgrænsen og derefter: forsinkelse (1000); // venter på, at foden sætter sig på plads i sko myservo2.write (servoLock2); // indstiller hjælpeservo til forsinket låst position (1000); // venter et sekund myservo.write (servoLock); // indstiller hovedservoen til forsinket låst position (1000); // venter et sekund digitalWrite (ledPin, HIGH); // tænder LED indtil servo ulåst. Fjern denne linje for at spare batterilevetid. } hvis (valS == HIGH) {// venter på, at der trykkes på kontakten, og derefter: myservo2.write (servoUnlock2); // låser ekstra servoforsinkelse op (1000); // venter to sekunder myservo.write (servoUnlock); // låser hoved servoforsinkelse op (500); // vent, blink derefter LED 7 gange digitalWrite (ledPin, LOW); forsinkelse (200); digitalWrite (ledPin, HIGH); forsinkelse (200); digitalWrite (ledPin, LOW); forsinkelse (200); digitalWrite (ledPin, HIGH); forsinkelse (200); digitalWrite (ledPin, LOW); forsinkelse (200); digitalWrite (ledPin, HIGH); forsinkelse (200); digitalWrite (ledPin, LOW); forsinkelse (200); digitalWrite (ledPin, HIGH); forsinkelse (200); digitalWrite (ledPin, LOW); forsinkelse (200); digitalWrite (ledPin, HIGH); forsinkelse (200); digitalWrite (ledPin, LOW); forsinkelse (200); digitalWrite (ledPin, HIGH); forsinkelse (200); digitalWrite (ledPin, LOW); forsinkelse (200); digitalWrite (ledPin, HIGH); forsinkelse (200); digitalWrite (ledPin, LOW); // slukker LED-forsinkelse (1000); }}
Så dette var hele proceduren for at lave et show, der automatisk binder sine snørebånd af sig selv ved hjælp af en servomotor, mikrokontroller og et motorskærm. Nu som du kender hele denne procedure, kan du nyde at lave dit AutoLacing Show hjemme hos dig.