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
  Fehler beim Kompilieren für das Board ... Kurt Wallander 20 351 13.11.2019 21:55
Letzter Beitrag: Tommy56
  DCF77 Fehler beim Kompilieren Xwill 6 1.151 11.11.2019 19:55
Letzter Beitrag: Kurt Wallander
  Aktivierung nur in einer bestimmten Zeit Prospekteur 48 2.202 14.09.2019 12:57
Letzter Beitrag: MicroBahner
  Microcontroller per Arduino programmieren? Stagneth.Alexander 11 980 04.09.2019 15:40
Letzter Beitrag: hotsystems
Lightbulb Abspielen einer Sounddatei durch Aktivierung eines Bewegungsmelders FeLu 6 454 03.09.2019 20:45
Letzter Beitrag: hotsystems
  Steuerung KFZ Hebebühne Markus3D 5 674 02.09.2019 09:36
Letzter Beitrag: Markus3D
  Fehler beim Hochladen auf Atmega 328 delay 17 1.283 30.07.2019 12:33
Letzter Beitrag: Tommy56
  Makeblock mit Scratch programmieren- Probleme Keinen Schimmer 18 12.433 27.05.2019 15:53
Letzter Beitrag: Hellow2
  Serielle Ansteuerung einer I2C LCD, Darstellung von Zahlen Peter05 7 952 21.05.2019 21:06
Letzter Beitrag: Bitklopfer
  Programmierung einer Uhr keklik10 6 1.096 22.04.2019 22:45
Letzter Beitrag: GuaAck

Gehe zu:


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