www.sondersignalanlagen.com

www.sondersignalanlagen.com (https://sosi.myds.me/forum/index.php)
-   Hella (https://sosi.myds.me/forum/forumdisplay.php?f=52)
-   -   Hella BST in BMW F11 - Montageort (https://sosi.myds.me/forum/showthread.php?t=29461)

Blaulicht 23.11.2018 18:17

Ja, min 280GE und 4 Türen ......

Lou 23.11.2018 21:19

Zitat:

Zitat von Panther8x8 (Beitrag 314002)
Arduino in minimaler Ausführung und einen guten Modellbauservo mit Metallgetriebe sollte als Aktuator eigentlich ausreichen, oder?

Das hört sich für mich nach der besten Lösung an. Pneumatik hätte auch was, vor allem massig rießige Zusatzkomponenten ;)

Das Problem mit dem Stromverbrauch ließe sich aber denke ich ganz gut mittels der Low-Power-library lösen: https://github.com/rocketscream/Low-Power Diese schickt den Arduino schlafen, so dass dieser nur noch Strom im Micro-Ampere-Bereich verbraucht. siehe z.B. hier: https://youtu.be/XUY0-doBx1U?t=209
Bei jedem Tastendruck könnte dann ein externer Interrupt ausgelöst werden, der den Arduino aufweckt und ein Code ausgeführt wird. So würde sich bei jedem Interruptaufruf ein Statusbit (RWS An/Aus) togglen und somit der restliche Code (Servos steuern, Relais schalten) ausführen lassen.Habe selbst noch nichts mit dieser Library gemacht, aber hört sich für mich gut an, das könnte man mal testen.

Könnte evtl. so aussehen (hab ich jz nur schnell zusammenkopiert/getippt; keine Gewährleistung auf Logik-/Syntaxfehler):
Code:

//Biliotheken einbinden
#include "LowPower.h"                        //https://github.com/rocketscream/Low-Power
#include <Servo.h>                                //Arduino-Library

//Pins deklarieren
const int wakeUpPin = 2;                //Pin für Taster
const int rwsPin = 3;                        //Pin für Relais mit Warnleuchten
const int servoLinksPin = 4;        //Steuerpin für linken Servo
const int servoRechtsPin = 5;        //Steuerpin für rechten Servo

//Variablen definieren
const int servoValAus = 0;                //Servo-Position im ausgeschalteteten Zustand
const int servoValEin = 90;                //Servo-Position im eingeschalteteten Zustand
boolean state = 0;                                //Status-Bit (Merker An/Aus)

//Objekte erstellen
Servo servoLinks;                                //Servo-Objekte erstellen
Servo servoRechts;

void setup()
{
    pinMode(wakeUpPin, INPUT_PULLUP);        //Pin mit Taster als Input deklarieren, Nutzung des internen PullUps
    servoLinks.attach(servoLinksPin);        //Hängt den Servo an Pin "servoLinksPin" ans Servo-Objekt
    servoRechts.attach(servoRechtsPin);
}

void loop()
{
    attachInterrupt(0, wakeUp, LOW);        //Interrupt wird bei LOW-Signal vom Taster getriggert
   
    state = !state;
    if(state=1){
        servoLinks.write(servoValEin);        //Servo links "ausfahren"
                servoRechts.write(servoValEin);        //Servo rechts "ausfahren"
        digitalWrite(rwsPin, HIGH);                //RWS o.ä. einschalten
    }
    else{
        digitalWrite(rwsPin, LOW);                //RWS o.ä. ausschalten
        servoLinks.write(servoValAus);        //Servo links "einfahren"
                servoRechts.write(servoValAus);        //Servo rechts "einfahren"
               
        LowPower.powerDown(SLEEP_FOREVER, ADC_OFF, BOD_OFF);        //Power-Down-Modus aktivieren (ADC und BOD (Brown Out Detection) deaktiviert)
}
    }


big daddy 24.11.2018 10:40

Zitat:

Zitat von Blaulicht (Beitrag 314013)
Der hat aber ein rundes Loch im Dach ......

Ist doch schön, wenn man eine Dachluke hat. Hatte mal ein ex BGS G gehabt. Meine Kids haben den geliebt.

Blaulicht 24.11.2018 11:14

Zitat:

Zitat von big daddy (Beitrag 314029)
Ist doch schön, wenn man eine Dachluke hat. Hatte mal ein ex BGS G gehabt. Meine Kids haben den geliebt.

Ja, wenn ich noch den Aufsatz bekommen würde für die Luke :)


Alle Zeitangaben in WEZ +2. Es ist jetzt 03:18 Uhr.

Powered by vBulletin® Version 3.8.11 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.