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
Div. Modi mit unterschiedlichen PWM
12.10.2015, 23:09
Beitrag #1
Div. Modi mit unterschiedlichen PWM
Hallo zusammen,

lange Zeit war ich stiller Mitleser in diesem Forum, aber heute wende ich mich mal an Euch, da ich leider nicht mehr weiter weiß.

Für ein Projekt möchte ich mehrere Modi mit einem Taster durchschalten (LEDs gehen an oder aus) und in jedem Modi die PWM der LED per Poti einstellen. Der eingestellte Wert des Poti soll gespeichert werden und in den diversen Modi sowie nach Neustart verfügbar sein.

Die Modi sehen wie folgt aus:

1) komplett aus, keine LED leuchtet
2) LED1 leuchtet und kann per Poti eingestellt werden
3) LED1 leuchtet nicht, LED2 leuchtet und kann mit Poti eingestellt werden
4) LED1 und LED2 leuchten mit ihren jeweils eingestellten Poti-Werten.

Code:
#include <EEPROM.h>

enum {MODE1, MODE2, MODE3, OFFMODE}; // symbolische Konstanten für die Betriebsarten
int mode = OFFMODE;          // Beim Start LED aus

int blauPin = 11;
int gelbPin = 10;
int buttonPin = 7;

const int analogInPin = A0;
const int analogOutPin = 10;
int sensorValue = 0;
int outputValue = 0;

int t;
int t2;
int test;
int test2;

void setup() {
  pinMode(blauPin, OUTPUT);         // LED Blau
  pinMode(gelbPin, OUTPUT);         // LED Gelb
  pinMode(buttonPin, INPUT);        // Signal - Taster
  Serial.begin(9600);
}

boolean buttonPressed() // Taster abfragen auf drücken des Buttons
{
  static boolean lastButtonState;
  boolean buttonState=digitalRead(buttonPin);
  if (buttonState!=lastButtonState) // Status hat sich geändert
  {
    lastButtonState=buttonState;  // letzten Status merken
    if (buttonState==HIGH) return true; // Status hat sich auf "gedrückt" geändert
  }
  return false;
}




void loop() { // Loopfunktion nach dem EVA-Prinzip: Eingabe - Verarbeitung - Ausgabe
  // Eingabe (Taster abfragen)
  sensorValue = analogRead(analogInPin);
  outputValue = map(sensorValue, 0, 1023, 0, 255);
  //Serial.println(sensorValue);
  Serial.println(outputValue);

  
  if (buttonPressed())
  {
    mode++;
    if (mode>OFFMODE) mode=MODE1;
  }
  // Verarbeitung
  analogWrite(blauPin, 0);
  analogWrite(gelbPin, 0);
  
  if (mode==MODE1)
  {
  EEPROM.write(test, outputValue);
  t = EEPROM.read(test);
  //analogWrite(blauPin ,t);
  
  }
  
  if (mode==MODE2)
  {
  EEPROM.write(test2, outputValue);
  t2 = EEPROM.read(test2);
  //analogWrite(gelbPin ,t2);
  
  }
  
  if (mode==MODE3)
  {

  }
  
  // Ausgabe
  analogWrite(blauPin ,t);
  analogWrite(gelbPin ,t2);
  
  delay(5);  // kurzes delay zum Entprellen des Tasters
}

Ich hoffe ihr könnt mir weiterhelfen!
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
13.10.2015, 05:57
Beitrag #2
RE: Div. Modi mit unterschiedlichen PWM
Hi,
nun den Wert eines Poti's zu speichern macht wenig Sinn da seine mechanische Stellung schon der "Speicher" ist. Ergo braucht man beim Programmstart nur das Poti neu einlesen und gut ist.
Was du im EEPROM Speichern kannst ist der Zustand ob die LED's ein oder aus sein sollen...also die letzte Einstellung - das geht.
lgbk

1+1 = 10 Angel ...und ich bin hier nicht der Suchmaschinen-Ersatz Dodgy...nur mal so als genereller Tipp..
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
13.10.2015, 20:32
Beitrag #3
RE: Div. Modi mit unterschiedlichen PWM
Vielen Dank für die Antwort. Jedoch glaube ich, dass ich mich vielleicht falsch ausgedrückt habe. Der Knackpunkt meines Vorhabens ist (glaube ich) der vierte Zustand. Hier leuchten beide LEDs (bzw. nachher LED-Stripes) aber in Ihrer vorher eingestellten Helligkeit. Das heißt LED1 kann eine völlig andere Helligkeit aufweisen als LED2.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
13.10.2015, 22:13
Beitrag #4
RE: Div. Modi mit unterschiedlichen PWM
...dann würde ich dir generell eine andere Bedienoberfläche empfehlen.
WEIL, wenn du dann per Poti die Helligkeit des Zweiten Stripes eingestellt hast und dann per Taste auf den Ersten Stripe zurückkommst hast du da dann automatisch auch die Helligkeit vom Zweiten Stripe anliegen.
Also da würde ich dann auf eine Helligkeitseinstellung per Tasten oder Drehencoder gehen weil es da dann keine "Speicherung" per Mechanik gibt.
lgbk

1+1 = 10 Angel ...und ich bin hier nicht der Suchmaschinen-Ersatz Dodgy...nur mal so als genereller Tipp..
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  4 Anzeigen mit unterschiedlichen zufälligen Zahlen Gravia 4 433 10.02.2016 06:05
Letzter Beitrag: Gravia
  Taschenlampen Modi ein/aus schalten timsson 8 1.354 15.02.2015 13:53
Letzter Beitrag: timsson
  Zähler in verschiedenen Modi betreiben Nimes 2 663 25.09.2014 10:19
Letzter Beitrag: Nimes

Gehe zu:


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