Hallo Leute,
ich habe ein Problem bei meinem Sketch und hoffe, dass ihr mir weiterhelfen könnt. Vorab - ich bin kein Programmierer und blutiger Anfänger. Habt Nachsicht mit mir ![]()
Ich habe folgendes vor:
Über meinen Nano soll ein Motor angesteuert werden der eine gewisse Zeit läuft und dann wieder die doppelte Zeit ausgeht. Ich habe zwei Potis vorgesehen, einen für die Zeit die er an sein soll und einen Poti um die Geschwindigkeit zu regeln. Soweit so gut. Klappt auch soweit. Um den Arduino zu schützen habe ich einen ULN2803A in die Schaltung mit integriert ( auch wenn ich quasi nur einen Ausgang davon nutze ). Es klappte auch tatsächlich soweit, bis ich dann auf die Idee kam ein I2C Display dazu zu basteln um die eingestellten Werte als Prozentzahl auszugeben. Da das ganze an einem Akku betrieben wird wollte ich ebenfalls, dass die Hintergrundbeleuchtung nach 1 Minute ausgeht. Joa und da fangen die Probleme dann an. Seit ich die Schaltung auf "Display" umgebaut habe - klappt die Motoransteuerung nicht mehr (Das Display selbst habe ich aktuell noch gar nicht dran). Ich habe mich bei dem Code an den Tutorials Blinkwithoutdelay bedient und auch mit allen anderen möglichen Codes hier aus dem Forum kombiniert.
Kann mir einer von euch vielleicht helfen ? Ich finde meinen Fehler nicht und mein Sketch wird sauber hochgeladen.
![]()
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);
const int speedPin = A0;
const int motorPin = 3;
const int zeitPin = A3;
unsigned long einschaltdauer = 0;
int sensorzeit = 0;
int sensorpwm = 0;
int pwm = 0;
int prozentzeit = 0;
int prozentpwm = 0;
int prozentspeed = 0;
void setup() {
lcd.begin(16,2);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Test V.1.1");
lcd.setCursor(0,1);
lcd.print("Vibromator");
lcd.setBacklight(HIGH);
delay(2000);
}
void loop() {
// Hintergrundbeleuchtung nach 1 Minute abschalten
if(millis() - einschaltdauer >= 60000) {
einschaltdauer = millis();
lcd.setBacklight(LOW);
}
sensorzeit = analogRead(zeitPin);
sensorpwm = analogRead(speedPin);
pwm = map(sensorpwm, 0, 1023, 0, 255);
analogWrite(motorPin, pwm);
delay (sensorzeit*2);
prozentzeit = map(sensorzeit, 0, 1023, 0, 100);
prozentpwm = map(pwm, 0, 255, 0, 100);
prozentspeed = map(sensorpwm, 0, 1023, 0, 100);
lcd.setCursor(0,0);
lcd.print("Speed = ");
lcd.print(prozentspeed);
lcd.print("Vibrator = ");
lcd.setCursor(0,1);
lcd.println(prozentpwm);
lcd.print("Zeit = ");
lcd.println(prozentzeit);
analogWrite(motorPin, 0);
delay (sensorzeit*4);
delay(10);
}
Liebe Grüße und danke an alle vorab,
Christopher
PS: Nein, auch wenn da Vibrator steht, es ist kein Sexspielzeug
![]()
">
">
