Hoe maak je een auto-veterschoen met Arduino?

In het moderne tijdperk proberen wetenschappers en ingenieurs alles geautomatiseerd te maken. Het betekent dat alles vanzelf zal werken zonder enige menselijke inspanning. In de samenleving werd een veel voorkomend probleem geconstateerd dat sommige mensen moeite hebben om zelf hun schoenveters te strikken. Deze mensen zijn onder meer gehandicapten, mensen met rugpijn, kinderen en tot op zekere hoogte blinden. Er moet dus een oplossing worden gevonden zodat deze mensen dit niet als een probleem zien.

In dit project gaan we een Automatic Lacing-show maken die automatisch de veters zal strikken zonder enige menselijke inspanning. Het zal het doen met behulp van een microcontrollerbord, een motorschildsensor en een servomotor, zodra men de voet in de schoen plaatst.

Hoe u uw show automatisch kunt aanpassen met Arduino?

Nu we de samenvatting van het project kennen, kunnen we beginnen met het verzamelen van meer informatie en de procedure doorlopen om deze AutoLace-schoen te maken met Arduino.

Stap 1: De componenten verzamelen

De beste benadering om een ​​project te starten, is door een lijst met componenten te maken en deze componenten kort te bestuderen, omdat niemand midden in een project wil blijven staan ​​alleen omdat er een component ontbreekt. Een lijst met componenten die we in dit project gaan gebruiken, wordt hieronder gegeven:

Stap 2: de componenten bestuderen

Nu we de samenvatting van ons project kennen en we ook een volledige lijst van alle componenten hebben, laten we een stap verder gaan en een korte studie doornemen van de componenten die we gaan gebruiken.

Seeeduino v4.2is een van de beste Arduino-compatibele boards ter wereld die is gebaseerd op microcontroller Atmega 328 MCU. omdat het gemakkelijk te gebruiken, stabieler en het ziet er beter uit dan veel andere boards. Het is gebaseerd op de Arduino-bootloader. het heeft een ATMEGA16U2 als een UART-naar-USB-converter waardoor het als FTDI-chip kan worden gebruikt. het is verbonden met de computer met behulp van een micro-USB-kabel die over het algemeen een Android-kabel wordt genoemd. Een DC-aansluiting kan ook worden gebruikt om het bord van stroom te voorzien. het ingangsvermogen moet van 7V tot 15V zijn.

Arduino Motor Shield stelt u in staat om moeiteloos de motorrichting en -snelheid te regelen met behulp van een Arduino. Doordat u alleen Arduino-pinnen kunt adresseren, wordt het gemakkelijk om elke motor in uw onderneming te rijden. Bovendien heeft u de mogelijkheid om een ​​motor aan te sturen met een andere voeding tot 12v. Het beste van alles is dat het schild heel gemakkelijk te vinden is. Om al deze redenen is het Arduino Motor Shield een cool klein beetje om in je arsenaal te hebben voor snelle prototyping en algemeen experimenteren.

Krachtsensorweerstanden (FSR's)zijn zeer eenvoudige en gemakkelijk te gebruiken druksensoren. De obstructie van een FSR hangt af van het gewicht dat wordt uitgeoefend op het detectiegebied. Hoe meer gewicht u toepast, hoe lager de oppositie. Het obstakelbereik is behoorlijk groot:> 10 MΩ (geen gewicht) tot ~ 200 Ω (max. Gewicht). De meeste FSR's kunnen vermogen detecteren in het bereik van 100 g tot 10 kg. Een FSR bestaat uit twee lagen en een spacer-lijm. De geleidende lagen worden geïsoleerd door een smalle luchtspleet wanneer er geen gewicht wordt toegepast. Een van de films bevat twee sporen die van de staart naar het detectiegebied (het ronde deel) lopen. Deze sporen zijn met elkaar verweven, maar maken geen contact. De andere film is bedekt met een toonaangevende inkt. Wanneer u op de sensor drukt, kortsluit de inkt de twee sporen samen met een oppositie die afhankelijk is van het gewicht.

EEN Servomotoris een roterende of lineaire actuator die in exacte stappen kan worden aangestuurd en verplaatst. Deze motoren verschillen van DC-motoren. Deze motoren maken een nauwkeurige regeling van hoek- of roterende bewegingen mogelijk. Deze motor is gekoppeld aan een sensor die feedback geeft over zijn beweging.

Stap 3: Werkingsprincipe

Het werkingsprincipe van dit project is heel eenvoudig. Een krachtsensor zal worden gebruikt om te detecteren of de voet in de show is geplaatst of niet. Als het de voet detecteert, stuurt het een signaal naar het Arduino-bord dat een servomotor zal bewegen met behulp van een Arduino Motor Shield. Deze servomotor zal zo bewegen dat hij alle veters tegelijk trekt. Hierdoor worden automatisch alle veters van de schoen gestrikt.

Stap 4: Montage van de componenten

Nu we het hoofdidee en het werkingsprincipe achter dit project kennen, laten we een stap verder gaan en beginnen met het samenstellen van alles om een ​​show te maken die zichzelf automatisch zal lassen. Doorloop de onderstaande stappen om een ​​eindproduct te maken:

  1. Knip allereerst een kleine metalen plaat af zodat deze aan de achterkant van de show wordt bevestigd. Gebruik een synthetische stof zodat deze permanent hecht en niet losraakt. Zorg ervoor dat je een opening laat tussen de metalen plaat en de show, want we zullen wat kabelbinders uit die opening halen.
  2. Neem nu twee servomotoren en bevestig deze met hete lijm aan de metalen plaat. Om dit permanent vast te maken, gebruikt u kabelbinders eromheen zodat deze servomotoren later niet bewegen. Nadat de servomotoren in gang zijn gezet, knipt u de extra kabel die overblijft door.
  3. Monteer nu een batterijhouder onder de motoren zodat de aan / uit-schakelaar naar buiten wijst.
  4. Bevestig nu het Arduino-bord op de motoren. Voordat het motorschild met de Arduino wordt verbonden, moeten er enkele dingen aan het circuit worden toegevoegd.
  5. Neem een ​​LED en soldeer een weerstand aan zijn positieve poot en soldeer een kort stuk draad aan de negatieve poot en het andere pootje van de weerstand. Sluit dit geheel vervolgens aan op de Arduino en duw het naar een van de ongebruikte schoenveteraansluitingen.
  6. Neem nu een Krachtsensoren plaats het in uw schoenen waar uw hiel zal rusten. het is niet aan te raden om de pinnen van de krachtsensor te solderen omdat de hitte van de soldeerbout het plastic van de sensor kan wegsmelten. Het is dus beter als u het lijmt of met ducttape.
  7. Gebruik ten slotte een ritssluiting om alle veters aan de servomotor te binden, zodat wanneer de motor draait, deze aan alle veters tegelijk trekt.

Zorg ervoor dat de positieve draad van de LED is aangesloten op pin2 van Arduino. De Vcc en aardingspin van de Force Sensor worden verbonden met de 5V en massa van de Arduino en de IN-pin van de krachtsensor wordt verbonden met de A0-pin van het Arduino-bord. Sluit ten slotte de servomotorpennen voorzichtig aan op het motorschild, zodat u geen verkeerde verbinding maakt.

Stap 5: Aan de slag met Arduino

Maak je geen zorgen als je nog niet bekend bent met Arduino IDE, want hieronder zie je duidelijke stappen voor het branden van code op het microcontrollerbord met Arduino IDE. U kunt de nieuwste versie van Arduino IDE hier downloaden en de onderstaande stappen volgen:

  1. Wanneer het Arduino-bord is aangesloten op uw pc, opent u "Configuratiescherm" en klikt u op "Hardware en geluid". Klik vervolgens op "Apparaten en printers". Zoek de naam van de poort waarop uw Arduino-bord is aangesloten. In mijn geval is dit "COM14", maar het kan op uw pc anders zijn.
  2. We zullen een bibliotheek moeten toevoegen om Servomotor te gebruiken. De bibliotheek is hieronder in de downloadlink bijgevoegd, samen met de code. Ga naar Schets> Bibliotheek opnemen> .ZIP-bibliotheek toevoegen.
  3. Open nu de Arduino IDE. Stel vanuit Tools het Arduino-bord in op Arduino / Genuino UNO.
  4. Stel vanuit hetzelfde Tool-menu het poortnummer in dat u in het bedieningspaneel hebt gezien.
  5. Download de onderstaande code en kopieer deze naar uw IDE. Om de code te uploaden, klikt u op de uploadknop.

U kunt de code downloaden door hier te klikken.

Stap 6: Code

De code is vrij goed becommentarieerd en spreekt voor zich. Maar toch wordt de code hieronder kort uitgelegd.

1. Bij de start is een speciale bibliotheek inbegrepen, zodat de servomotor kan worden geïntegreerd met de microcontroller-kaart en er doorheen kan worden geprogrammeerd. Er zijn twee objecten gemaakt om te worden gebruikt met de servomotor. sommige pinnen of Arduino worden geïnitialiseerd die worden verbonden met de motorstuurprogramma en sommige variabelen worden ook gedeclareerd die enkele tijdelijke waarden opslaan die later in het hoofdprogramma zullen worden gebruikt.

#inclusief       // inclusief bibliotheek om servomotor te koppelen aan miccrocontroller-kaart Servo myservo; // creëert servo objec 1 Servo myservo2; // maak servo-object 2 int forcePin = 0; // analoge pin 0 aangesloten op krachtsensor int ledPin = 2; // digitale pin 2 verbonden met LED int switchPin = 19; // stelt de ontgrendelingsschakelaar in op analoge pin 5 int valF; // waarde van krachtsensor int valS; // waarde van switch int thresHold = 500; // definieert de drukdrempel van de krachtsensor int servoUnlock = 0; // stelt de hoofdservo in op neutrale positie zonder regel (0 graden) int servoLock = 180; // zet de hoofdservo in de geregen positie (180 graden) int servoUnlock2 = 180; // stelt hulpservo in op neutrale positie zonder regel (0 graden) int servoLock2 = 0; // stelt hulpservo in op geregen positie (180 graden)

2. leegte setup ()is een functie die in het begin slechts één keer wordt uitgevoerd wanneer de microcontroller wordt ingeschakeld of de inschakelknop wordt ingedrukt. In deze functie worden de pinnen van de Arduino geïnitialiseerd om te worden gebruikt als INPUT of OUTPUT. Objecten die eerder voor servomotoren zijn gemaakt, worden gebruikt om de servomotor aan de specifieke pin van het Arduino-bord te bevestigen en de servo wordt naar de oorspronkelijke niet-gelocaliseerde toestand verplaatst. In deze functie wordt ook de baudrate ingesteld. Baudrate is de snelheid in bits per seconde waarmee de microcontroller communiceert met de aangesloten externe apparaten.

void setup () {Serial.begin // instelling van de baudrate van de microcontroller pinMode (ledPin, OUTPUT); // digitale pin 2 is output voor LED pinMode (switchPin, INPUT); // Analoge pin 5 is input voor schakelaar myservo.attach (9); // verbindt de servo's aan pinnen 9 myservo2.attach (10); // verbindt de servo's aan pinnen 10 myservo.write (servoUnlock); // verplaats servo 1 naar niet-geplaatste posities myservo2.write (servoUnlock2); // verplaats servo 2 naar niet-geplaatste posities}

3. leegte lus ()is een functie die herhaaldelijk in een lus wordt uitgevoerd. Ten eerste wordt een analoge waarde gelezen door de krachtsensor. Vervolgens wacht het tot de waarde van de krachtsensor een drempelwaarde overschrijdt. Het wacht tot de voet volledig op zijn plaats zit en zet beide servo's in een vergrendelde positie. Als de schakelaars worden ingedrukt, wordt de servo ingesteld om te ontgrendelen en zal hij wachten tot de LED zeven keer knippert.

void loop() {valF = analogRead(forcePin); // lees waarde van krachtsensor valS = digitalRead (switchPin); // lees waarde van schakelaar if (valF> = thresHold) {// wacht tot krachtsensor gelijk is aan of passeert de drukdrempel en dan: delay (1000); // wacht tot de voet op zijn plaats zit in schoen myservo2.write (servoLock2); // stelt hulpservo in op vergrendelde positievertraging (1000); // wacht een seconde myservo.write (servoLock); // zet de hoofdservo op vergrendelde positievertraging (1000); // wacht een seconde digitalWrite (ledPin, HIGH); // schakelt de LED in totdat de servo ontgrendeld is. Verwijder deze lijn om de batterij te sparen. } if (valS == HIGH) {// wacht tot de schakelaar wordt ingedrukt, en dan: myservo2.write (servoUnlock2); // ontgrendelt hulpservovertraging (1000); // wacht twee seconden myservo.write (servoUnlock); // ontgrendelt de hoofdservo-vertraging (500); // wacht, dan knipperen LED 7 keer digitalWrite (ledPin, LOW); vertraging (200); digitalWrite (ledPin, HIGH); vertraging (200); digitalWrite (ledPin, LOW); vertraging (200); digitalWrite (ledPin, HIGH); vertraging (200); digitalWrite (ledPin, LOW); vertraging (200); digitalWrite (ledPin, HIGH); vertraging (200); digitalWrite (ledPin, LOW); vertraging (200); digitalWrite (ledPin, HIGH); vertraging (200); digitalWrite (ledPin, LOW); vertraging (200); digitalWrite (ledPin, HOOG); vertraging (200); digitalWrite (ledPin, LOW); vertraging (200); digitalWrite (ledPin, HIGH); vertraging (200); digitalWrite (ledPin, LOW); vertraging (200); digitalWrite (ledPin, HIGH); vertraging (200); digitalWrite (ledPin, LAAG); // schakelt LED vertraging uit (1000); }}

Dus dit was de hele procedure om een ​​show te maken die automatisch zijn veters bindt met behulp van een servomotor, microcontroller en een motorschild. Nu u deze hele procedure kent, kunt u er van genieten om uw AutoLacing Show bij u thuis te maken.

Facebook Twitter Google Plus Pinterest