Wie erstelle ich einen AutoLacing-Schuh mit Arduino?
In der Neuzeit versuchen Wissenschaftler und Ingenieure, alles zu automatisieren. Es bedeutet, dass alles ohne menschliche Anstrengung von alleine funktioniert. In der Gesellschaft wurde ein sehr häufiges Problem festgestellt, dass manche Menschen Schwierigkeiten haben, ihre Schnürsenkel selbst zu binden. Zu diesen Menschen zählen Behinderte, Menschen mit Rückenschmerzen, Kinder und bis zu einem gewissen Grad Blinde. Es muss also eine Lösung gefunden werden, damit diese Leute dies nicht als Problem ansehen.
In diesem Projekt werden wir eine automatische Schnürung zeigen, bei der die Schnürsenkel ohne menschliche Anstrengung automatisch gebunden werden. Dies geschieht mit Hilfe einer Mikrocontroller-Platine, eines Motorschutzsensors und eines Servomotors, sobald man den Fuß in den Schuh setzt.
Wie Sie Ihre Show mit Arduino automatisch schnüren?
Nun, da wir die Zusammenfassung des Projekts kennen, lassen Sie uns beginnen, weitere Informationen zu sammeln und das Verfahren zur Herstellung dieses AutoLace-Schuhs mit Arduino durchzugehen.
Schritt 1: Sammeln der Komponenten
Der beste Ansatz, um ein Projekt zu starten, besteht darin, eine Liste der Komponenten zu erstellen und diese Komponenten kurz zu untersuchen, da niemand nur wegen einer fehlenden Komponente in der Mitte eines Projekts bleiben möchte. Eine Liste der Komponenten, die wir in diesem Projekt verwenden werden, finden Sie unten:
Schritt 2: Studium der Komponenten
Da wir nun die Zusammenfassung unseres Projekts kennen und auch eine vollständige Liste aller Komponenten haben, gehen wir einen Schritt weiter und gehen eine kurze Studie über die Komponenten durch, die wir verwenden werden.
Seeeduino v4.2ist eines der besten Arduino-kompatiblen Boards der Welt, das auf dem Mikrocontroller Atmega 328 MCU basiert. weil es einfach zu bedienen, stabiler und besser aussieht als viele andere Boards. Es basiert auf dem Arduino Bootloader. Es verfügt über einen ATMEGA16U2 als UART-zu-USB-Wandler, von dem es als FTDI-Chip verwendet werden kann. Die Verbindung zum Computer erfolgt über ein Micro-USB-Kabel, das im Allgemeinen als Android-Kabel bezeichnet wird. Eine DC-Buchse kann auch zur Stromversorgung der Karte verwendet werden. Die Eingangsleistung muss zwischen 7V und 15V liegen.
Arduino-Motorschild Mit dieser Funktion können Sie die Motorrichtung und -geschwindigkeit mithilfe eines Arduino mühelos steuern. Indem Sie nur Arduino-Pins adressieren können, ist es einfach, jeden Motor in Ihr Unternehmen zu integrieren. Es bietet Ihnen zusätzlich die Möglichkeit, einen Motor mit einer anderen Stromversorgung von bis zu 12 V zu steuern. Das Beste ist, dass der Schild sehr leicht zu finden ist. Aus all diesen Gründen ist das Arduino Motor Shield ein cooles kleines Element für schnelles Prototyping und allgemeines Experimentieren in Ihrem Arsenal.
Kraftsensorwiderstände (FSRs)sind sehr einfach und leicht zu bedienende Drucksensoren. Die Behinderung eines FSR hängt von dem Gewicht ab, das auf das Erfassungsgebiet ausgeübt wird. Je mehr Gewicht Sie anwenden, desto geringer ist der Widerstand. Der Hindernisbereich ist ziemlich groß:> 10 MΩ (kein Gewicht) bis ~ 200 Ω (maximales Gewicht). Die meisten FSRs können eine Leistung im Bereich von 100 g bis 10 kg erfassen. Ein FSR besteht aus zwei Schichten und einem Abstandskleber. Die leitenden Schichten sind durch einen schmalen Luftspalt isoliert, wenn kein Gewicht aufgebracht wird. Einer der Filme enthält zwei Spuren, die vom Schwanz zum Erfassungsbereich (dem runden Teil) verlaufen. Diese Spuren sind miteinander verwoben, berühren sich jedoch nicht. Der andere Film ist mit einer führenden Tinte bedeckt. Wenn Sie auf den Sensor drücken, schließt die Tinte die beiden Spuren zusammen mit einem Widerstand, der vom Gewicht abhängt.
EIN Servomotorist ein rotatorischer oder linearer Aktuator, der in exakten Schritten gesteuert und bewegt werden kann. Diese Motoren unterscheiden sich von Gleichstrommotoren. Diese Motoren ermöglichen die präzise Steuerung von Winkel- oder Drehbewegungen. Dieser Motor ist mit einem Sensor gekoppelt, der eine Rückmeldung über seine Bewegung sendet.
Schritt 3: Arbeitsprinzip
Das Arbeitsprinzip dieses Projekts ist sehr einfach. Ein Kraftsensor wird verwendet, um zu erkennen, ob der Fuß in der Show platziert ist oder nicht. Wenn es den Fuß erkennt, sendet es ein Signal an die Arduino-Platine, die einen Servomotor mit Hilfe eines Arduino-Motorschilds bewegt. Dieser Servomotor bewegt sich so, dass alle Schnürsenkel gleichzeitig gezogen werden. Daher werden automatisch alle Schnürsenkel des Schuhs gebunden.
Schritt 4: Zusammenbau der Komponenten
Jetzt, da wir die Hauptidee und das Arbeitsprinzip hinter diesem Projekt kennen, gehen wir einen Schritt voraus und beginnen, alles zusammenzustellen, um eine Show zu machen, die sich automatisch von selbst löst. Führen Sie die folgenden Schritte aus, um ein Endprodukt herzustellen:
- Schneiden Sie zunächst eine kleine Metallplatte so, dass sie auf der Rückseite der Show befestigt ist. Verwenden Sie einen Kunststoff, damit er dauerhaft fixiert und sich nicht löst. Achten Sie darauf, dass Sie eine Lücke zwischen der Metallplatte und der Show lassen, da wir einige Kabelbinder durch diese Lücke führen.
- Nehmen Sie nun zwei Servomotoren und befestigen Sie sie mit Heißkleber an der Metallplatte. Um dies dauerhaft zu fixieren, verwenden Sie Kabelbinder um sie herum, damit sich diese Servomotoren später nicht bewegen. Nachdem die Servomotoren auf Tempo sind, schneiden Sie das verbleibende zusätzliche Kabel ab.
- Montieren Sie nun ein Batteriegehäuse so unter den Motoren, dass der Netzschalter nach außen zeigt.
- Befestigen Sie nun die Arduino-Platine an den Motoren. Bevor Sie die Motorabschirmung mit dem Arduino verbinden, müssen einige Dinge zur Schaltung hinzugefügt werden.
- Nehmen Sie eine LED und löten Sie einen Widerstand an den positiven Schenkel und ein kurzes Stück Draht an den negativen Schenkel und den anderen Schenkel des Widerstands. Verbinden Sie dann diese Baugruppe mit dem Arduino und schieben Sie sie in eine der nicht verwendeten Schnürsenkelbuchsen.
- Nehmen Sie jetzt eine Kraftsensorund legen Sie es in Ihre Schuhe, wo Ihre Ferse ruhen wird. Es wird nicht empfohlen, die Stifte des Kraftsensors zu löten, da die Wärme des Lötkolbens den Kunststoff des Sensors wegschmelzen kann. Es ist also besser, wenn Sie es kleben oder mit Klebeband versehen.
- Verwenden Sie zum Schluss einen Kabelbinder, um alle Schnürsenkel am Servomotor zu befestigen, sodass beim Drehen des Motors alle Schnürsenkel gleichzeitig gezogen werden.
Stellen Sie sicher, dass der positive Draht der LED mit Pin2 von Arduino verbunden ist. Der Vcc- und Massepin des Kraftsensors wird mit 5V und Masse des Arduino verbunden und der IN-Pin des Kraftsensors wird mit dem A0-Pin des Arduino-Boards verbunden. Stecken Sie zum Schluss die Servomotorstifte vorsichtig in die Motorabschirmung, damit Sie keine falsche Verbindung herstellen.
Schritt 5: Erste Schritte mit Arduino
Wenn Sie mit Arduino IDE noch nicht vertraut sind, machen Sie sich keine Sorgen, denn unten sehen Sie klare Schritte zum Brennen von Code auf der Mikrocontroller-Karte mit Arduino IDE. Sie können die neueste Version von Arduino IDE hier herunterladen und die folgenden Schritte ausführen:
- Wenn die Arduino-Karte an Ihren PC angeschlossen ist, öffnen Sie die Systemsteuerung und klicken Sie auf „Hardware und Sound“. Klicken Sie dann auf "Geräte und Drucker". Suchen Sie den Namen des Ports, an den Ihre Arduino-Karte angeschlossen ist. In meinem Fall ist es "COM14", aber es kann auf Ihrem PC anders sein.
- Wir müssen eine Bibliothek einbinden, um den Servomotor verwenden zu können. Die Bibliothek ist unten im Download-Link zusammen mit dem Code angehängt. Gehe zu Skizze> Bibliothek einschließen> .ZIP-Bibliothek hinzufügen.
- Öffnen Sie nun die Arduino IDE. Stellen Sie unter Tools die Arduino-Karte auf ein Arduino / Genuino UNO.
- Stellen Sie im selben Tool-Menü die Portnummer ein, die Sie in der Systemsteuerung gesehen haben.
- Laden Sie den unten angehängten Code herunter und kopieren Sie ihn in Ihre IDE. Um den Code hochzuladen, klicken Sie auf die Schaltfläche zum Hochladen.
Sie können den Code herunterladen, indem Sie hier klicken.
Schritt 6: Code
Der Code ist ziemlich gut kommentiert und selbsterklärend. Trotzdem wird der Code unten kurz erklärt.
1. Zu Beginn ist eine spezielle Bibliothek enthalten, damit der Servomotor in die Mikrocontroller-Karte integriert und über diese programmiert werden kann. Es werden zwei Objekte erstellt, die mit dem Servomotor verwendet werden sollen. Einige Pins oder Arduino werden initialisiert, die mit dem Motortreiber verbunden werden, und einige Variablen werden ebenfalls deklariert, die einige temporäre Werte speichern, die später im Hauptprogramm verwendet werden.
#einschließen// Bibliothek zur Schnittstelle des Servomotors mit der Mikrocontroller-Karte einschließen Servo myservo; // erstellt Servo-Objekt 1 Servo myservo2; // Servoobjekt 2 erstellen int forcePin = 0; // analoger Pin 0 mit Kraftsensor verbunden int ledPin = 2; // digitaler Pin 2 an LED angeschlossen int switchPin = 19; // setzt den Entriegelungsschalter auf analogen Pin 5 int valF; // Wert des Kraftsensors int valS; // Wert des Schalters int thresHold = 500; // definiert die Druckschwelle des Kraftsensors int servoUnlock = 0; // setzt Hauptservo auf neutrale Position ohne Schnürung (0 Grad) int servoLock = 180; // setzt das Hauptservo auf die geschnürte Position (180 Grad) int servoUnlock2 = 180; // setzt Hilfsservo auf neutrale Position ohne Schnürung (0 Grad) Int servoLock2 = 0; // setzt Hilfsservo auf geschnürte Position (180 Grad)
2. void setup ()ist eine Funktion, die nur einmal beim Start ausgeführt wird, wenn der Mikrocontroller eingeschaltet oder die Freigabetaste gedrückt wird. In dieser Funktion werden die Pins des Arduino initialisiert, um als INPUT oder OUTPUT verwendet zu werden. Objekte, die zuvor für den Servomotor erstellt wurden, werden verwendet, um den Servomotor an dem spezifischen Pin der Arduino-Platine zu befestigen, und das Servo wird in den ursprünglichen Zustand ohne Schnürung gebracht. In dieser Funktion wird auch die Baudrate eingestellt. Die Baudrate ist die Geschwindigkeit in Bit pro Sekunde, mit der der Mikrocontroller mit den angeschlossenen externen Geräten kommuniziert.
Void setup () { Serial.begin // Einstellen der Baudrate des Mikrocontrollers pinMode (ledPin, OUTPUT); // digitaler Pin 2 wird für LED PinMode ausgegeben (switchPin, INPUT); // Analoger Pin 5 ist Eingang für Schalter myservo.attach (9); // bringt die Servos an die Pins 9 an myservo2.attach (10); // hängt die Servos an die Pins 10 an myservo.write (servoUnlock); // Servo 1 in nicht geschnürte Positionen bringen myservo2.write (servoUnlock2); // Servo 2 in nicht geschnürte Positionen bringen}
3. Leere Schleife ()ist eine Funktion, die wiederholt in einer Schleife ausgeführt wird. Zunächst wird ein Analogwert vom Kraftsensor gelesen. Dann wartet es darauf, dass der Wert des Kraftsensors einen Schwellenwert überschreitet. Es wartet, bis sich der Fuß vollständig an seinem Platz festgesetzt hat, und versetzt beide Servos in eine Verriegelungsposition. Wenn die Schalter gedrückt werden, wird das Servo auf Entriegeln eingestellt und wartet, bis die LED sieben Mal blinkt.
void loop () {valF = analogRead (forcePin); // Wert des Kraftsensors lesen valS = digitalRead (switchPin); // Wert des Schalters lesen, wenn (valF> = thresHold) {// darauf wartet, dass der Kraftsensor die Druckschwelle erreicht oder überschreitet, und dann: delay (1000); // wartet, bis der Fuß im Schuh sitzt myservo2.write(servoLock2); // setzt Hilfsservo auf gesperrte Positionsverzögerung (1000); // wartet eine Sekunde myservo.write (servoLock); // setzt Hauptservo auf Locked Position Delay (1000); // wartet eine Sekunde digitalWrite (ledPin, HIGH); // schaltet die LED ein, bis das Servo entsperrt ist. Entfernen Sie diese Leitung, um die Batterielebensdauer zu verlängern. } if (valS == HIGH) {// wartet darauf, dass der Schalter gedrückt wird, und dann: myservo2.write (servoUnlock2); // entsperrt die zusätzliche Servoverzögerung (1000); // wartet zwei Sekunden myservo.write (servoUnlock); // entsperrt die Hauptservoverzögerung (500); // warte, dann blinke die LED 7 mal digitalWrite (ledPin, LOW); Verzögerung (200); digitalWrite (ledPin, HIGH); Verzögerung (200); digitalWrite (ledPin, LOW); Verzögerung (200); digitalWrite (ledPin, HIGH); Verzögerung (200); digitalWrite (ledPin, LOW); Verzögerung (200); digitalWrite (ledPin, HIGH); Verzögerung (200); digitalWrite (ledPin, LOW); Verzögerung (200); digitalWrite (ledPin, HIGH); Verzögerung (200); digitalWrite (ledPin, LOW); Verzögerung (200); digitalWrite (ledPin, HIGH); Verzögerung (200); digitalWrite (ledPin, LOW); Verzögerung (200); digitalWrite (ledPin, HIGH); Verzögerung (200); digitalWrite (ledPin, LOW); Verzögerung (200); digitalWrite (ledPin, HIGH); Verzögerung (200); digitalWrite (ledPin, LOW); // schaltet die LED aus Verzögerung (1000); }}
Dies war also die gesamte Prozedur, um eine Show zu machen, die mit Hilfe eines Servomotors, eines Mikrocontrollers und eines Motorschilds automatisch ihre Schnürsenkel bindet. Jetzt, da Sie diese ganze Prozedur kennen, können Sie Ihre AutoLacing-Show bei Ihnen zu Hause genießen.