Ich wollte meinen Schwager da er gerne Stronghold oä spielt einen Ritter auf einen steine mittels Servo steuern bzw das er sich 90grad Rechts und links bewegt.
Dass habe ich auch schon getestet und klappt auch, ich habe auch mit fauxmo oä probiert was mit alexa ebenfalls ging, aber jetzt ? Wie bekomme ich dass beide unter einen Hut 🤮
Wie gesagt bin neu und eigentlich will ich auch alles selber machen aber bis zum 24 muss dass Ding stehen.
Der Servo kann wohl nur 90grad nach Rechts und nach links ? Naja zusammen wären es ja die 180grad obwohl ich etwas anderes darunter verstanden habe?. Nun für mein Zweck aber ok
Dann habe ich noch eine Kamin Led dazwischen was auch klappt wenn der Servo angeht ist auch Spannung auf dem Led was schonmal gut ist, es soll so etwas wie Blitze Simulieren.
Ich wollte eigentlich noch dass eine Memo dazu also bei Aktivierung mit läuft, also sowas wie eine Audio Datei die ich vorher herstellt habe bei der alexa Routine angesagt wird aber dass scheint wohl so nicht zu gehen, Alex selber konnte etwas sagen und paar Geräusche Eine machen wie Wolf usw.
Aber wie gesagt zumindest sollte er wenn ich alexa, wer ist der Herr oä sage der servo seine 90grad Rechts und Links ausführen.
Ich hoffe jemand kann mir helfen sonst stehe ich ja ziemlich blöd da
Mini Servo
Note MCU 3,3v
Kabel und Kabels
Eine Alexa
Arduino IDE
Kleine LEDs mit Chip für Flammen effekt
Denn Ritter und der Stein wird Heute hergestellt mit knetmasse zum Backen, mit alufolie grob formen Masse drüber Backen dann ausarbeitung fürs innen Leben und anmalen
Es muss jetzt noch iergentwie klappen dass ich alexa eine routine verpasse dass,. Sie auf dass wort einmal für x Sekunden denn Servo bewegt
Ich brauch da iergentwie sowas wie Fauxmo nur eben für Servo halt
Aus dieser Aussage kann man mutmaßen, dass du bisher recht wenig Ahnung vom Programmieren hast.
Fauxmo ist eine sogenannte library die die Verbindung zu Alexa herstellt.
Man kann dann Fausxmo dafür benutzen X-beliebige Programmteile ausführen zu lassen also auch Servos.
Es ist aber extrem unwahrscheinlich dass du ein fertiges Programm findest, dass genau das macht was du willst.
Das kannste dir vorstellen wie ein Badezimmer fliesen.
Fliesen gibt es ganz viele verschiedene. Um einen ganz bestimmtes Badezimmer zu fliesen musste schon vor Ort den Untergrund vorbereiten.
Und dann angepasst auf Länge und Breite dieses Badezimmers Stück für Stück die Fliesen verlegen und an manchen Stellen auch die Fliesen anpassen.
Poste den vollständigen Sketch
Poste den vollständigen Sketch
Nicht Ernst gemeint: Dann nimm schon mal Urlaub und besorge dir ausreichend Aufputschmittel sonst reicht die Zeit nicht.
Nein nicht ernst gemeint. Ganz normal arbeiten gehen den Chef zufrieden stellen und ausreichend schlafen.
Wenn es trotzdem fertig werden soll.
Gaaaanz dringend die vollständigen Sketche die du schon getestet hast posten.
vgs
Hier eine Anpassung, die compiliert und (sehr) vielleicht bereits funktioniert, wenn der Sketch an Deine Konfiguration angepasst wird. Zumindest sollte er in die richtige Richtung führen. (da ich selbst weder Alexa noch ähnliches in meiner Nähe habe und auch nicht haben möchte, kann ich es nicht weiter testen...).
#include <Arduino.h>
#include <WiFi.h>
#include "fauxmoESP.h"
// edit it according to your router configuration
#define WIFI_SSID "Wokwi-GUEST"
#define WIFI_PASS ""
fauxmoESP fauxmo;
#include <ESP32Servo.h>
constexpr byte servoPin = 32;
constexpr int servoPosLinks = 0;
constexpr int servoPosRechts = 90;
Servo servo;
// -----------------------------------------------------------------------------
#define SERIAL_BAUDRATE 115200
#define ID_RITTER_RECHTS "Ritter rechts"
#define ID_RITTER_LINKS "Ritter links"
// -----------------------------------------------------------------------------
// -----------------------------------------------------------------------------
// Wifi
// -----------------------------------------------------------------------------
void wifiSetup() {
// Set WIFI module to STA mode
WiFi.mode(WIFI_STA);
// Connect
Serial.printf("[WIFI] Connecting to %s ", WIFI_SSID);
WiFi.begin(WIFI_SSID, WIFI_PASS);
// Wait
while (WiFi.status() != WL_CONNECTED) {
Serial.print(".");
delay(100);
}
Serial.println();
// Connected!
Serial.printf("[WIFI] STATION Mode, SSID: %s, IP address: %s\n", WiFi.SSID().c_str(), WiFi.localIP().toString().c_str());
}
void setup() {
// Init serial port and clean garbage
Serial.begin(SERIAL_BAUDRATE);
Serial.println();
Serial.println();
// Hier den Servo einbinden
servo.attach(servoPin);
// Wifi
wifiSetup();
// By default, fauxmoESP creates it's own webserver on the defined port
// The TCP port must be 80 for gen3 devices (default is 1901)
// This has to be done before the call to enable()
fauxmo.createServer(true); // not needed, this is the default value
fauxmo.setPort(80); // This is required for gen3 devices
// You have to call enable(true) once you have a WiFi connection
// You can enable or disable the library at any moment
// Disabling it will prevent the devices from being discovered and switched
fauxmo.enable(true);
// You can use different ways to invoke alexa to modify the devices state:
// "Alexa, Ritter rechts"
// "Alexa, Ritter links"
// Add virtual devices
fauxmo.addDevice(ID_RITTER_RECHTS);
fauxmo.addDevice(ID_RITTER_LINKS);
fauxmo.onSetState([](unsigned char device_id, const char * device_name, bool state, unsigned char value) {
// Callback when a command from Alexa is received.
// You can use device_id or device_name to choose the element to perform an action onto (relay, LED,...)
// State is a boolean (ON/OFF) and value a number from 0 to 255 (if you say "set kitchen light to 50%" you will receive a 128 here).
// Just remember not to delay too much here, this is a callback, exit as soon as possible.
// If you have to do something more involved here set a flag and process it in your main loop.
Serial.printf("[MAIN] Device #%d (%s) state: %s value: %d\n", device_id, device_name, state ? "ON" : "OFF", value);
// Checking for device_id is simpler if you are certain about the order they are loaded and it does not change.
// Otherwise comparing the device_name is safer.
if (strcmp(device_name, ID_RITTER_RECHTS) == 0) {
servo.write(servoPosRechts);
}
if (strcmp(device_name, ID_RITTER_LINKS) == 0) {
servo.write(servoPosLinks);
}
});
}
void loop() {
fauxmo.handle();
}
Kannst du das besser erklären?
Willst du Alexa ein Wort sagen und der Servo x Sekunden in der einen Richtung und danach wieder zurück? Oder wie meinst du das.
Nein er soll wie ein irrer hin und her Wackeln aber dass habe ich schon gelöst da bei 180grad der Servo nur 90grad Rechts und links fährt, warum auch immer
Dann empfehle ich dir sicherheitshalber schon mal den Kauf eines Gutscheins vorzubereiten. Das hört sich nach Randbedingungen an mit denen du wohl nicht bis zum 24.12.23 fertig wirst. Wenig Programmierwissen und mittelkomplexe Aufgabenstellung = viel Zeitaufwand bis es läuft.
und jetzt sollen andere für dich die Arbeit machen?
NEEE! Mich haste schon mal verloren
Gibt jetzt wahrscheinlich einfach wieder ein und das wars
Den Weihnachstbonus haste bei mir schon verbraucht