Forum: Mikrocontroller und Digitale Elektronik Attiny85 dht22 oled ssd1306 i2C


von kemi (Gast)


Angehängte Dateien:

Lesenswert?

Hallo!
Ich versuche gerade eine Wetterstation mit dem "Attiny85" den "DHT22" 
und dem "Oled Display i2c SSD1306"

Ich kann bereits den text auf dem Display darstellen und ich bin soweit 
den DHT22 auszulesen aber kann leider nciht die werte auf dem disply 
darstelen.

Ich kompile mit der Arduino IDE mit eingestelltem 16Mhz Arduino Trinket 
5V
was bauglecih mit dem attiny ist.

Ich bekomme folgenden fehler

invalid conversion from 'char' to 'char*' [-fpermissive]

von derElf (Gast)


Lesenswert?

1
oled.printString()

ist nicht der richtige Weg um Daten die kein String sind auszugeben. 
Entweder hat deine oled library Funktionen um einen Int auszugeben, oder 
du musst die Umwandlung selber machen.

von kemi (Gast)


Angehängte Dateien:

Lesenswert?

Das dachte ich mir schon, aber wie würde diese Umwandlung dann aussehen?

in der Library sind noch andere befehle wie:

    // print a single character
    void printChar( char ch );

    // print a string to the screen
    void printString( char * pText );

ich kann leider nicht die ganze bibliothek nehmen da der attiny nur 5kb 
speicher hatt..

im anhanf noch die benutzte library

von derElf (Gast)


Lesenswert?

Wenn es noch reinpasst kannst du das
https://www.arduino.cc/en/Reference/StringConstructor
nehmen.
Ansonsten musst du mal selber Google fragen ;-)

von kemi (Gast)


Lesenswert?

Ja die seite schau ich mir jetzt schon stunden an aber versteh  nicht 
wie ich den int in string umconvertieren soll.

Könntest du mir eventuel ein beispiel geben?

von trollius (Gast)


Lesenswert?

kemi schrieb:
> Ja die seite schau ich mir jetzt schon stunden an aber versteh  nicht
> wie ich den int in string umconvertieren soll.

na so lang ist die doch nicht...!

von kemi (Gast)


Lesenswert?

Glaub hab den richtigen code gefunden"!

String stringHum =  String(DHT.humidity, DEC);
String stringTemp =  String(DHT.temperature, DEC);

So jetzt hab ich dass problem dass ich zuwenig paltz auf dem attiny85 
habe.
Hab aber schon fertige projecte gesehn also muss es irgendwie möglich 
sein...

von kemi (Gast)



Lesenswert?

Here is the code now a bit simplyfied.
A potentiometer in Pin3 from attiny and the oled display connected.
Hellow World works but sensor Values gives Letters instead of Numbers.

Any ideas how i get the value in numbers between 0-255 ?

von kemi (Gast)


Angehängte Dateien:

Lesenswert?

char str[5];

  oled.cursorTo(15,19);
  oled.printString( itoa(sensorValue, str, 10));

did the trick!

von AndyB2 (Gast)


Lesenswert?

Schön, dass es jemanden genutzt hat :)
Die gesamte Anleitung von mir gibt es hier 
http://www.instructables.com/id/ATTiny85-connects-to-I2C-OLED-display-Great-Things/
Grüße

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.