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
Digital Input spinnt.
20.04.2015, 16:50
Beitrag #1
Digital Input spinnt.
Hallo,

ich möchte mein LCD Display über einen Taster anschalten können. Ein Knopf verbindet +5V mit einem digitalen input. Wenn der Input (Pin 53) = High ist, soll das Display an gehen bzw die Display schleife durchlaufen werden.

Komischerweise empfängt der Pin falsche Signale . Manchmal ist sogar kein Kabel angeschlossen und er empfängt eine 1 also Hight.

Woher kommt dieses Problem? Ich habe den Sketch mal angefügt:


#include <LiquidCrystal.h>
#include <Servo.h>
#include <OneWire.h>
#include <DallasTemperature.h>


Servo motor1;

OneWire oneWire(10);

DallasTemperature sensors(&oneWire);
int led = 13;
int knopf = 53; // Knopf fuer display an aus

LiquidCrystal lcd(7, 6, 5, 4, 3, 2); // Intialisierung fuer Display



void setup() {

pinMode(led, OUTPUT);
pinMode(knopf, INPUT);

sensors.begin(); // Kommunikation mit der Konsole
Serial.begin(9600);
motor1.attach(9);

}

// Anfordern der Temperaturdaten und schreiben in Konsole

void loop() {

// lcd.display();

sensors.requestTemperatures();
float currentTemp0;
float currentTemp1;
currentTemp0 = sensors.getTempCByIndex(0);
currentTemp1 = sensors.getTempCByIndex(1);
Serial.print("Temperatur Sensor Nr 1: ");
Serial.println(currentTemp0);
Serial.print("Temperatur Sensor Nr 2: ");
Serial.println(currentTemp1);
Serial.println( digitalRead(8));



if ( currentTemp0 > currentTemp1) { // Anweisungen an den Servo
motor1.write(20);
}
else {
motor1.write(140);
}



if (digitalRead(53) == HIGH) {

lcd.begin(16, 2);
lcd.print("Temp. 1: ");
lcd.print(currentTemp0);
lcd.setCursor(0, 1);
lcd.print("Temp. 2: ");
lcd.print(currentTemp1);
}
else {
lcd.noDisplay();
}


}



Mit freundlichen Grüßen
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
20.04.2015, 17:07
Beitrag #2
RE: Digital Input spinnt.
(20.04.2015 16:50)SpeedShifter schrieb:  ich möchte mein LCD Display über einen Taster anschalten können. Ein Knopf verbindet +5V mit einem digitalen input.
[...]
Komischerweise empfängt der Pin falsche Signale . Manchmal ist sogar kein Kabel angeschlossen und er empfängt eine 1 also Hight.
Woher kommt dieses Problem? Ich habe den Sketch mal angefügt:
Das ist ganz normal. Die Dinger sind so empfindlich, dass ein offener Pin mal das, mal das "anzeigt". D.h. Du darfst einen Pin nie "offen" lassen. Wenn Du also einen Taster anschließt, dann ist der Pin "offen", so lange der Taster nicht gedrückt ist. Was Du dann liest ist mehr oder weniger Zufall. Abhilfe schafft da ein "Pull-Down Widerstand", den Du zwischen dem Pin und GND einfügst. So ungefähr 10kOhm sind ein guter Wert.
Es gibt aber auch die elegantere Version: Den Pin über den Taster mit GND verbinden und nicht mit +5V. Dann im Programm "pinMode(knopf, INPUT_PULLUP);" hinschreiben. Das aktiviert einen internen Pull-Up Widerstand, der den offenen Pin auf HIGH zieht. D.h. ist der Knopf gedrückt, dann geht der Pin auf LOW, ansonsten bleibt er HIGH.
Gruß,
Thorsten

Falls ich mit einer Antwort helfen konnte, wuerde ich mich freuen, ein paar Fotos oder auch ein kleines Filmchen des zugehoerigen Projekts zu sehen.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
20.04.2015, 18:18
Beitrag #3
RE: Digital Input spinnt.
Sehr hilfreiche Antwort werde ich gleich ausprobieren =)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
20.04.2015, 19:30
Beitrag #4
RE: Digital Input spinnt.
Also hat wunderbar funktioniert vielen Dank.

Jetzt versuche ich das ganze auf den Arduino Nano ( China Clone) zu übertragen um nicht den "teuren" und großen Mega verschwenden zu müssen. Den Sketch kann ich jedoch nicht hochladen. Nachdem anschließen über USB leuchtet die grüne Power Lampe und die rote Lampe, an der ein L aufgedruckt ist, blinkt. Ich habe ein MacBook Pro und habe auch schon einen FTDI Treiber installiert. Jedoch hat auch dies nichts gebracht.

Gruß
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
20.04.2015, 19:38 (Dieser Beitrag wurde zuletzt bearbeitet: 20.04.2015 19:42 von Thorsten Pferdekämper.)
Beitrag #5
RE: Digital Input spinnt.
Hi,
wahrscheinlich hat der einen CH340 oder sowas drauf. Such mal nach CH341SER, da solltest Du einige Seiten finden, wo Du den Treiber runterladen kannst. Falls nicht, dann schreib mir ne PN mit Deiner Mailadresse.
Gruß,
Thorsten

EDIT: Hab gerade gesehen, dass Du einen Mac hast. Dann wird eine PN an mich nicht viel bringen.

Falls ich mit einer Antwort helfen konnte, wuerde ich mich freuen, ein paar Fotos oder auch ein kleines Filmchen des zugehoerigen Projekts zu sehen.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
20.04.2015, 19:40
Beitrag #6
RE: Digital Input spinnt.
Schau mal nach an welcher (emulierten) seriellen Schnittstelle der Nano angebunden wird. Mit Mac kenne ich mich nicht aus, aber das wird wahrscheinlich auch nicht anders sein als bei Windows.

Dann in der Arduino-IDE die richtige Schnittstelle und auch das richtige Board auswählen.

Wenn das alles noch immer nicht funktioniert, dann schreibe doch hier mal die Fehlermeldung, die die IDE bringt.


Gruss Ralf
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
20.04.2015, 20:50
Beitrag #7
RE: Digital Input spinnt.
Hallo,

ich habe das neuste Betriebssystem (Yosemite). Hier soll das ganze nicht mehr mit dem CH341SER funktionieren. Habe ihn jetzt mit einem Windoof Laptop programmiert Wink Wie stelle ich denn eine Stromversorgung her? Rumbasteln oder gibt es in die Richtung schon was vorgefertigtes?

Gruß
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
20.04.2015, 22:01
Beitrag #8
RE: Digital Input spinnt.
Hi,
also entweder nimmst Du ein geregeltes (!) 5V-Netzteil und schließt es an 5V/GND an oder an die USB-Buchse.
Ansonsten gibt's noch einen Vin oder so Pin, an dem man mit 7-12V reingehen kann. Ich glaube, die Spezifikation spricht sogar von 7-20V, aber das würde ich dem Ding nicht unbedingt antun.
Gruß,
Thorsten

Falls ich mit einer Antwort helfen konnte, wuerde ich mich freuen, ein paar Fotos oder auch ein kleines Filmchen des zugehoerigen Projekts zu sehen.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  EMP setzt Input-PIN kurzzeitig auf HIGH holo 6 446 24.02.2016 19:25
Letzter Beitrag: Carlo
  Eingang analog oder digital? Wie macht man es richtig? Gelegenheitsbastler 3 978 25.03.2015 15:45
Letzter Beitrag: Bitklopfer
  Digital-Tacho Jim 11 2.695 13.02.2015 19:39
Letzter Beitrag: Jim
  Analog/Digital-Umsetzer Cray-1 3 901 27.12.2014 17:56
Letzter Beitrag: MaHa1976
  Convert Digital Inputs to Integer Heino 2 1.503 24.02.2013 22:27
Letzter Beitrag: rabam

Gehe zu:


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