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
Encoder: Zahl mit einer Nachkommastelle erzeugen
13.08.2014, 17:24
Beitrag #49
RE: Encoder: Zahl mit einer Nachkommastelle erzeugen
(13.08.2014 17:18)Thorsten Pferdekämper schrieb:  Hi,
klar, der Sensor braucht auch eine Weile.
Aber: Kleiner Fehler meinerseits:
Code:
if(last - millis() < 1000) exit;
Das ist natürlich Blödsinn. Es muss so heißen:
Code:
if(millis() - last < 1000) exit;
Probier das mal, dann müsste es auch mit dem Sensor gehen.
Könnte sein, dass es etwas holprig ist, aber dagegen kann man vielleicht auch noch was machen.

Leider nichtSad es kam nur einmal kurz eine 0.1, die nicht mehr wegging.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
13.08.2014, 18:25
Beitrag #50
RE: Encoder: Zahl mit einer Nachkommastelle erzeugen
Hi,
na das ist ja schonmal ein Fortschritt.
Das Problem scheint das Sensirion.measure zu sein. Das kann anscheinend auch mal ein paar Sekunden dauern, dann ist man natürlich gekniffen. Was Du brauchst ist die "non-blocking" Variante. Schau Dir das hier mal an:
http://playground.arduino.cc/code/Sensirion
Da ist unter "Example code" auch eine nicht-blockierende Möglichkeit versteckt. Am besten, Du versuchst das erstmal in einem neuen Sketch zum Laufen zu bringen und integrierst es dann später.
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
13.08.2014, 18:35 (Dieser Beitrag wurde zuletzt bearbeitet: 13.08.2014 19:01 von Cray-1.)
Beitrag #51
RE: Encoder: Zahl mit einer Nachkommastelle erzeugen
(13.08.2014 18:25)Thorsten Pferdekämper schrieb:  Hi,
na das ist ja schonmal ein Fortschritt.
Das Problem scheint das Sensirion.measure zu sein. Das kann anscheinend auch mal ein paar Sekunden dauern, dann ist man natürlich gekniffen. Was Du brauchst ist die "non-blocking" Variante. Schau Dir das hier mal an:
http://playground.arduino.cc/code/Sensirion
Da ist unter "Example code" auch eine nicht-blockierende Möglichkeit versteckt. Am besten, Du versuchst das erstmal in einem neuen Sketch zum Laufen zu bringen und integrierst es dann später.
Gruß,
Thorsten

Vielen Dank, werde mich melden, wenn's Fortschritte gibt.

Gruß
Cray-1

(13.08.2014 18:35)Cray-1 schrieb:  
(13.08.2014 18:25)Thorsten Pferdekämper schrieb:  Hi,
na das ist ja schonmal ein Fortschritt.
Das Problem scheint das Sensirion.measure zu sein. Das kann anscheinend auch mal ein paar Sekunden dauern, dann ist man natürlich gekniffen. Was Du brauchst ist die "non-blocking" Variante. Schau Dir das hier mal an:
http://playground.arduino.cc/code/Sensirion
Da ist unter "Example code" auch eine nicht-blockierende Möglichkeit versteckt. Am besten, Du versuchst das erstmal in einem neuen Sketch zum Laufen zu bringen und integrierst es dann später.
Gruß,
Thorsten

Vielen Dank, werde mich melden, wenn's Fortschritte gibt.

Gruß
Cray-1

Puuuuh, der Beispiel-sketch läuft, aber dann kommt ein Fehler: error: CRC mismatched. Ich versteh den Sinn dieses Programms nicht so recht

/*
* Example code for SHT1x or SHT7x sensors demonstrating blocking calls
* for temperature and humidity measurement in the setup routine and
* non-blocking calls in the main loop. The pin 13 LED is flashed as a
* background task while temperature and humidity measurements are made.
* Note that the status register read/write demonstration code places the
* sensor in low resolution mode. Delete it to stay in high res mode.
*
* This example contains two versions of the code: one that checks library
* function return codes for error indications and one that does not.
* The version with error checking may be useful in debuging possible
* connection issues with the sensor. A #define selects between versions.
*/

#include <Sensirion.h>

#define ENA_ERRCHK // Enable error checking code

const byte dataPin = 13; // SHTxx serial data
const byte sclkPin = 11; // SHTxx serial clock
const byte ledPin = 13; // Arduino built-in LED
const unsigned long TRHSTEP = 5000UL; // Sensor query period
const unsigned long BLINKSTEP = 250UL; // LED blink period

Sensirion sht = Sensirion(dataPin, sclkPin);

unsigned int rawData;
float temperature;
float humidity;
float dewpoint;

byte ledState = 0;
byte measActive = false;
byte measType = TEMP;

unsigned long trhMillis = 0; // Time interval tracking
unsigned long blinkMillis = 0;

#ifdef ENA_ERRCHK

// This version of the code checks return codes for errors
byte error = 0;

void setup() {
byte stat;
Serial.begin(9600);
pinMode(ledPin, OUTPUT);
delay(15); // Wait >= 11 ms before first cmd
// Demonstrate status register read/write
if (error = sht.readSR(&stat)) // Read sensor status register
logError(error);
Serial.print("Status reg = 0x");
Serial.println(stat, HEX);
if (error = sht.writeSR(LOW_RES)) // Set sensor to low resolution
logError(error);
if (error = sht.readSR(&stat)) // Read sensor status register again
logError(error);
Serial.print("Status reg = 0x");
Serial.println(stat, HEX);
// Demonstrate blocking calls
if (error = sht.measTemp(&rawData)) // sht.meas(TEMP, &rawData, BLOCK)
logError(error);
temperature = sht.calcTemp(rawData);
if (error = sht.measHumi(&rawData)) // sht.meas(HUMI, &rawData, BLOCK)
logError(error);
humidity = sht.calcHumi(rawData, temperature);
dewpoint = sht.calcDewpoint(humidity, temperature);
logData();
}

void loop() {
unsigned long curMillis = millis(); // Get current time

// Rapidly blink LED. Blocking calls take too long to allow this.
if (curMillis - blinkMillis >= BLINKSTEP) { // Time to toggle the LED state?
ledState ^= 1;
digitalWrite(ledPin, ledState);
blinkMillis = curMillis;
}

// Demonstrate non-blocking calls
if (curMillis - trhMillis >= TRHSTEP) { // Time for new measurements?
measActive = true;
measType = TEMP;
if (error = sht.meas(TEMP, &rawData, NONBLOCK)) // Start temp measurement
logError(error);
trhMillis = curMillis;
}
if (measActive && (error = sht.measRdy())) { // Check measurement status
if (error != S_Meas_Rdy)
logError(error);
if (measType == TEMP) { // Process temp or humi?
measType = HUMI;
temperature = sht.calcTemp(rawData); // Convert raw sensor data
if (error = sht.meas(HUMI, &rawData, NONBLOCK)) // Start humi measurement
logError(error);
} else {
measActive = false;
humidity = sht.calcHumi(rawData, temperature); // Convert raw sensor data
dewpoint = sht.calcDewpoint(humidity, temperature);
logData();
}
}
}

#else // If ENA_ERRCHK is not defined

// This code is the same as above but without error checking
void setup() {
byte stat;
byte error = 0;
Serial.begin(9600);
pinMode(ledPin, OUTPUT);
delay(15); // Wait >= 11 ms before first cmd
// Demonstrate status register read/write
sht.readSR(&stat); // Read sensor status register
Serial.print("Status reg = 0x");
Serial.println(stat, HEX);
sht.writeSR(LOW_RES); // Set sensor to low resolution
sht.readSR(&stat); // Read sensor status register again
Serial.print("Status reg = 0x");
Serial.println(stat, HEX);
// Demonstrate blocking calls
sht.measTemp(&rawData); // sht.meas(TEMP, &rawData, BLOCK)
temperature = sht.calcTemp(rawData);
sht.measHumi(&rawData); // sht.meas(HUMI, &rawData, BLOCK)
humidity = sht.calcHumi(rawData, temperature);
dewpoint = sht.calcDewpoint(humidity, temperature);
logData();
}

void loop() {
unsigned long curMillis = millis(); // Get current time

// Rapidly blink LED. Blocking calls take too long to allow this.
if (curMillis - blinkMillis >= BLINKSTEP) { // Time to toggle the LED state?
ledState ^= 1;
digitalWrite(ledPin, ledState);
blinkMillis = curMillis;
}

// Demonstrate non-blocking calls
if (curMillis - trhMillis >= TRHSTEP) { // Time for new measurements?
measActive = true;
measType = TEMP;
sht.meas(TEMP, &rawData, NONBLOCK); // Start temp measurement
trhMillis = curMillis;
}
if (measActive && sht.measRdy()) { // Check measurement status
if (measType == TEMP) { // Process temp or humi?
measType = HUMI;
temperature = sht.calcTemp(rawData); // Convert raw sensor data
sht.meas(HUMI, &rawData, NONBLOCK); // Start humi measurement
} else {
measActive = false;
humidity = sht.calcHumi(rawData, temperature); // Convert raw sensor data
dewpoint = sht.calcDewpoint(humidity, temperature);
logData();
}
}
}

#endif // End of non-error-checking example

void logData() {
Serial.print("Temperature = "); Serial.print(temperature);
Serial.print(" C, Humidity = "); Serial.print(humidity);
Serial.print(" %, Dewpoint = "); Serial.print(dewpoint);
Serial.println(" C");
}

// The following code is only used with error checking enabled
void logError(byte error) {
switch (error) {
case S_Err_NoACK:
Serial.println("Error: No response (ACK) received from sensor!");
break;
case S_Err_CRC:
Serial.println("Error: CRC mismatch!");
break;
case S_Err_TO:
Serial.println("Error: Measurement timeout!");
break;
default:
Serial.println("Unknown error received!");
break;
}
}
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
14.08.2014, 15:37 (Dieser Beitrag wurde zuletzt bearbeitet: 14.08.2014 16:18 von Cray-1.)
Beitrag #52
RE: Encoder: Zahl mit einer Nachkommastelle erzeugen
Hi,
so wie ich das verstanden habe liegt das Problem an dem "delay". während dieser Zeit ist der Uno quasi blockiert. Was ich nicht verstehe ist das non-blocking-Programm. Es ist, meiner Meinung nach, nicht möglich, das Programm in ein anderes zu integrieren.

Gruß
Cray-1

(14.08.2014 15:37)Cray-1 schrieb:  Hi,
so wie ich das verstanden habe liegt das Problem an dem "delay". während dieser Zeit ist der Uno quasi blockiert. Was ich nicht verstehe ist das non-blocking-Programm. Es ist, meiner Meinung nach, nicht möglich, das Programm in ein anderes zu integrieren.

Gruß
Cray-1

Hi,
habe das zusammengestellt, funktioniert nur die Temperatur zeigt -20 statt +20 an.
Hier der Code:

#include <Encoder.h>
#include <LiquidCrystal.h>

/*
* Example code for SHT1x or SHT7x sensors demonstrating blocking calls
* for temperature and humidity measurement in the setup routine and
* non-blocking calls in the main loop. The pin 13 LED is flashed as a
* background task while temperature and humidity measurements are made.
*/

#include <Sensirion.h>

const uint8_t dataPin = 12; // SHT serial data
const uint8_t sclkPin = 11; // SHT serial clock
const uint8_t ledPin = 13; // Arduino built-in LED
const uint32_t TRHSTEP = 5000UL; // Sensor query period
const uint32_t BLINKSTEP = 250UL; // LED blink period

Sensirion sht = Sensirion(dataPin, sclkPin);

/*Display-Pinbelegung (RS, R/W, ENABLE, D4, D5, D6, D7)*/
LiquidCrystal lcd(8, 9, 10, 2, 3, 4, 7);

/*Initialisierung des Inkrementalgebers*/
Encoder myEnc(5, 6);

uint16_t rawData;
float temperature;
float humidity;
float dewpoint;
double Solltemperatur;

byte ledState = 0;
byte measActive = false;
byte measType = TEMP;

unsigned long trhMillis = 0; // Time interval tracking
unsigned long blinkMillis = 0;

void setup() {
Serial.begin(9600);
pinMode(ledPin, OUTPUT);
delay(15); // Wait >= 11 ms before first cmd
// Demonstrate blocking calls
sht.measTemp(&rawData); // sht.meas(TEMP, &rawData, BLOCK)
temperature = sht.calcTemp(rawData);
sht.measHumi(&rawData); // sht.meas(HUMI, &rawData, BLOCK)
humidity = sht.calcHumi(rawData, temperature);
dewpoint = sht.calcDewpoint(humidity, temperature);
logData();
/*+++++++++++++++++++++++++++++++++++++++++++++++++++++*/
/*Display-Setup: die anzahl der Zeichen, die Anzahl der Zeilen*/
lcd.begin(16, 2);


}

long oldPosition = -999;



void loop() {
unsigned long curMillis = millis(); // Get current time

// Rapidly blink LED. Blocking calls take too long to allow this.
if (curMillis - blinkMillis >= BLINKSTEP) { // Time to toggle the LED state?
ledState ^= 1;
digitalWrite(ledPin, ledState);
blinkMillis = curMillis;
}

// Demonstrate non-blocking calls
if (curMillis - trhMillis >= TRHSTEP) { // Time for new measurements?
measActive = true;
measType = TEMP;
sht.meas(TEMP, &rawData, NONBLOCK); // Start temp measurement
trhMillis = curMillis;
}
if (measActive && sht.measRdy()) { // Note: no error checking
if (measType == TEMP) { // Process temp or humi?
measType = HUMI;
temperature = sht.calcTemp(rawData); // Convert raw sensor data
sht.meas(HUMI, &rawData, NONBLOCK); // Start humidity measurement
}
else {
measActive = false;
humidity = sht.calcHumi(rawData, temperature); // Convert raw sensor data
dewpoint = sht.calcDewpoint(humidity, temperature);
logData();
}
}
/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++*/

/*Cursor setzen*/
lcd.setCursor(0, 0);
lcd.print("Isttemp:");
lcd.setCursor(9, 0);
lcd.print(temperature);

/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++*/

long newPosition = myEnc.read()/4;
if (newPosition != oldPosition)
{
oldPosition = newPosition;
double erzeugteZahl = newPosition;
Solltemperatur = erzeugteZahl/10;
Serial.println(Solltemperatur);
}

lcd.setCursor(0, 1);
lcd.print("Solltemp:");
lcd.setCursor(10, 1);
lcd.print(Solltemperatur);







}
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
14.08.2014, 21:55
Beitrag #53
RE: Encoder: Zahl mit einer Nachkommastelle erzeugen
Hi,
das einzige, was mir auffällt, ist dass Du die Funktion logData aufrufst, die aber nirgends definiert ist. Ist das wirklich das Coding, das auf Deinem Arduino läuft?
Ansonsten: Mach mal einen neuen Sketch, der nur die non-blocking Temperaturabfrage enthält und das Ergebnis auf Serial ausgibt. Da ist momentan zu viel anderer Kram, da ist nicht klar wo es hängt.
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
15.08.2014, 08:36
Beitrag #54
RE: Encoder: Zahl mit einer Nachkommastelle erzeugen
(14.08.2014 21:55)Thorsten Pferdekämper schrieb:  Hi,
das einzige, was mir auffällt, ist dass Du die Funktion logData aufrufst, die aber nirgends definiert ist. Ist das wirklich das Coding, das auf Deinem Arduino läuft?
Ansonsten: Mach mal einen neuen Sketch, der nur die non-blocking Temperaturabfrage enthält und das Ergebnis auf Serial ausgibt. Da ist momentan zu viel anderer Kram, da ist nicht klar wo es hängt.
Gruß,
Thorsten

Hi,
das ist der Sketch von der genannten Seite. Es gibt aber auch eine non-blocking Methode in den Beispielen, die ist aber sehr umfangreich und enthält zweimal loop und setup.

Gruß
Cray-1
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
15.08.2014, 16:16
Beitrag #55
RE: Encoder: Zahl mit einer Nachkommastelle erzeugen
Hi, also der Beispiel-Sketch non-blocking läuft einwandfrei. Aber ich verstehe nicht, wo ich nun Display- und Encoder-Programm einfügen soll. Und später kommt ja auch noch die Peltiersteuerung mit PID-Regler dazu. Wie soll das denn alles zusammen funktionieren?Huh

Gruß
Cray-1


/*
* Example code for SHT1x or SHT7x sensors demonstrating blocking calls
* for temperature and humidity measurement in the setup routine and
* non-blocking calls in the main loop. The pin 13 LED is flashed as a
* background task while temperature and humidity measurements are made.
* Note that the status register read/write demonstration code places the
* sensor in low resolution mode. Delete it to stay in high res mode.
*
* This example contains two versions of the code: one that checks library
* function return codes for error indications and one that does not.
* The version with error checking may be useful in debuging possible
* connection issues with the sensor. A #define selects between versions.
*/

#include <Sensirion.h>

#define ENA_ERRCHK // Enable error checking code

const byte dataPin = 2; // SHTxx serial data
const byte sclkPin = 3; // SHTxx serial clock
const byte ledPin = 13; // Arduino built-in LED
const unsigned long TRHSTEP = 5000UL; // Sensor query period
const unsigned long BLINKSTEP = 250UL; // LED blink period

Sensirion sht = Sensirion(dataPin, sclkPin);

unsigned int rawData;
float temperature;
float humidity;
float dewpoint;

byte ledState = 0;
byte measActive = false;
byte measType = TEMP;

unsigned long trhMillis = 0; // Time interval tracking
unsigned long blinkMillis = 0;

#ifdef ENA_ERRCHK

// This version of the code checks return codes for errors
byte error = 0;

void setup() {
byte stat;
Serial.begin(9600);
pinMode(ledPin, OUTPUT);
delay(15); // Wait >= 11 ms before first cmd
// Demonstrate status register read/write
if (error = sht.readSR(&stat)) // Read sensor status register
logError(error);
Serial.print("Status reg = 0x");
Serial.println(stat, HEX);
if (error = sht.writeSR(LOW_RES)) // Set sensor to low resolution
logError(error);
if (error = sht.readSR(&stat)) // Read sensor status register again
logError(error);
Serial.print("Status reg = 0x");
Serial.println(stat, HEX);
// Demonstrate blocking calls
if (error = sht.measTemp(&rawData)) // sht.meas(TEMP, &rawData, BLOCK)
logError(error);
temperature = sht.calcTemp(rawData);
if (error = sht.measHumi(&rawData)) // sht.meas(HUMI, &rawData, BLOCK)
logError(error);
humidity = sht.calcHumi(rawData, temperature);
dewpoint = sht.calcDewpoint(humidity, temperature);
logData();
}

void loop() {
unsigned long curMillis = millis(); // Get current time

// Rapidly blink LED. Blocking calls take too long to allow this.
if (curMillis - blinkMillis >= BLINKSTEP) { // Time to toggle the LED state?
ledState ^= 1;
digitalWrite(ledPin, ledState);
blinkMillis = curMillis;
}

// Demonstrate non-blocking calls
if (curMillis - trhMillis >= TRHSTEP) { // Time for new measurements?
measActive = true;
measType = TEMP;
if (error = sht.meas(TEMP, &rawData, NONBLOCK)) // Start temp measurement
logError(error);
trhMillis = curMillis;
}
if (measActive && (error = sht.measRdy())) { // Check measurement status
if (error != S_Meas_Rdy)
logError(error);
if (measType == TEMP) { // Process temp or humi?
measType = HUMI;
temperature = sht.calcTemp(rawData); // Convert raw sensor data
if (error = sht.meas(HUMI, &rawData, NONBLOCK)) // Start humi measurement
logError(error);
} else {
measActive = false;
humidity = sht.calcHumi(rawData, temperature); // Convert raw sensor data
dewpoint = sht.calcDewpoint(humidity, temperature);
logData();
}
}
}

#else // If ENA_ERRCHK is not defined

// This code is the same as above but without error checking
void setup() {
byte stat;
byte error = 0;
Serial.begin(9600);
pinMode(ledPin, OUTPUT);
delay(15); // Wait >= 11 ms before first cmd
// Demonstrate status register read/write
sht.readSR(&stat); // Read sensor status register
Serial.print("Status reg = 0x");
Serial.println(stat, HEX);
sht.writeSR(LOW_RES); // Set sensor to low resolution
sht.readSR(&stat); // Read sensor status register again
Serial.print("Status reg = 0x");
Serial.println(stat, HEX);
// Demonstrate blocking calls
sht.measTemp(&rawData); // sht.meas(TEMP, &rawData, BLOCK)
temperature = sht.calcTemp(rawData);
sht.measHumi(&rawData); // sht.meas(HUMI, &rawData, BLOCK)
humidity = sht.calcHumi(rawData, temperature);
dewpoint = sht.calcDewpoint(humidity, temperature);
logData();
}

void loop() {
unsigned long curMillis = millis(); // Get current time

// Rapidly blink LED. Blocking calls take too long to allow this.
if (curMillis - blinkMillis >= BLINKSTEP) { // Time to toggle the LED state?
ledState ^= 1;
digitalWrite(ledPin, ledState);
blinkMillis = curMillis;
}

// Demonstrate non-blocking calls
if (curMillis - trhMillis >= TRHSTEP) { // Time for new measurements?
measActive = true;
measType = TEMP;
sht.meas(TEMP, &rawData, NONBLOCK); // Start temp measurement
trhMillis = curMillis;
}
if (measActive && sht.measRdy()) { // Check measurement status
if (measType == TEMP) { // Process temp or humi?
measType = HUMI;
temperature = sht.calcTemp(rawData); // Convert raw sensor data
sht.meas(HUMI, &rawData, NONBLOCK); // Start humi measurement
} else {
measActive = false;
humidity = sht.calcHumi(rawData, temperature); // Convert raw sensor data
dewpoint = sht.calcDewpoint(humidity, temperature);
logData();
}
}
}

#endif // End of non-error-checking example

void logData() {
Serial.print("Temperature = "); Serial.print(temperature);
Serial.print(" C, Humidity = "); Serial.print(humidity);
Serial.print(" %, Dewpoint = "); Serial.print(dewpoint);
Serial.println(" C");
}

// The following code is only used with error checking enabled
void logError(byte error) {
switch (error) {
case S_Err_NoACK:
Serial.println("Error: No response (ACK) received from sensor!");
break;
case S_Err_CRC:
Serial.println("Error: CRC mismatch!");
break;
case S_Err_TO:
Serial.println("Error: Measurement timeout!");
break;
default:
Serial.println("Unknown error received!");
break;
}
}
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
15.08.2014, 19:53
Beitrag #56
RE: Encoder: Zahl mit einer Nachkommastelle erzeugen
Hi,
das Beispiel zeigt nicht nur non-Blocking. Schmeiss mal den Blocking-Kram raus (das Lesen des Sensors in setup) und entscheide Dich für eine der beiden Varianten bezüglich Fehlerbehandlung. Schmeiss die andere Variante raus.
Im Endeffekt solltest Du einen einfachen Sketch haben, der den Sensor nicht-blockierend liest. Darauf können wir dann aufbauen.
Falls Du das alles nicht verstanden hast, dann würde ich Dir empfehlen, Dich erst einmal mit etwas einfacherem zu befassen. Außerdem solltest Du Dich bemühen, auch zu verstehen, was Du da machst. Und zwar jeden einzelnen Befehl Deines Programms. Wenn Du an irgend einer Stelle nicht weißt, warum irgendwas wie funktioniert, dann mach nicht weiter.
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
  Ausschaltverzögerung bei einer PV Heizung Hans_Maulwurf 27 703 29.11.2016 23:38
Letzter Beitrag: georg01
  Mehrstellige Zahl aus Keypad StB 7 222 23.11.2016 03:47
Letzter Beitrag: StB
  Zahl von SD-Card Modul einlesen und Var. zuweisen Nafetz 13 290 28.10.2016 10:12
Letzter Beitrag: hotsystems
  encoder clemens5555 17 385 20.10.2016 15:48
Letzter Beitrag: hotsystems
  Innenwiderstand einer Batterie (Rundzelle 1,5V) Einsteiger94 2 204 24.07.2016 11:42
Letzter Beitrag: SkobyMobil
  LCD Menue mit u8glib und Encoder stefanch 1 354 04.06.2016 21:02
Letzter Beitrag: hotsystems
  Brauche etwas Hilfe bei der Umsetzung einer Idee raspido 3 526 23.04.2016 10:26
Letzter Beitrag: rkuehle
  I2C Ansteuerung einer MSM3 (elv mp3 Box) Voreifel 2 310 09.04.2016 17:56
Letzter Beitrag: Voreifel
  Problem: SDFat - Das Ende einer Datei finden und Schleife beenden MartinK 4 486 01.04.2016 05:49
Letzter Beitrag: MartinK
  Problem: RFID code mit Inhalt einer Textdatei auf einer SD Karte vergleichen MartinK 6 505 29.03.2016 16:45
Letzter Beitrag: MartinK

Gehe zu:


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