Follow along with the video below to see how to install our site as a web app on your home screen.
Anmerkung: This feature currently requires accessing the site using the built-in Safari browser.
'der hit' is in einem forum wo ich nachgefragt hab irgend son typ mit zichtausend beiträgen schon.
nachdem ich extrageschrieben hab, anfänger, erstes skritp usw, meint der statt auf genau fragen zu antworten nur 'les tutorials' und dir fehlt grundwissen und nachdem ich auf seine einwände (mangels wissen) nicht eingehe ich würde seine tipps nicht annehmen und er sich jetzt raus halten.
das fühlt sich für mich an wie ein fahrschüler bei der ersten stunde und der lehrer sagt 'eh du kennst die STVO ja garnicht und les das handbuch vom auto wenn du wissen willst wie man den ersten gang einlagt.
ich hasse solche leute, die gehen mir dermassen auf den keks!
nur nörgeln aber auf das gefragt bewusst nicht eingehen, nichtmal nach nochmaligen fragen -so schön immer 'von oben runter am besten den 'dummen' noch runtermachen......
tschuldigung für diese story, ich bin echt verärgert......
//Lichtschaltung mit Fahrlicht/Fernlicht(PWM), Bremslicht über Magnetschaltern
// Blinker mit Millis, Hoch-/runterschalten mit 250ms verzögerung
//mit servo-ansteurung, noch ohne servo-setup
#include <Servo.h>
#include <Wire.h> //Wire.h Bibliothek einbinden
#include <LiquidCrystal_I2C.h> //LiquidCrystal_I2C.h Bibliothek
Servo Schaltservo; // servo ist schaltservo
int Servowinkel = 1;
int Schaltvariable = 0;
int Gangnummer = 0;
int Servoposition[] = {1, 25, 50, 75, 100, 125, 150, 175} ; //array servopositionen
LiquidCrystal_I2C lcd(0x23, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);
//Hier wird lcd benannt, die Adresse angegeben „0x23“ und die
//Pinnbelegung durch das I²C Modul angegeben
//millis
unsigned long previousMillis2 ; // Variable zum Speichern des alten Wertes
unsigned long interval2 ; // Variable für gewünschte Zeitdauer (1sek=1000)
int t3 = 250; // t3 zeit
unsigned long previousMillis ; // Variable zum Speichern des alten Wertes
unsigned long interval ; // Variable für gewünschte Zeitdauer (1sek=1000)
int t = 150; // t auf AUSzeit
int t2 = 500; // t2 auf EINzeit
//taster/schalter/eingänge bezeichnung/pin
int Fahrlicht_t = 36; //schalter
int Fernlicht_t = 34; //taster
int MaginPin1 = 22; //taster
int MaginPin2 = 38; //taster
int Hupe_t = 28; //taster
int Blinker_li_t = 32; //taster
int Blinker_re_t = 30; //taster
int Hochschalten_t = 24; //taster hochschalten
int Runterschalten_t = 26; //taster runterschalten
//ausgänge bezeichnung/pin
int Frontlicht_led = 2; //PWM_led
int Ruecklicht_led = 3; //PWM_led
int Blinker_li_led = 4;
int Blinker_re_led = 5;
int Hupe_led = 6; //über FET
void setup() {
//lcd
lcd.begin(20, 4); //Display starten, Größe Display 20 4
lcd.backlight(); //Beleuchtung Display einschalten
Schaltservo.attach(7); // attaches the servo on pin 7 to the servo object
Schaltservo.write(0);
pinMode(Hochschalten_t, INPUT_PULLUP);
pinMode(Runterschalten_t, INPUT_PULLUP);
//Fahrlicht
pinMode(Fahrlicht_t, INPUT_PULLUP);
pinMode(Fernlicht_t, INPUT_PULLUP);
pinMode(MaginPin1, INPUT_PULLUP);
pinMode(MaginPin2, INPUT_PULLUP);
pinMode(Frontlicht_led, OUTPUT);
pinMode(Ruecklicht_led, OUTPUT);
//Blinker
pinMode(Blinker_li_t, INPUT_PULLUP);
pinMode(Blinker_re_t, INPUT_PULLUP);
pinMode(Blinker_li_led, OUTPUT);
pinMode(Blinker_re_led, OUTPUT);
//Hupe
pinMode(Hupe_t, INPUT_PULLUP);
pinMode(Hupe_led, OUTPUT);
}
void loop() {
//display initiieren
lcd.setCursor(0, 0); //Text beim 1. Zeichen 1. Reihe beginnen
lcd.print("RBS"); //Display 1 soll oben „Display 1“ anzeigen
lcd.setCursor(5, 0); //Text beim 1. Zeichen 2. Reihe beginnen
//Gangschaltung tasten
if (digitalRead(Hochschalten_t) == LOW && Gangnummer < 7 ) {
if (millis() - previousMillis2 > interval2 ) { //millis zählen
previousMillis2 = millis() ; //millis setzen
interval2 = t3 ; //AUSzeit
Gangnummer = ++Schaltvariable ; //Gang hochschalten
}
}
if (digitalRead(Runterschalten_t) == LOW && Gangnummer > 0 ) {
if (millis() - previousMillis2 > interval2 ) { //millis zählen
previousMillis2 = millis() ; //millis setzen
interval2 = t3 ; //AUSzeit
Gangnummer = --Schaltvariable ; //Gang runterschalten
}
}
lcd.println("Gang:");
lcd.println(Gangnummer);
Schaltservo.write(Servoposition[Gangnummer]);
delay(200);
//Fahrlichtschaltung
if (digitalRead(Fahrlicht_t) == LOW) {
analogWrite(2, 80); //PWMled auf (pin2, wert80)
analogWrite(3, 80); //PWMled auf (pin3, wert80)
}
else {
analogWrite(2, 0); //PWMled auf (pin2, wert0)
analogWrite(3, 0); //PWMled auf (pin3, wert0)
}
//Fernlichtschaltung
if (digitalRead(Fernlicht_t) == LOW) {
analogWrite(2, 255); //PWMled auf (pin2, wert255)
}
else {
if (digitalRead(Fahrlicht_t) == LOW)
{
analogWrite(2, 80); //PWMled auf (pin2, wert80)
}
else {
analogWrite(2, 0); //PWMled auf (pin2, wert0)
}
}
//Bremslichtschaltung
if (digitalRead(MaginPin1) == LOW || digitalRead(MaginPin2) == LOW) {
analogWrite(3, 255); //PWMled auf (pin3, wert255)
}
else {
if (digitalRead(Fahrlicht_t) == LOW) {
analogWrite(3, 80); //PWMled auf (pin3, wert80)
}
else {
analogWrite(3, 0); //PWMled auf (pin3, wert0)
}
}
//Blinkerschaltung
//Blinker_links
if (digitalRead(Blinker_li_t) == LOW) {
if (millis() - previousMillis > interval ) { //millis zählen
previousMillis = millis() ; //millis setzen
if ( digitalRead(Blinker_li_led) == HIGH ) { //wenn led == an
interval = t ; //AUSzeit
digitalWrite(Blinker_li_led, LOW); //led aus
}
else {
interval = t2 ; //EINzeit
digitalWrite(Blinker_li_led, HIGH) ; //led an
}
}
}
if (digitalRead(Blinker_li_t) == HIGH) {
digitalWrite(Blinker_li_led, LOW) ; //led aus
}
//Blinker_rechts
if (digitalRead(Blinker_re_t) == LOW) {
if (millis() - previousMillis > interval ) { //millis zählen
previousMillis = millis() ; //millis setzen
if ( digitalRead(Blinker_re_led) == HIGH ) { //wenn led == an
interval = t ; //AUSzeit
digitalWrite(Blinker_re_led, LOW); //led aus
}
else {
interval = t2 ; //EINzeit
digitalWrite(Blinker_re_led, HIGH) ; //led an
}
}
}
if (digitalRead(Blinker_re_t) == HIGH) {
digitalWrite(Blinker_re_led, LOW) ; //led aus
}
//Hupenschaltung
if (digitalRead(Hupe_t) == LOW) {
digitalWrite(Hupe_led, HIGH);
}
else
{
digitalWrite(Hupe_led, LOW);
}
}
Wie wär's damit:...
Mache mir auch schon gedanken über buchsen/stecker die noch von nöten sein werden -nicht ganz trivial wenn es denn wasserdicht werden soll, genauso wie eine gute kabelbaum-planung.
dachte erst an diese Bühnentechnik-stecker (20-40 kontakte) aber die sind gross und zu schwer.
es gibt so wasserdichte auto-stecker, sehr schön, aber nur max 6pole.
Mal sehn was es letztendlich wird...
...
Naja, bezüglich Erweiterungsfähigkeit ist das ein großer Vorteil, da man ganz einfach etwas hinzufügen kann, ohne Kabel zu verlegen Wer weiß, was Dir/mir noch so einfällt!...
sowas ähnliches mit mehrfach-digital-input und I2C-bus dachte ich auch erst, aber die paar meter kabel gehen noch so, lohnt mir den aufwand nicht
...