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
Barometer BMP085 als Spectrum Analyser anzeigen
10.11.2013, 13:19
Beitrag #1
Barometer BMP085 als Spectrum Analyser anzeigen
Hallo
Für meine wetterstation zeige ich auch den Druck an.
Jetzt suche ich ein Programm welches als senkrechte Balken dir Tendenz
anzeigt.Stündliche Werte.
Es wäre nett wenn einer von euch einen Sketch hat.
Im Netz ist nichts zu finden

MFG
Wolfgang
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
21.11.2013, 21:04
Beitrag #2
RE: Barometer BMP085 als Spectrum Analyser anzeigen
Hallo Ihr Arduino Fans

Danke für die vielen nicht Antworten.Habe mir mehr davon versprochen.

Es läuft aber alles.

MFG

Wolfgang
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
27.11.2013, 17:40
Beitrag #3
RE: Barometer BMP085 als Spectrum Analyser anzeigen
Hy,

ich habe zur zeit auch eine Wetterstation als Projekt hier liegen und auch schon fast fertig allerdings kämpfe ich noch mit kleinkram.

Ich wollte dich jetzt mal fragen ob du mir den Codeschnipsel schicken kannst wie du die Tendenz programmiert hast? Oder du veröffentlichst dein Code der Wetterstation ;-)

Schau mal bei mir vorbei habe meinen Code im Forum und ich erweitere ihn auch immer wieder, bin dabei eine Menüstruktur zu erstellen um einzelne Details auszugeben.


MfG Daniel
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
28.11.2013, 19:59
Beitrag #4
RE: Barometer BMP085 als Spectrum Analyser anzeigen
Hallo Daniel
Hier den Teil der die Balken erzeugt

//********************** ARRAY für Balkenerzeugung**********

for (uint8_t j = 0; j < 8; j++)
{
for (uint8_t i = 0; i < 8; i++)
{
if ( i <= j ) prs_bars[j][7-i] = B11111;
else prs_bars[j][7-i] = B00000;
}
}

for ( uint8_t i = 0; i < 8; i++)
{
lcd.createChar(i, prs_bars[i]);
}



//************************* ARRAY für Balkenerzeugung********

Wolfgang
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
24.07.2014, 16:41 (Dieser Beitrag wurde zuletzt bearbeitet: 24.07.2014 16:43 von Wampo.)
Beitrag #5
RE: Barometer BMP085 als Spectrum Analyser anzeigen
Habe jetzt nach vielem suchen endlich was brauchbares gefunden glaube ich.

Code:
void Tendenzerkennung(){
  static float _D_Avg, _D_Avg_alt;  
  static unsigned long timer1=0;
  static int i = 0;
  #define Anz_Vergleichswerte 60   // aus wie vielen Werten soll jeweils der Mittelwert gebildet werden
  #define Band 0.3                        
  
   if (millis()> timer1 )    // Aufruf erst wieder nach 60000ms
   {  _D_Avg = _D_Avg + temperature;    // Summe über "Anz_Vergleichswerte" Werte für Mittelwertbildung
      i++;
      if (i >= Anz_Vergleichswerte){        
         timer1  = millis()+60000;               // timer neu setzen für Wiederaufruf in 60sek
        _D_Avg = _D_Avg / Anz_Vergleichswerte; // Mittelwertbildung
        i = 0;          
        if (_D_Avg > _D_Avg_alt + Band){     // Vergleich des Mittelwertes mit dem von vor 60sec.
          lcd.setCursor(0,3);
          lcd.write((byte)0); //steigend
          
        } else if (_D_Avg < _D_Avg_alt - Band){
          lcd.setCursor(0,3);
          lcd.write((byte)1); //fallend
        } else {
          lcd.setCursor(0,3);
          lcd.write((byte)2); //stetig
        }
        _D_Avg_alt = _D_Avg;                 // Speichern des akuelle Wertes
        _D_Avg = 0;                            // Rücksetzen
      }
   }      
}  // end funktion Tendenzerkennung

ist es richtig das ein mittelwert gebildet wird aus den messdaten oder vergleicht er nur letzte mit jetztiger messung?
Wie und wo werden die Messdaten (diese 60 stück) zwischengespeichert?
und was zur hölle is #define Band 0.3?????
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
24.07.2014, 17:38 (Dieser Beitrag wurde zuletzt bearbeitet: 24.07.2014 18:56 von rkuehle.)
Beitrag #6
RE: Barometer BMP085 als Spectrum Analyser anzeigen
Hallo Wampo,
der Code ist ein bisschen undurchsichtig geklammert.
Der Ablauf ist:
1.
- 60 mal hintereinander den Messwert ziehen und aufaddieren
- dann die Summe durch 60 teilen -> merken in _D_Avg
2.
- jetzt 60 Sekunden warten
3.
- _D_Avg umspeichern in _D_Avg_alt
- bei 1. wieder starten
4.
- Vergleich von _D_Avg_alt und _D_Avg
- entsprechend +/- Differenz zwischen beiden Werten um Band Ausgabe der Tendenz

Ob dabei realistische Werte rauskommen weiß ich nicht, da nicht ersichtlich ist wie oft / wie schnell die Funktion aufgerufen wird. Die Sensoren brauchen ja ein wenig zeit um Daten zu liefern.
Grüße RK

Nüchtern betrachtet...ist besoffen besser Big Grin
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
24.07.2014, 18:41
Beitrag #7
RE: Barometer BMP085 als Spectrum Analyser anzeigen
Hallo,
ich mußte mich hier ja mal anmelden, weil ich schon länger nach einer
"BargraphAnzeige" für den Barometischen Luftdruck suche.
Vielleicht finde ich hier ja eine Lösung.
Was die Tendenz des Barometischen Luftdruck angeht:
Der barometische Luftdruck wird lt. DWD stündlich gemessen, hier in
Deutschland und auch Weltweit.
Die Messung beginnt immer um 00:00h. Es wird immer der Wert der letzten
Messung zu Grunde gelegt.
Messung 00:00h - 1009,0hPa
Messung 01:00h - 1010,5hPa

Tendenz um 01:00h +1,5hPa
Tendenz um 01:58h +1,5hPa

es werden keine Mittelwerte gebildet.
Für die 3-Std Tendenz ist das gleiche anzuwenden
Messung 00:00h - 1009,0hPa
Messung 03:00h - 1010,5hPa

Tendenz um 03:00h +1,5hPa
Tendenz um 05:58h +1,5hPa

Es wird der Luftdruck am Sensor gemessen, ein verrechnen auf NN wird nicht
durchgeführt. Also, der tatsächliche Luftdruck am Sensor.

Zum aufzeichen mit dem Arduino:
an erster Stelle logt ihr den ersten Wert
wenn ihr den zweiten Wert logt, dann wandert der erste Wert an zweite Stelle
wenn ihr den dritten Wert logt, dann wandert der zweite Wert an zweite Stelle
der erste Wert wandert an dritte Stelle.

Das ganze nennt man Ringbuffer (Warteschlange)
http://de.wikipedia.org/wiki/Ringbuffer

Funktioniert auf dem Arduino ohne Problem, ist keine große Sache
Um 00:00 werden alle alten Werte wieder gelöscht.
Gruß und Spaß dabei
Andreas
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
25.07.2014, 09:12
Beitrag #8
RE: Barometer BMP085 als Spectrum Analyser anzeigen
Hallo
Hier habt Ihr meinen fertigen Sketch für Barometer,Feuchtigkeit,Temperatur.
Anzeige auf einem 4 Zeilen Display.
16 senkrechte Balken über 4 Zeilen (Tendenz)
Daneben 4 Meßwerte senkrecht
Druck korr.,Druck,Feuchtigkeit,Temperatur
Aufzeichnung auf SD Card
Backlight zum verdunkeln des Displays
Umschalter von 10 min oder 1 Std (Wert anzeigen)
MFG
Wolfgang

#include <SD.h>
#include <Wire.h>
#include <DS18B20.h>
#include "DHT.h"
#include <I2CIO.h>
#include <LiquidCrystal_I2C.h>


DS18B20_List ds18b20(5); // pin 5
#define DHTPIN 4 // pin 4
#define DHTTYPE DHT11
DHT dht(DHTPIN, DHTTYPE);
#define BMP085_ADDRESS 0x77 // I2C address of BMP085
#define TempLuft 0xED1

#define ABS_MINIM 97500 // absolute pressure minimum, Pa
#define BMP085_ADDRESS 0x77
#define hoehe_bergkamen 61.0 // 61,0 m für Bergkamen

byte prs_bars[8][8];// Custom characters array
byte prs_hist[] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,}; // Start Historie Array

volatile uint8_t sec_tick = 0;
uint16_t sec_cntr = 0;

float lpf_pres = 0.0;
float lpf_temp = 0.0;
float a = 0 ;
float Ldruck_rel = 0;
float x = 0 , y = 0 , z = 0 ;

int pin=3;//Umstellung Balkenzeit
int b=0; //Balkenzeit
int i=0; // für Zählfunktion Anzahl der Messungen

int ac1;
int ac2;
int ac3;
unsigned int ac4;
unsigned int ac5;
unsigned int ac6;
int b1;
int b2;
int mb;
int mc;
int md;
const unsigned char OSS = 0;
long b5;

LiquidCrystal_I2C lcd(0x27,20,4);

int TasterBacklight = 6;
const int chipSelect = 10;

void setup(void)
{

//Serial.begin(9600);
dht.begin();
lcd.init();
lcd.backlight();
lcd.clear();
lcd.begin(20, 4);
Wire.begin();
bmp085Calibration();

pinMode (TasterBacklight, INPUT);
digitalWrite(TasterBacklight, HIGH);
pinMode (2, INPUT);
digitalWrite(2, HIGH);
pinMode (pin, INPUT);
digitalWrite(pin, HIGH);
pinMode(10, OUTPUT);

//----------------------------------------------SD Card------------------------
while (!Serial) {;}

Serial.print("Initializing SD card...");

if ( !SD.begin(10) )
{
Serial.println("keine SD-Karte!");
lcd.print("keine SD-Karte!");
return;
}

Serial.println("initialization done.");
lcd.print("SD-Karte gefunden");

delay (2500);


//********************************************* ARRAY für Balkenerzeugung************************************************

for (uint8_t j = 0; j < 8; j++)
{
for (uint8_t i = 0; i < 8; i++)
{
if ( i <= j ) prs_bars[j][7-i] = B11111;
else prs_bars[j][7-i] = B00000;
}
}

for ( uint8_t i = 0; i < 8; i++)
{
lcd.createChar(i, prs_bars[i]);
}



//********************************************* ARRAY für Balkenerzeugung************************************************


lcd.clear();

for ( uint8_t i = 0; i < 15; i++)
{
print_Bars( i, prs_hist[i]); // Bild anzeigen vom Start Historie Array oben
}

lpf_pres = bmp085GetPressure(bmp085ReadUP());
lpf_temp = bmp085GetTemperature(bmp085ReadUT());

/* Hier wird der Timer auf 1 Sekunden - Takt eingestellt, nicht verändern !! */
TIMSK1 = 0x00;
TCCR1A = 0;
TCCR1B = 0;
TCCR1C = 0;

TCCR1A = ((1<<WGM11) | (1<<WGM10)); // Mode 15, Fast PWM
TCCR1B = ((1<<WGM13) | (1<<WGM12)); // Mode 15, Fast PWM

TCCR1B |= ((1<<CS10) | (1<<CS12)); // clk/1024 prescaling.
OCR1A = 15625; // 1 sec.

TCNT1 = 0;
TIFR1 |= (1<<TOV1);
TIMSK1 |= (1<<TOIE1);
}

void loop(void) {
//-------------------------------Balken Zeit-----------------------------------------
if (digitalRead(pin) == HIGH)
{
(b = 3600 );
}
else if (digitalRead(pin) == LOW)
{
(b = 600 );
}
//-------------------------------Termometer-------------------------------------------------
ds18b20.update();

float T_Luft=ds18b20.get_temp_by_id(TempLuft);
//-----------------------------------------Backlight---------------------------------------

if (digitalRead(TasterBacklight) == LOW)
{
lcd.noBacklight();
}

else if (digitalRead(TasterBacklight) == HIGH)
{
lcd.backlight();
}

//----------------------------------------Barometer-----------------------

float h = dht.readHumidity();
float t = dht.readTemperature();

// Check, ob die Daten Zahlen sind, falls nicht (NaN: not a number), ist was falsch gelaufen!
if (isnan(t) || isnan(h)) {
Serial.println("Fehler beim Lesen vom DHT-Sensor");
} else {
t = t - 2.00; //Diese Korrektur war bei mir noetig
h = h + 10; //Diese Korrektur war bei mir noetig
//Serial.print("Feuchtigkeit: ");
//Serial.print(h);
//Serial.print(" %\t ");
//Serial.print("Temperatur: ");
//Serial.print(t);
//Serial.println(" Grad Celsius");
}

float pressurePA = 0, temperatureC = 0;
uint16_t temp;

if (sec_tick)
{
pressurePA = bmp085GetPressure(bmp085ReadUP());
temperatureC = bmp085GetTemperature(bmp085ReadUT());

lpf_pres = pressurePA;

lpf_temp = temperatureC;
//-------------------------------------------------------------------
if (digitalRead(2) == HIGH)
{
lcd.setCursor(16,3 );
lcd.print(T_Luft,0);
lcd.print("\337C");
}
else if (digitalRead(2) == LOW)
{
lcd.setCursor(16,3 );
lcd.print(t,0);
lcd.print("\337C");
}
//-----------------------------------------------------------------
lcd.setCursor(16,1 );
lcd.print(a,0);
lcd.setCursor(16,2 );
lcd.print(h,0);
lcd.print("%");
//lcd.setCursor(16,3 );
//lcd.print(t,0);
//lcd.print("\337C");
//lcd.setCursor( 16, 3);
//lcd.print( lpf_temp,0);
//lcd.print("\337C");




a=lpf_pres/100; // <-- Druck aus BMP Sensor = Berechnung in hPa


relativer_Luftdruck ();

//------------------------------------Balken-------------------------------


if (sec_cntr > b )
{

File dataFile = SD.open("L_druck.csv", FILE_WRITE);

if (dataFile)
{
dataFile.print(T_Luft);
dataFile.print(";");
dataFile.print(lpf_temp);
dataFile.print(";");
dataFile.print(a);
dataFile.print(";");
dataFile.print(Ldruck_rel);
dataFile.print(";");
dataFile.print(h);
dataFile.print(";");
//dataFile.print(printTime());
dataFile.println("");
dataFile.close();


Serial.print(T_Luft,1);
//Serial.print("Cel");
Serial.print(";");
Serial.print(lpf_temp,1);
//Serial.print("Cel");
Serial.print(";");
Serial.print(a,1);
Serial.print(";");
Serial.print(Ldruck_rel,1);
Serial.print(";");
Serial.print(h,1);
Serial.print(";");
//Serial.print(printTime());
Serial.println("");
}

else {
lcd.print("kein File offen");
}

for ( uint8_t i = 0; i < 15; i++)
{
prs_hist[i] = prs_hist[i+1];
print_Bars( i, prs_hist[i]);
}

temp = (((6 *(lpf_pres - ABS_MINIM))/1000)); // berechnung anzeige luftdruck in Pa
prs_hist[15] = temp;
print_Bars( 15, prs_hist[15]);

sec_cntr = 0;
}

sec_tick = 0;
}
}

//*********************************************** F U N K T I O N E N *************************************************************

void relativer_Luftdruck ()
{
x =(1-(hoehe_bergkamen/44330));
y = 5.255;
z = pow(x,y);
Ldruck_rel = a/z;
lcd.setCursor( 16, 0);
lcd.print( Ldruck_rel,0);
//lcd.print(" hPa rel.");
}


//*************************************************** Timer Zählschleife !! NICHT AUSKOMMENTIEREN ; WICHTIG !! *************************************

ISR(TIMER1_OVF_vect)
{
sec_tick = 1;
sec_cntr++;
}

//*************************************************** F U N K T I O N E N für BMP 085 **************************************************************
//**********************!!!!!!!!!!!!!!!!!!!!!!!!!!!!! NICHT AUSKOMMENTIEREN ; WICHTIG !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

void print_Bars( uint8_t location, uint8_t value ) // Anzeige Balken auf dem Display
{
if ( value > 0 && value <= 7 )
{
lcd.setCursor( location, 3);
lcd.write(value);
lcd.setCursor ( location,2);
lcd.print(" ");
}

else if (value > 7 && value <= 15 )
{
lcd.setCursor(location, 3);
lcd.write(7);
lcd.setCursor(location, 2);
lcd.write(value -8 );
lcd.setCursor ( location,1);
lcd.print(" ");
}

else if ( value > 15 && value <= 23 )
{
lcd.setCursor(location, 3);
lcd.write(7);
lcd.setCursor(location, 2);
lcd.write(7);
lcd.setCursor(location, 1);
lcd.write(value - 16 );
lcd.setCursor ( location,0);
lcd.print(" ");
}

else if ( value > 23 && value <= 31 )
{
lcd.setCursor(location, 3);
lcd.write(7);
lcd.setCursor(location, 2);
lcd.write(7);
lcd.setCursor(location, 1);
lcd.write(7);
lcd.setCursor(location, 0);
lcd.write(value - 24 );
}

else if ( value > 31 )
{
lcd.setCursor(location, 3);
lcd.write(7);
lcd.setCursor(location, 2);
lcd.write(7);
lcd.setCursor(location, 1);
lcd.write(7);
lcd.setCursor(location, 0);
lcd.write(7);
}
}



//********************************************************************************​******************

void bmp085Calibration()
{
ac1 = bmp085ReadInt(0xAA);
ac2 = bmp085ReadInt(0xAC);
ac3 = bmp085ReadInt(0xAE);
ac4 = bmp085ReadInt(0xB0);
ac5 = bmp085ReadInt(0xB2);
ac6 = bmp085ReadInt(0xB4);
b1 = bmp085ReadInt(0xB6);
b2 = bmp085ReadInt(0xB8);
mb = bmp085ReadInt(0xBA);
mc = bmp085ReadInt(0xBC);
md = bmp085ReadInt(0xBE);
}

float bmp085GetTemperature(unsigned int ut)
{
long x1, x2;

x1 = (((long)ut - (long)ac6)*(long)ac5) >> 15;
x2 = ((long)mc << 11)/(x1 + md);
b5 = x1 + x2;

float temp = ((b5 + 8)>>4);
temp = temp /10;

return temp;
}

// Calculate pressure given up
// calibration values must be known
// b5 is also required so bmp085GetTemperature(...) must be called first.
// Value returned will be pressure in units of Pa.
long bmp085GetPressure(unsigned long up)
{
long x1, x2, x3, b3, b6, p;
unsigned long b4, b7;

b6 = b5 - 4000;
// Calculate B3
x1 = (b2 * (b6 * b6)>>12)>>11;
x2 = (ac2 * b6)>>11;
x3 = x1 + x2;
b3 = (((((long)ac1)*4 + x3)<<OSS) + 2)>>2;

// Calculate B4
x1 = (ac3 * b6)>>13;
x2 = (b1 * ((b6 * b6)>>12))>>16;
x3 = ((x1 + x2) + 2)>>2;
b4 = (ac4 * (unsigned long)(x3 + 32768))>>15;

b7 = ((unsigned long)(up - b3) * (50000>>OSS));
if (b7 < 0x80000000)
p = (b7<<1)/b4;
else
p = (b7/b4)<<1;

x1 = (p>>8) * (p>>8);
x1 = (x1 * 3038)>>16;
x2 = (-7357 * p)>>16;
p += (x1 + x2 + 3791)>>4;

long temp = p;
return temp;
}

// Read 1 byte from the BMP085 at 'address'
char bmp085Read(unsigned char address)
{
unsigned char data;

Wire.beginTransmission(BMP085_ADDRESS);
Wire.write(address);
Wire.endTransmission();

Wire.requestFrom(BMP085_ADDRESS, 1);
while(!Wire.available())
;

return Wire.read();
}

// Read 2 bytes from the BMP085
// First byte will be from 'address'
// Second byte will be from 'address'+1
int bmp085ReadInt(unsigned char address)
{
unsigned char msb, lsb;

Wire.beginTransmission(BMP085_ADDRESS);
Wire.write(address);
Wire.endTransmission();

Wire.requestFrom(BMP085_ADDRESS, 2);
while(Wire.available()<2)
;
msb = Wire.read();
lsb = Wire.read();

return (int) msb<<8 | lsb;
}

// Read the uncompensated temperature value
unsigned int bmp085ReadUT()
{
unsigned int ut;

// Write 0x2E into Register 0xF4
// This requests a temperature reading
Wire.beginTransmission(BMP085_ADDRESS);
Wire.write(0xF4);
Wire.write(0x2E);
Wire.endTransmission();

// Wait at least 4.5ms
delay(5);

// Read two bytes from registers 0xF6 and 0xF7
ut = bmp085ReadInt(0xF6);
return ut;
}

// Read the uncompensated pressure value
unsigned long bmp085ReadUP()
{

unsigned char msb, lsb, xlsb;
unsigned long up = 0;

// Write 0x34+(OSS<<6) into register 0xF4
// Request a pressure reading w/ oversampling setting
Wire.beginTransmission(BMP085_ADDRESS);
Wire.write(0xF4);
Wire.write(0x34 + (OSS<<6));
Wire.endTransmission();

// Wait for conversion, delay time dependent on OSS
delay(2 + (3<<OSS));

// Read register 0xF6 (MSB), 0xF7 (LSB), and 0xF8 (XLSB)
msb = bmp085Read(0xF6);
lsb = bmp085Read(0xF7);
xlsb = bmp085Read(0xF8);

up = (((unsigned long) msb << 16) | ((unsigned long) lsb << 8) | (unsigned long) xlsb) >> (8-OSS);

return up;
}

void writeRegister(int deviceAddress, byte address, byte val)
{
Wire.beginTransmission(deviceAddress); // start transmission to device
Wire.write(address); // send register address
Wire.write(val); // send value to write
Wire.endTransmission(); // end transmission
}

int readRegister(int deviceAddress, byte address)
{

int v;
Wire.beginTransmission(deviceAddress);
Wire.write(address); // register to read
Wire.endTransmission();

Wire.requestFrom(deviceAddress, 1); // read a byte

while(!Wire.available())
{
// waiting
}

v = Wire.read();
return v;
}
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  4 Anzeigen mit unterschiedlichen zufälligen Zahlen Gravia 4 431 10.02.2016 06:05
Letzter Beitrag: Gravia
  Temperatur auf 3,2 Zoll TFT Anzeigen jgrothe 12 1.898 04.07.2015 17:06
Letzter Beitrag: jgrothe
  Spectrum Analyser Lukas 6 1.918 19.05.2015 22:16
Letzter Beitrag: Lukas
  audio spektrum analyser ws2801 wuast94 6 826 22.03.2015 00:08
Letzter Beitrag: wuast94
  Messwerte anzeigen auf TFT Display sebdo 11 4.206 28.02.2015 12:23
Letzter Beitrag: sebdo
  bild von sd karte auf tft anzeigen kerzerl 3 1.829 19.08.2014 18:10
Letzter Beitrag: Bitklopfer
  SerLCD Float Werte anzeigen bquiet 3 1.689 17.08.2014 19:25
Letzter Beitrag: bquiet
  Zahlenwerte mit Drehknopf einstellen und auf Display anzeigen Cray-1 12 3.241 10.08.2014 08:01
Letzter Beitrag: Bitklopfer
  Arduino Eingänge in Visual Basic anzeigen lassen MeisterLampe 5 3.009 26.11.2013 22:01
Letzter Beitrag: rkuehle
  Temperatur auslesen und im Seriellen Monitor anzeigen malerlein 3 2.362 24.07.2013 17:31
Letzter Beitrag: malerlein

Gehe zu:


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