Moin zusammen.
Hab noch recht wenig Erfahrung mit der Arduino Sprache und deswegen jetzt ne Frage.
Es geht um folgendes: Ich habe mir was gebaut um 2 Servos via Blynk mit meinem Handy steuern zu können. Ich habe mir an meinem Raspberry Pi angewöhnt mit Blynk irgendeinen Pin anzusteuern um dann diesen auf High bzw Low zu testen und dann demzufolge Aktionen auszuführen. Lange Rede kurzer Sinn, hier also mein Code (Ich entschuldige mich schonmal dafür, dass der so stümperhaft ist.. :D) :
#define BLYNK_PRINT Serial
#include <SoftwareSerial.h>
#include <Servo.h>
SoftwareSerial SwSerial(10, 11); // RX, TX
#include <BlynkSimpleSerialBLE.h>
#include <SoftwareSerial.h>
char auth[] = "3T6fIgHyLmR_sfsP7gXpGSrAWljxuA7b";
int inPin = 13;
int val = 0;
Servo onSwitch;
Servo offSwitch;
SoftwareSerial SerialBLE(10, 11); // RX, TX
void setup()
{
pinMode(inPin, INPUT);
onSwitch.attach(5);
offSwitch.attach(4);
Serial.begin(9600);
SerialBLE.begin(9600);
Blynk.begin(SerialBLE, auth);
Serial.println("Waiting for connections...");
}
void loop()
{
Blynk.run();
val = digitalRead(inPin);
if (val == HIGH) {
onSwitch.write(0);
offSwitch.write(180);
}
else {
onSwitch.write(180);
offSwitch.write(0);
}
}
Der ein oder andere mag es kennen. Servos haben dieses zittern wenn sie dauerhaft den Befehl für ein und die selbe Position haben. Dies liese sich ja mit " servoName.write(LOW) " deaktivieren. Würde ich das allerdings überall unten mit ran hängen ergäbe das ja recht wenig Sinn, da die Zeilen ja trotzdem kontinuirlich durchlaufen. Hier in Kurzform die Situation und was ich brauche:
- es soll dauerhaft der Status des Test Pins (inPin) getestet werden
- kommt es zu einer Veränderung an diesem, sollen die zugehörigen Zeilen exakt einmal ausgeführt werden und dann wieder in den "Standby" gegangen werden
Ich hoffe mein Anliegen ist verständlich ![]()
Vielen Dank schonmal im Voraus
MfG