Hur man gör en autosnörningsko med Arduino?
Under den moderna eran försöker forskare och ingenjörer göra allt automatiserat. Det betyder att allt kommer att fungera på egen hand utan någon mänsklig ansträngning. Ett mycket vanligt problem identifierades i samhället att vissa människor har problem med att binda sina skosnören på egen hand. Dessa personer inkluderar funktionshindrade, personer med ryggsmärta, barn och blinda till viss del. Så en lösning ska göras så att dessa människor inte ser detta som ett problem.
I det här projektet ska vi göra en automatisk snörning som automatiskt knyter snöret utan mänsklig ansträngning. Det kommer att göra det med hjälp av mikrokontrollkort, en motorskyddssensor och en servomotor så snart en placerar foten inuti skon.
Hur kan du automatiskt spetsa din show med Arduino?
Nu, som vi känner till sammandraget av projektet, låt oss börja samla in mer information och gå igenom proceduren för hur man gör denna AutoLace-sko med Arduino.
Steg 1: Samla in komponenterna
Det bästa sättet att starta något projekt är att göra en lista över komponenter och gå igenom en kort studie av dessa komponenter eftersom ingen vill sticka mitt i ett projekt bara på grund av en saknad komponent. En lista över komponenter som vi ska använda i detta projekt ges nedan:
Steg 2: Studera komponenterna
Nu när vi känner till vårt projekts sammanfattning och vi också har en fullständig lista över alla komponenter, låt oss gå ett steg framåt och gå igenom en kort studie av de komponenter vi ska använda.
Seeeduino v4.2är en av de bästa Arduino-kompatibla korten i världen som är baserad på mikrokontrollern Atmega 328 MCU. eftersom det är lätt att använda, mer stabilt och det ser bättre ut än många andra brädor. Den är baserad på Arduino bootloader. den har en ATMEGA16U2 som en UART-till-USB-omvandlare eftersom den kan användas som ett FTDI-chip. den ansluts till datorn med en mikro-USB-kabel som vanligtvis kallas en Android-kabel. Ett DC-uttag kan också användas för att driva kortet. ingångseffekten måste vara från 7V till 15V.
Arduino Motor Shield gör att du enkelt kan styra motorns riktning och hastighet med hjälp av en Arduino. Genom att låta dig bara adressera Arduino-stift gör det det enkelt att köra vilken motor som helst i ditt företag. Det ger dig dessutom möjlighet att styra en motor med en annan strömförsörjning på upp till 12v. Bäst av allt är att skölden är mycket lätt att hitta. Av alla dessa skäl är Arduino Motor Shield en cool liten att ha i din arsenal för snabb prototypning och allmänt experiment.
Motstånd för kraftsensorer (FSR)är mycket enkla och lätta att använda trycksensorer. Hindringen av en FSR är beroende av vikten som appliceras på detekterande territoriet. Ju mer vikt du tillämpar, desto lägre är oppositionen. Hinderområdet är ganska stort:> 10 MΩ (ingen vikt) till ~ 200 Ω (max vikt). De flesta FSR: er kan upptäcka effekt inom intervallet 100 g till 10 kg. En FSR består av två lager och ett distanslim. De ledande skikten isoleras med ett tunt luftspalt när ingen vikt appliceras. En av filmerna innehåller två spår som går från svansen till detekteringsområdet (den runda delen). Dessa spår vävs ihop, men kommer inte i kontakt. Den andra filmen är täckt med en ledande bläck. När du trycker på sensorn kortsluter bläcket de två spåren tillsammans med en motstånd som förlitar sig på vikten.
A Servomotorär en roterande eller en linjär manöverdon som kan styras och flyttas i exakt steg. Dessa motorer skiljer sig från likströmsmotorer. Dessa motorer möjliggör exakt kontroll av vinkel- eller rotationsrörelse. Denna motor är kopplad till en sensor som skickar feedback om sin rörelse.
Steg 3: Arbetsprincip
Arbetsprincipen för detta projekt är mycket enkel. En kraftsensor kommer att användas för att upptäcka om foten placeras i showen eller inte. Om den upptäcker foten kommer den att skicka en signal till Arduino-kortet som flyttar en servomotor med hjälp av en Arduino Motor Shield. Denna servomotor kommer att röra sig på ett sådant sätt att den drar i alla snören samtidigt. Därför knyter man automatiskt alla skosnören.
Steg 4: Montering av komponenterna
Nu som vi känner till huvudidén och arbetsprincipen bakom detta projekt, låt oss gå ett steg framåt och börja montera allt för att göra en show som automatiskt kommer att ta sig själv. För att skapa en slutprodukt, gå igenom stegen nedan:
- Trimma först en liten metallplatta så att den fixeras på baksidan av showen. Använd en syntet så att den fixeras permanent och inte lossnar. Se till att du lämnar ett mellanrum mellan metallplattan och utställningen eftersom vi kommer att passera några kabelband från det gapet.
- Ta nu två servomotorer och fäst dem på metallplattan med varmt lim. Nu för att göra detta fixat permanent, använd dragkedjor runt dem så att dessa servomotorer inte rör sig senare. När servomotorerna är i takt, klipp av den extra kabeln som finns kvar.
- Montera nu ett batterifodral under motorerna så att strömbrytaren är utåt.
- Fäst nu Arduino-kortet på motorerna. Innan du ansluter motorskyddet till Arduino måste några saker läggas till i kretsen.
- Ta en LED och löd ett motstånd till dess positiva ben och löd en kort ledningslängd till det negativa benet och det andra benet på motståndet. Anslut sedan denna enhet till Arduino och skjut den till en av de oanvända skosnören.
- Ta nu en Kraftsensoroch placera den i dina skor där din häl kommer att vila. det rekommenderas inte att lödda kraftsensorns stift eftersom lödkolvets värme kan smälta bort sensorns plast. Så det är bättre om du limmar det eller tejper det.
- Slutligen använd en dragkedja för att fästa alla snören på servomotorn, så att när motorn roterar drar den alla snören åt gången.
Se till att LED: ns positiva ledning är ansluten till pin2 i Arduino. Kraftsensorns Vcc och jordstift kommer att anslutas till 5V och jord på Arduino och IN-stift på kraftsensorn kommer att anslutas till A0-stiftet på Arduino-kortet. Anslut slutligen servomotorns stift till motorskyddet så att du inte gör fel anslutning.
Steg 5: Komma igång med Arduino
Om du inte känner till Arduino IDE tidigare, oroa dig inte, för nedan kan du se tydliga steg för att bränna kod på mikrokontrollkortet med Arduino IDE. Du kan ladda ner den senaste versionen av Arduino IDE härifrån och följ stegen nedan:
- När Arduino-kortet är anslutet till din dator öppnar du "Kontrollpanelen" och klickar på "Hårdvara och ljud". Klicka sedan på "Enheter och skrivare". Hitta namnet på den port som Arduino-kortet är anslutet till. I mitt fall är det “COM14” men det kan vara annorlunda på din dator.
- Vi måste inkludera ett bibliotek för att använda Servo Motor. Biblioteket bifogas nedan i nedladdningslänken tillsammans med koden. Gå till Skiss> Inkludera bibliotek> Lägg till .ZIP-bibliotek.
- Öppna nu Arduino IDE. Från Verktyg ställer du Arduino-kortet till Arduino / Genuino UNO.
- Från samma verktygsmeny ställer du in portnumret som du såg på kontrollpanelen.
- Ladda ner koden som bifogas nedan och kopiera den till din IDE. Klicka på uppladdningsknappen för att ladda upp koden.
Du kan ladda ner koden genom att klicka här.
Steg 6: Kod
Koden är ganska bra kommenterad och självförklarande. Men ändå förklaras koden kort nedan.
1. I början ingår ett speciellt bibliotek så att servomotorn kan integreras med mikrokontrollkortet och programmeras genom det. Två objekt skapas för att användas med servomotorn. några stift eller Arduino initialiseras som kommer att anslutas till motorföraren och vissa variabler deklareras också som sparar några tillfälliga värden som senare kommer att användas i huvudprogrammet.
#omfatta// inkludera bibliotek för att ansluta servomotor med mikrocontroller-kort Servo myservo; // skapar servoobjekt 1 Servo myservo2; // skapa servoobjekt 2 int forcePin = 0; // analog stift 0 ansluten till kraftsensor int leddPin = 2; // digital stift 2 ansluten till LED int switchPin = 19; // ställer upplåsningsomkopplare till analog stift 5 int valF; // värde på kraftsensorns int valS; // värde för switch int threshold = 500; // definierar trycktröskel för kraftsensor int servoUnlock = 0; // ställer huvud servo till neutralt unlaced läge (0 grader) int servoLock = 180; // ställer huvud servo till snört läge (180 grader) int servoUnlock2 = 180; // ställer extra servo till neutralt oljat läge (0 grader) int servoLock2 = 0; // ställer extra servo till snörat läge (180 grader)
2. ogiltig installation ()är en funktion som bara körs en gång i starten när mikrokontrollern slås på eller aktiverings-knappen trycks in. I den här funktionen initialiseras Arduino-stiften för att användas som INPUT eller OUTPUT. Föremål som skapades för servomotorn tidigare används för att fästa servomotorn på den specifika stiftet på Arduino-kortet och servon flyttas till det ursprungliga olastade tillståndet. Baud Rate ställs också in i denna funktion. Baud Rate är hastigheten i bitar per sekund med vilken mikrokontrollern kommunicerar med de anslutna externa enheterna.
void setup () {Serial.begin // ställer in baudhastigheten för mikrokontroller pinMode (ledPin, OUTPUT); // digital pin 2 matas ut för LED pinMode (switchPin, INPUT); // analog stift 5 är ingång för switch myservo.attach (9); // fäster servon på stift 9 myservo2.attach (10); // fäster servon på stift 10 myservo.write (servoUnlock); // flytta servo 1 till unlaced positioner myservo2.write (servoUnlock2); // flytta servo 2 till olastade positioner}
3. ogiltig slinga ()är en funktion som körs upprepade gånger i en slinga. Först läses ett analogt värde av kraftsensorn. Sedan väntar den på att värdet på kraftsensorn ska passera ett tröskelvärde. Den kommer att vänta på att foten har lagt sig helt och hållet och kommer att ställa båda servorna i låst läge. Om omkopplarna trycks in kommer servon att ställas in för att låsa upp och vänta tills lysdioden blinkar sju gånger.
void loop () {valF = analogRead (forcePin); // läsvärde för kraftsensor valS = digitalRead (switchPin); // läsvärdet på omkopplaren om (valF> = tröskhåll) {// väntar på att kraftsensorn är lika med eller passerar tröskeln och sedan: fördröjning (1000) // väntar på att foten ska sätta sig på plats i sko myservo2.write (servoLock2); // ställer extra servo till fördröjd låst position (1000); // väntar en sekund myservo.write (servoLock); // ställer huvudservern till fördröjd låst position (1000) // väntar en sekund digitalWrite (ledPin, HIGH); // tänder LED tills servo är olåst. Ta bort den här linjen för att spara batteritid. } om (valS == HIGH) {// väntar på att omkopplaren ska tryckas, och sedan: myservo2.write (servoUnlock2); // låser upp extra servofördröjning (1000); // väntar två sekunder myservo.write (servoUnlock); // låser upp huvud servofördröjning (500); // vänta, sedan blinka LED 7 gånger digitalWrite (ledPin, LOW); fördröjning (200); digitalWrite (ledPin, HIGH); fördröjning (200); digitalWrite (ledPin, LOW); fördröjning (200); digitalWrite (ledPin, HIGH); fördröjning (200); digitalWrite (ledPin, LOW); fördröjning (200); digitalWrite (ledPin, HIGH); fördröjning (200); digitalWrite (ledPin, LOW); fördröjning (200); digitalWrite (ledPin, HIGH); fördröjning (200); digitalWrite (ledPin, LOW); fördröjning (200); digitalWrite (ledPin, HIGH); fördröjning (200); digitalWrite (ledPin, LOW); fördröjning (200); digitalWrite (ledPin, HIGH); fördröjning (200); digitalWrite (ledPin, LOW); fördröjning (200); digitalWrite (ledPin, HIGH); fördröjning (200); digitalWrite (ledPin, LOW); // stänger av LED-fördröjning (1000); }}
Så detta var hela proceduren för att göra en show som automatiskt binder sina snör åt sig själv med hjälp av en servomotor, mikrokontroller och en motorsköld. Nu som du vet hela proceduren kan du njuta av att göra din AutoLacing Show hemma.