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
propleme beim programmieren einer steuerung für funksteckdosen
19.11.2015, 01:14
Beitrag #17
RE: propleme beim programmieren einer steuerung für funksteckdosen
Hey Leute,
Habe heute zum Glück diesen Beitrag gefunden der mir schon einmal sehr Weitergeholfen hat. Bin zur zeit dabei eine Vollautomatische Cocktailmaschiene zu Entwickeln. Ich beschäftige mich nun seit 5 tagen mit programmierung und habe auch dadurch das ich noch ein wenig unerfahren darin bin folgendes Problem. Ich habe eine Menüstruktur aufgebaut, doch wenn ich in einen Menüpunkt wechsel , welcher 4 unterpunkte hat, und Down betätige spult er alle 4 punkte schnell durch bis er unten angekommen ist. Das selbe Phänomen übrigens auch auf dem Button Up.
Achso die Buttons (Set, Up, Down, For, Back) habe ich alle durch Taster ersetzt.
Ich schicke mal das Programm rein. Probleme macht das Menü Cocktail.
Danke im vorraus.


#include <LiquidCrystal.h>
#include <Menu.h>
#include <MenuItem.h>

// Create a Display object
LiquidCrystal lcd(7,6,5,4,3,2);

// Create a Menu object (The frame you feed with MenuItems)
Menu myMenu;

// Create the MenuItems
// Name Number For Back up down
MenuItem item100("Cocktail", 100, 101, 100, 100, 200);
MenuItem item200("Reinigung", 200, 200, 200, 100, 200);
MenuItem item101("Sex On The Beach",101, 101, 100, 101, 102);
MenuItem item102("Cuba Libre", 102, 102, 100, 101, 103);
MenuItem item103("Long Island", 103, 103, 100, 102, 104);
MenuItem item104("Tequila Sunrise", 104, 104, 100, 103, 104);

int readButton; // Variable to store the last pressed Button
int select;

void SexOnTheBeach(){
digitalWrite(13, HIGH);
delay(3000);
digitalWrite(13, LOW);
}

void setup(){


// Add the display to the menu
myMenu.addLCD(&lcd);

// Add the items to the menu
myMenu.addItem(item100);
myMenu.addItem(item200);
myMenu.addItem(item101);
myMenu.addItem(item102);
myMenu.addItem(item103);
myMenu.addItem(item104);

lcd.begin(16, 2);

lcd.print("Cocktail - Max");
lcd.setCursor(0,1);
lcd.print("Version 15.11");
delay(5000);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("powered by");
lcd.setCursor(0,1);
lcd.print("S & S desings");
delay(3000);
lcd.clear();
delay(2000);
lcd.print("load...");
delay(1000);
lcd.clear();
delay(500);
lcd.print("load...");
delay(1000);
lcd.clear();
delay(500);
lcd.print("load...");
delay(1000);
lcd.clear();
delay(1000);




myMenu.begin(100); // Start at the Menu with at the MenuItem you want

pinMode(13, OUTPUT);
pinMode(8,INPUT);
pinMode(9,INPUT);
pinMode(10,INPUT);
pinMode(11,INPUT);
pinMode(12,INPUT);;// Set pinMode for Test LED
}

void loop(){
readButton = analogRead(0); // read the value from a pushed button

if(digitalRead(9)==HIGH){
myMenu.goForward();
}

if(digitalRead(9)==HIGH){
myMenu.goUp();
}

if(digitalRead(10)==HIGH){
myMenu.goDown();
}

if(digitalRead(11)==HIGH){
myMenu.goBack();
}


// Check if selectbutton was press
if(digitalRead(12)==HIGH){
select = myMenu.select(); //use select() to check if the item you are at has a runable function

switch(select){
case 101: //if found a funtion for a item run it
SexOnTheBeach();
break;

default:
break;
}
}
readButton = 1000;

}
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
19.11.2015, 05:52
Beitrag #18
RE: propleme beim programmieren einer steuerung für funksteckdosen
Hallo,

Loop ist eine Schleife, die endlos durchlaufen wird. Und jedes mal liest er den gedrückten Taster und reagiert mit einem Wechsel des Menüpunktes. Das kann mehrere hundert bis tausend male je Sekunde passieren (hängt von den im Loop zu erledigenden Befehlen ab). So kurz kannst du nicht drücken.

Abhilfe: Erfasse nicht den gedrückten Taster sondern das drücken des Tasters (Wechsel des Zustandes) - kann aber durch Prellen auch mehrfach ausgelöst werden (Entprellen ggf. nötig).

Gruß Rainer
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
19.11.2015, 11:06
Beitrag #19
RE: propleme beim programmieren einer steuerung für funksteckdosen
Ich habe den Fehler gefunden. Hatte als "Massewiederstand" zum Taster hin mich in meinem Sortiment Vergriffen und einen 10K statt 100K eingesetzt. Jetzt funzt es einwandfrei. <trotzdem danke für die Schnelle Antwort.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  selbstlernende brennenstuhl funksteckdosen schalten Schwinge117 6 214 20.02.2018 14:04
Letzter Beitrag: ardun
  Servo Steuerung mit PCA 9685 (Adressiernung) bernhard66 2 102 19.02.2018 19:05
Letzter Beitrag: bernhard66
  Brauche Unterstützung bei Programmieren Geeros#18 4 336 12.02.2018 22:14
Letzter Beitrag: Chopp
  [Frage] Unterschied zwischen &=~ und ^= beim Bit ändern auf dem Port? avoid 13 741 11.01.2018 00:53
Letzter Beitrag: avoid
  Arduino zu MySQL via Wifi Fehler beim compilieren Franzel007 21 857 05.01.2018 20:24
Letzter Beitrag: Tommy56
  While Schleife in einer If abfrage Thorsten_S 4 317 30.12.2017 16:37
Letzter Beitrag: Thorsten_S
  Makeblock mit Scratch programmieren- Probleme Keinen Schimmer 17 3.997 30.12.2017 00:40
Letzter Beitrag: koma1965
  Schieberegister LED Steuerung zeitlich anpassen Noformat 18 789 17.12.2017 16:45
Letzter Beitrag: Noformat
  Fehlermeldung beim Compilieren DonCamillo 1 327 16.12.2017 21:04
Letzter Beitrag: Chopp
  Arduino mit Android programmieren. maxx 4 464 28.11.2017 18:32
Letzter Beitrag: hotsystems

Gehe zu:


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