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
  Fehlermedungen beim Kompilieren Franz54 7 114 07.12.2016 14:29
Letzter Beitrag: Pit
  Ausschaltverzögerung bei einer PV Heizung Hans_Maulwurf 27 736 29.11.2016 23:38
Letzter Beitrag: georg01
  Infrarot zu RS232 für Steuerung DG0JG 46 692 22.10.2016 11:35
Letzter Beitrag: hotsystems
  Slider Steuerung, Programmierung blueblack 21 622 16.10.2016 22:31
Letzter Beitrag: blueblack
  Hilfe: IR Remote Steuerung, MSGEQ7 + RGB-LED Streifen dastob 1 123 14.10.2016 21:40
Letzter Beitrag: hotsystems
  Fehler beim Kompilieren binderj1 5 295 03.10.2016 21:27
Letzter Beitrag: hotsystems
  ESP8266 Webserver Programmieren HDT 11 774 23.08.2016 13:28
Letzter Beitrag: HDT
  Fehler beim Speichern von Projekten Manni66 16 688 23.08.2016 10:05
Letzter Beitrag: hotsystems
  Arduino hängt beim Upload deranda 11 505 12.08.2016 21:27
Letzter Beitrag: hotsystems
  IDE 1.7.10 und Attiny programmieren Seewolf 7 480 06.08.2016 11:49
Letzter Beitrag: Seewolf

Gehe zu:


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