INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Blaulicht steuerung
06.12.2020, 11:29
Beitrag #1
Blaulicht steuerung
Hallo Zusammen, ich benötige ein paar Tipps von euch.
Ich rüste einen Einsatzwagen mit 5 LEDs und Sound aus, und als Steuerung benutze ich einen Arduino UNO ( erstmal ). Bis jetzt habe ich einen Sketch wo ich die 5 Kanäle mit den für mich passenden Zeiten habe, und einen Sketch wo ich über Taster 1 das Licht ein- und ausschalten kann und über Taster 2 das Horn (momentan LED) ein- und ausschalten, Jetzt das erste Problem, das Horn soll nur schaltbar sein wenn das Blaulicht an ist, und halt die Blinkzeiten integrieren.
Und dann habe ich hier im Forum was gelesen vom DFPlayer kann man dort zum Beispiel 4 Tondateien speichern und zu verschiedenen Fahrzeugen zuordnen, oder sollte ich für jeder Fahrzeug später einen eigenen DFPlayer holen.

Sketch Blaulicht 5K, war das Blinkmuster aus einem anderen Chat mit MicroBahner, welches ich mir schon zurecht geschrieben habe.
Sketch Tasten Ein/Aus war ein Beispiel von Youtube

Code:
#include <MobaTools.h>
const byte ledPins[] = {      8,   9,  10,  11,    12,   13};
const int anZeit[]  =  {   8000,  100, 100, 150,   100,  175};   // in ms
const int ausZeit[] =  {      1,  125, 100, 100,   150,  100};   //in ms
const byte ledAnzahl = sizeof(ledPins);   // ledPins muss typ byte sein
MoToTimer ledTimer[ledAnzahl];

void setup() {

  for ( auto ledIx : ledPins ) {
    pinMode( ledIx, OUTPUT );
    pinMode(1 , INPUT);
  }
}

void loop() {
  // put your main code here, to run repeatedly:
  for ( byte i = 0; i < ledAnzahl; i++ ) {      // Schleife über alle Led's

    if ( !ledTimer[i].running() ) {             // Zeit abgelaufen
      if ( digitalRead( ledPins[i] ) ) {        // Led war eingeschaltet, ausschalten und Timer auf AUS-Zeit setzen
        digitalWrite( ledPins[i], LOW );
        ledTimer[i].setTime( ausZeit[i] );
      } else {
        // Led war ausgeschaltet, einschalten und Timer auf EIN-Zeit setzen
        digitalWrite( ledPins[i], HIGH );
        ledTimer[i].setTime( anZeit[i] );
        digitalWrite(ledPins, LOW);
      }
    }
  }
}

Code:
int buttonstatus_T1 = 0;
int buttonZaehler_T1 = 0;
int letzterStatus_T1 = 0;

int buttonstatus_T2 = 0;
int buttonZaehler_T2 = 0;
int letzterStatus_T2 = 0;

void setup() {

  Serial.begin(9600);
  pinMode(7, OUTPUT);     // Brücke auf Pin 6, Horn nur wenn Blaulicht an
  pinMode(8, OUTPUT);     // Horn
  pinMode(9, OUTPUT);     // Blaulicht 1, Dach
  pinMode(10, OUTPUT);    // Blaulicht 2, Dach
  pinMode(11, OUTPUT);    // Blaulicht 3, Front
  pinMode(12, OUTPUT);    // Blaulicht 4, Front
  pinMode(13, OUTPUT);    // Blaulicht 5, Heck
  pinMode(2, INPUT);      // Taster Licht ohne Horn
  pinMode(3, INPUT);      // Taster zuschaltung Horn
  pinMode(6, INPUT);      // Brücke von Pin 7, Freigabe Horn
}

void loop() {

  buttonstatus_T1 = digitalRead(2);

  if (buttonstatus_T1 != letzterStatus_T1)
  {
    if (buttonstatus_T1 == 1)
    {
      buttonZaehler_T1++;
    }

    else
    {
      digitalWrite(7, HIGH);
      digitalWrite(9, HIGH);
      digitalWrite(10, HIGH);
      digitalWrite(11, HIGH);
      digitalWrite(12, HIGH);
      digitalWrite(13, HIGH);

    }
  }

  if (buttonZaehler_T1 % 2 == 0)
  {
    digitalWrite(7, LOW);
    digitalWrite(9, LOW);
    digitalWrite(10, LOW);
    digitalWrite(11, LOW);
    digitalWrite(12, LOW);
    digitalWrite(13, LOW);
    buttonZaehler_T1 = 0;
  }

  else
  {
    digitalWrite(7, HIGH);
    digitalWrite(9, HIGH);
    digitalWrite(10, HIGH);
    digitalWrite(11, HIGH);
    digitalWrite(12, HIGH);
    digitalWrite(13, HIGH);
  }
  letzterStatus_T1 = buttonstatus_T1;
  Serial.println(buttonZaehler_T1);
  delay(50);

  buttonstatus_T2 = digitalRead(3), (6);

  if (buttonstatus_T2 != letzterStatus_T2)
  {
    if (buttonstatus_T2 == 1)
    {
      buttonZaehler_T2++;
    }

    else
    {
      digitalWrite(8, HIGH);
    }
  }

  if (buttonZaehler_T2 % 2 == 0)
  {
    digitalWrite(8, LOW);

    buttonZaehler_T2 = 0;
  }

  else
  {
    digitalWrite(8, HIGH);
    ;
  }
  letzterStatus_T2 = buttonstatus_T2;
  Serial.println(buttonZaehler_T2);
  delay(10);
}
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
06.12.2020, 12:48
Beitrag #2
RE: Blaulicht steuerung
Was der DFPlayer betrifft, da kannst du nur einen "Sound/Melodie" zur Zeit abspielen. Bedingt dadurch ist es sicher besser, pro Fahrzeug einen DFPlayer vorzusehen.

Die sind ja preislich nicht so hoch angesetzt.

Gruß Dieter

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. Cool
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
06.12.2020, 21:46 (Dieser Beitrag wurde zuletzt bearbeitet: 07.12.2020 06:45 von Alexander307.)
Beitrag #3
RE: Blaulicht steuerung
(06.12.2020 12:48)hotsystems schrieb:  Was der DFPlayer betrifft, da kannst du nur einen "Sound/Melodie" zur Zeit abspielen. Bedingt dadurch ist es sicher besser, pro Fahrzeug einen DFPlayer vorzusehen.

Die sind ja preislich nicht so hoch angesetzt.

Ja das habe ich auch schon bei meinem Händler des Vertrauens gesehen circa 4 Euro wenn ich mich nicht irre

Nachtrag:
Der Pin 6 ist nicht mehr belegt, da ich einfach Pin 7 als Spannungsversorgung für den Taster Horn benutze, dadurch ist schonmal gegeben das das Horn nur kommen kann wenn das Licht an ist.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
13.12.2020, 10:39
Beitrag #4
RE: Blaulicht steuerung
Hallo zusammen, hier mal die Auflistung der gegeben Punkte (s. im Sketch der diesen Chat vorne steht)
7 OUTPUT // Brücke auf Pin 6, Horn nur wenn Blaulicht an ( Dauer AN wenn BL 1 und BL 2 an ist )
8 OUTPUT // Horn ( dann Dauer AN )
9 OUTPUT // Blaulicht 1, Dach ( 100 / 125 ) millis
10 OUTPUT // Blaulicht 2, Dach ( 100 / 100 )
11 OUTPUT // Blaulicht 3, Front ( 150 / 100 )
12 OUTPUT // Blaulicht 4, Front ( 100 / 150 )
13 OUTPUT // Blaulicht 5, Heck ( 175 / 100 )
2 INPUT // Taster Licht ohne Horn
3 INPUT // Taster Licht mit Horn
[ 4 INPUT ] // Taster Licht Front aus // option
[ 5 INPUT ] // Taster Heck aus // option
6 INPUT // Brücke von Pin 7, Freigabe Horn
Der Ablauf wäre
Taster ( 2 ) tasten, es kommen die Ausgänge 9 , 10 , 11 , 12 , 13 und 7
Taster ( 2 ) tasten, die Ausgänge gehen wieder Aus
Taster ( 3 ) tasten, es kommen die Ausgänge 9 , 10 , 11 , 12 , 13 , 8 und 7
Taster ( 3 ) tasten, die Ausgänge gehen wieder Aus
Taster ( 4 ) tasten, es werden die Ausgänge 11 und 12 ausgeschaltet, wenn an
Taster ( 5 ) tasten, es wird der Ausgang 13 ausgeschaltet, wenn an

Das wäre die Aufstellung wenn es über einen Arduino läuft.
Hätte da jemand Ideen wie ich das machen könnte?
ich hatte schonmal versucht den einen Sketch vorsichtig in den anderen zu integrieren, und dann kam das Problem dass der Ausgang der blinken sollte nicht mehr blinkte sondern nurnoch leuchtete
Ansonsten würde ich zwei Arduinos benutzen einen Nano für die Blinkfrequenzen und einen MEGA für die Steuerung der Autos
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
23.12.2020, 17:20 (Dieser Beitrag wurde zuletzt bearbeitet: 23.12.2020 17:23 von Alexander307.)
Beitrag #5
RE: Blaulicht steuerung
So, ich bin immer noch am rumbasteln hiermit, ich arbeite jetzt mit einem UNO und einem MEGA. Und habe folgendes Problem mit einem Taster kann ich die gewünschten Ausgänge Ein- und Ausschalten, sobald ich aber einen zweiten Taster der die Ausgänge von Taster 1 und einen weiteren schalten soll, habe ich nur noch Chaos auf dem Board, die Relais sind nur noch im delay wert am klappern, und am Ausgang der über Taster 1 nicht kommen soll kommt immer mit.

Kann mir zufällig Jemand verraten wo ich den oder die Fehler eingebaut habe?

Hier mal der Grund Sketch und der Erweiterte

Code:
int Taster_1 = A0;
int Taster_2 = A1;
// int Taster_3 = 0;
// int Taster_4 = 1;
int LED_1 = 6;    // Dachlampen
int LED_2 = 7;    // Frontlampen
int LED_3 = 8;    // Heckleuchte
int LED_4 = 9;    // Horn

int buttonstatus_T01 = 0;    // Tasterschsltung Wagen 1 "A0 / Licht AN"
int buttonZaehler_T01 = 0;
int letzterStatus_T01 = 0;

int buttonstatus_T02 = 0;    // Tasterschsltung Wagen 1 "A1 / Licht und Horn AN"
int buttonZaehler_T02 = 0;
int letzterStatus_T02 = 0;

void setup() {

  Serial.begin(9600);
  pinMode(Taster_1,  INPUT);       // Wagen 1  Licht            "an"
  pinMode(Taster_2,  INPUT);       // Wagen 1  Licht und Ton    "an"
  //  pinMode(Taster_3,  INPUT);       // Wagen 1  Licht Front      "aus"
  //  pinMode(Taster_4,  INPUT);       // Wagen 1  Licht Heck       "aus"
  pinMode(LED_1,     OUTPUT);      // Wagen 1  Relais   "Lampen Dach"
  pinMode(LED_2,     OUTPUT);      // Wagen 1  Relais   "Lampen Front"
  pinMode(LED_3,     OUTPUT);      // Wagen 1  Relais   "Lamnpe Heck"
  pinMode(LED_4,     OUTPUT);      // Wagen 1  Relais   "Horn"

}

void loop()
{

  buttonstatus_T01 = digitalRead(Taster_1);

  if (buttonstatus_T01 != letzterStatus_T01)
  {
    if (buttonstatus_T01 == 1)
    {
      buttonZaehler_T01++;
    }

    else
    {
      digitalWrite(LED_1, HIGH);  // Dachlampen   ja
      digitalWrite(LED_2, HIGH);  // Frontlampen  ja
      digitalWrite(LED_3, HIGH);  // Hecklampe    ja
      digitalWrite(LED_4, LOW);   // Horn        nein
    }
  }

  if (buttonZaehler_T01 % 2 == 0)
  {
    digitalWrite(LED_1, LOW);     // Dachlampen  nein
    digitalWrite(LED_2, LOW);     // Frontlampen nein
    digitalWrite(LED_3, LOW);     // Hecklampe   nein
    digitalWrite(LED_4, LOW);     // Horn        nein
    buttonZaehler_T01 = 0;
  }

  else
  {
    digitalWrite(LED_1, HIGH);    // Dachlampen   ja
    digitalWrite(LED_2, HIGH);    // Frontlampen  ja
    digitalWrite(LED_3, HIGH);    // Hecklampe    ja
    digitalWrite(LED_4, LOW);    // Horn         ja
  }
  letzterStatus_T01 = buttonstatus_T01;
  Serial.println(buttonZaehler_T01);
  delay(100);

}

Code:
int Taster_1 = A0;
int Taster_2 = A1;
// int Taster_3 = 0;
// int Taster_4 = 1;
int LED_1 = 6;      //
int LED_2 = 7;      //
int LED_3 = 8;      //
int LED_4 = 9;      //

int buttonstatus_T01 = 0;    // Tasterschsltung Wagen 1 "A0 / Licht AN"
int buttonZaehler_T01 = 0;  
int letzterStatus_T01 = 0;

int buttonstatus_T02 = 0;    // Tasterschsltung Wagen 1 "A1 / Licht und Horn AN"
int buttonZaehler_T02 = 0;  
int letzterStatus_T02 = 0;

void setup() {

  Serial.begin(9600);
  pinMode(Taster_1,  INPUT);       // Wagen 1  Licht            "an"
  pinMode(Taster_2,  INPUT);       // Wagen 1  Licht und Ton    "an"
//  pinMode(Taster_3,  INPUT);       // Wagen 1  Licht Front      "aus"
//  pinMode(Taster_4,  INPUT);       // Wagen 1  Licht Heck       "aus"
  pinMode(LED_1,     OUTPUT);      // Wagen 1  Relais   "Lampen Dach"
  pinMode(LED_2,     OUTPUT);      // Wagen 1  Relais   "Lampen Front"
  pinMode(LED_3,     OUTPUT);      // Wagen 1  Relais   "Lamnpe Heck"
  pinMode(LED_4,     OUTPUT);      // Wagen 1  Relais   "Horn"

}

void loop()
{

  buttonstatus_T01 = digitalRead(Taster_1);

  if (buttonstatus_T01 != letzterStatus_T01)
  {
    if (buttonstatus_T01 == 1)
    {
      buttonZaehler_T01++;
    }

    else
    {
      digitalWrite(LED_1, HIGH);  // Dachlampen   ja
      digitalWrite(LED_2, HIGH);  // Frontlampen  ja
      digitalWrite(LED_3, HIGH);  // Hecklampe    ja
      digitalWrite(LED_4, LOW);   // Horn        nein
    }
  }

  if (buttonZaehler_T01 % 2 == 0)
  {
    digitalWrite(LED_1, LOW);     // Dachlampen  nein
    digitalWrite(LED_2, LOW);     // Frontlampen nein
    digitalWrite(LED_3, LOW);     // Hecklampe   nein
    digitalWrite(LED_4, LOW);     // Horn        nein
    buttonZaehler_T01 = 0;
  }

  else
  {
    digitalWrite(LED_1, HIGH);    // Dachlampen   ja
    digitalWrite(LED_2, HIGH);    // Frontlampen  ja
    digitalWrite(LED_3, HIGH);    // Hecklampe    ja
    digitalWrite(LED_4, HIGH);    // Horn         ja
    }
  letzterStatus_T01 = buttonstatus_T01;
  Serial.println(buttonZaehler_T01);
   delay(100);


  
  buttonstatus_T02 = digitalRead(Taster_2);

  if (buttonstatus_T02 != letzterStatus_T02)
  {
    if (buttonstatus_T02 == 1)
    {
      buttonZaehler_T02++;
    }

    else
    {
      digitalWrite(LED_1, HIGH);  // Dachlampen   ja
      digitalWrite(LED_2, HIGH);  // Frontlampen  ja
      digitalWrite(LED_3, HIGH);  // Hecklampe    ja
      digitalWrite(LED_4, HIGH);  // Horn         ja
    }
  }

  if (buttonZaehler_T02 % 2 == 0)
  {
    digitalWrite(LED_1, LOW);     // Dachlampen  nein
    digitalWrite(LED_2, LOW);     // Frontlampen nein
    digitalWrite(LED_3, LOW);     // Hecklampe   nein
    digitalWrite(LED_4, LOW);     // Horn        nein
    buttonZaehler_T02 = 0;
  }

  else
  {
    digitalWrite(LED_1, HIGH);    // Dachlampen   ja
    digitalWrite(LED_2, HIGH);    // Frontlampen  ja
    digitalWrite(LED_3, HIGH);    // Hecklampe    ja
    digitalWrite(LED_4, HIGH);    // Horn         ja
    }
  letzterStatus_T02 = buttonstatus_T02;
  Serial.println(buttonZaehler_T02);
delay(100);

  }

Ich hoffe ihr könnt mir da ein bisschen weiter helfen.

Ich sage schonmal Danke und wünsche euch ein Frohes Fest

Alex
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
23.12.2020, 17:32
Beitrag #6
RE: Blaulicht steuerung
Zitat:So, ich bin immer noch am rumbasteln hiermit, ich arbeite jetzt mit einem UNO und einem MEGA. Und habe folgendes Problem mit einem Taster kann ich die gewünschten Ausgänge Ein- und Ausschalten, sobald ich aber einen zweiten Taster der die Ausgänge von Taster 1 und einen weiteren schalten soll, habe ich nur noch Chaos auf dem Board, die Relais sind nur noch im delay wert am klappern, und am Ausgang der über Taster 1 nicht kommen soll kommt immer mit.

Warum verwendest du 2 Controller für dein Projekt ?
Und was du genau mit 2 Tastern machen möchtest, verstehe ich nicht.

Kannst du das bitte mal besser beschreiben.

Gruß Dieter

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. Cool
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
23.12.2020, 17:47
Beitrag #7
RE: Blaulicht steuerung
ich arbeite mit dem UNO später werde ich da wohl noch auf den NANO wechseln, da ich auf ihm die Blinkfrequenzen programmiert habe und mit dem MEGA werde ich dann später bis zu n8 Autos schalten können. Mit dem Ersten Taster will ich nur die Lampen einschalten, mit dem 2 Taster das Licht und das Horn aktivieren, und später ggf. mit Taster 3 die Frontlampen wieder ausschalten und Taster 4 die Heckleuchte ausschalten. So wie es auch im Original ist.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
23.12.2020, 17:58
Beitrag #8
RE: Blaulicht steuerung
(23.12.2020 17:47)Alexander307 schrieb:  ich arbeite mit dem UNO später werde ich da wohl noch auf den NANO wechseln, da ich auf ihm die Blinkfrequenzen programmiert habe und mit dem MEGA werde ich dann später bis zu n8 Autos schalten können. Mit dem Ersten Taster will ich nur die Lampen einschalten, mit dem 2 Taster das Licht und das Horn aktivieren, und später ggf. mit Taster 3 die Frontlampen wieder ausschalten und Taster 4 die Heckleuchte ausschalten. So wie es auch im Original ist.

Dann solltest du das der Übersichtlichkeit auch auf einzelne Funktionen aufteilen.
Eine Funktion für die Eingaben (Taster drücken) und eine Funktion für die Ausgaben (Lampen schalten.
Leider verstehe ich grad den Unterschied zischen Lampen und Licht nicht.

Gruß Dieter

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. Cool
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  MOBA-Steuerung per Android Merino 20 1.780 27.04.2021 20:03
Letzter Beitrag: Merino
  Thermostat Steuerung für Fußbodenheizung FALLout 16 1.498 24.01.2021 19:53
Letzter Beitrag: Tommy56
Question Steuerung Lineartisch AnS 40 4.877 06.01.2021 11:37
Letzter Beitrag: MicroBahner
  Mouse Steuerung - Absolut und Relativ, Aulösung/Skalierung Arduino4Fun 10 1.071 15.12.2020 18:14
Letzter Beitrag: Tommy56
  Terrarium Steuerung kintaro 13 1.353 12.12.2020 22:55
Letzter Beitrag: hotsystems
  Steuerung meines Gartenweges Iron_Daddy 9 1.636 11.12.2020 15:18
Letzter Beitrag: Bitklopfer
  Aquarium Steuerung sopolka 9 2.635 11.11.2020 20:15
Letzter Beitrag: sopolka
  Tag Nacht Steuerung Hühnerstall Klappe Raging Ender 10 1.778 10.09.2020 13:31
Letzter Beitrag: hotsystems
  Ramps 1.4 mit #Accel Stepper Steuerung per Serial Monitor Arduino DMX Master 14 2.674 12.08.2020 15:26
Letzter Beitrag: Arduino DMX Master
  Steuerung KFZ Hebebühne Markus3D 6 2.724 31.07.2020 14:45
Letzter Beitrag: Beatzler

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste