So und hier ist sie unsere Anleitung damit jeder weiß wie wir das gemacht haben ich gehe kurz durch alle Strukturen.... bei fragen schreibt uns gerne an:-)
Fangen wir doch mit eine Kleinen Einkaufsliste an(keine Angst relativ Kurz)
- Servo SG90
- Controller D1 mini
- Filament
Anderes:
-Zugang zu einem 3D Drucker
-Lötkolben
-wenn da Heißklebepistole
HARDWARE
-------------------------------------------------------------------------------------------------------------------------------------------------------
Als ersten schritt müssen wir mal die Elektronik vorbereiten
also nehmen wir uns mal den d1 Mini vor doert brauchen wir einen anschluss für den Servo also für
Schwarzes-Kabel Ground Minus
Rotes-Kabel 5V Plus
Gelbes-Kabel Signal-Pin (hier D4)
Ich nehme diese Belegung weil sie direkt neben einander liegen auf dem Controller genau dort müsst ihr 3 Pins einlöten
Jetzt haben wir einen super Steckplatz für unseren Servo aber Vorsicht noch können wir den servo nicht anschließen die Servos kommen in der Reihenfolge Gelb Rot Schwarz....(hab ich mir nicht ausgedacht) wir brauchen aber Gelb Schwarz Rot. also müssen wir die Pins umstecken das ist etwas frimelig aber mit eine Nadel oder einem kleinen Skalpell kein Problem.
So jetzt den servo anstecken...dann ist die Elektronik schon fertig.
Nun schliessen wir den controller mit servo mal an den micro USB an
und kommen zum Punkt
SOFTWARE
-------------------------------------------------------------------------------------------------------------------------------------------------------
jetzt wird das etwas umständlich deshalb leite ich euch mal zu einer externen Anleitung weiter in der ihr als erstes mal eure Arduino programmierumgebung einrichtet also Arduino IDE installieren und dann das hier:
https://polluxlabs.net/courses/esp8266-grundlagen-2/lessons/esp8266-und-die-arduino-ide/
So jetzt hab ihr die ide eingestellt nun stellen wir den controler ein auf:
Generic ESP8266 Module
nun noch den richtigen USB Port anwählen(auch Unter "Werkzeuge" dann "Ports") fertig :-)
nun könnt ihr unseren Programmcode einfach in die IDE kopieren und ihn dann Hochladen (der Pfeil oben links).
-------------------------------------------------------------------------------------------------------------------------------------------------------
#include <ESP8266WiFi.h>
WiFiServer server(80); //Initialize the server on Port 80
#include <Servo.h>
Servo myservo; // create servo object to control a servo
void setup() {
WiFi.mode(WIFI_AP); //Our ESP8266-12E is an AccessPoint
WiFi.softAP("cat1", "12345678"); // Provide the (SSID, password); .
server.begin(); // Start the HTTP Server
//Looking under the hood
Serial.begin(115200); //Start communication between the ESP8266-12E and the monitor window
IPAddress HTTPS_ServerIP = WiFi.softAPIP(); // Obtain the IP of the Server
Serial.print("Server IP is: "); // Print the IP to the monitor window
Serial.println(HTTPS_ServerIP);
myservo.attach(2); // attaches the servo on GIO2 to the servo object
}
void loop() {
// Check if a client has connected
WiFiClient client = server.available();
if (!client) {
return;
}
// Wait until the client sends some data
Serial.println("new client");
while (!client.available()) {
delay(1);
}
// Read the first line of the request
String request = client.readStringUntil('\r');
Serial.println(request);
client.flush();
// Match the request
int value = LOW;
if (request.indexOf("/LED=ON") != -1) {
int pos;
for (pos = 0; pos <= 180; pos += 1) { // goes from 0 degrees to 180 degrees
// in steps of 1 degree
myservo.write(pos); // tell servo to go to position in variable 'pos'
delay(15); // waits 15ms for the servo to reach the position
}
for (pos = 180; pos >= 0; pos -= 1) { // goes from 180 degrees to 0 degrees
myservo.write(pos); // tell servo to go to position in variable 'pos'
delay(15); // waits 15ms for the servo to reach the position
}
value = HIGH;
}
if (request.indexOf("/LED=OFF") != -1) {
value = LOW;
}
//Set ledPin according to the request
//digitalWrite(ledPin, value);
// Return the response
client.println("HTTP/1.1 200 OK");
client.println("Content-Type: text/html");
client.println(""); // do not forget this one
client.println("<!DOCTYPE HTML>");
client.println("<html>");
client.print("Hallo hier ist deine WinkeKatze zuletzt gedrueckt: ");
if (value == HIGH) {
client.print("Button 1");
} else {
client.print("Button 2");
}
client.println("<br><br>");
client.println(" <a href=\"/LED=ON\">BUTTON1</a> ....klassisches Winken<br><br><br><br><br><br>");
client.println(" <a href=\"/LED=OFF\">BUTTON2</a> ....kann man noch was mit machen<br>");
client.println("</html>");
delay(1);
Serial.println("Client disconnected");
Serial.println("");
}
So nun sollten wir schon einen Port haben um unseren Controller nun zu steuern müsst ihr als erstes in sein wlan gehen in unserem fall
steht das im code fast ganz oben: WiFi.softAP("cat1", "12345678");
unser wlan heisst also "cat1" und das Passwort ist "12345678" wenn ihr diese Zeile ändert achtet darauf die Anführungszeichen mitzuschreiben bei der Eingabe des Passwortes müsst ihr die aber weglassen.
wenn ihr im wlan seit müsst ihr noch das gerät ansteuern also geht ihr auf einen Browser und gebt dort an "192.168.4.1" einfach in die adresszeile tippen
und schon sollte eine kleine html Seite zu sehen sein.....
3Druck
so hier unsere files wir haben die rohlinge von Kopf und Arm mit Tinkercad bearbeitet dort kann man sie einfach "importieren"
-------------------------------------------------------------------------------------------------------------------------------------------------------
https://drive.google.com/file/d/18ZgIJuI05dE5uIVEuiBDZgbUJJL4T5_b/view?usp=sharing
https://drive.google.com/file/d/1BVL7WbC9A8A-dNRL2s-s0YIvAKyYTP1h/view?usp=sharing
https://drive.google.com/file/d/1x7vUQocoKrS1aDQ-8O9qpbOosQBuTznF/view?usp=sharing