Forum: Mikrocontroller und Digitale Elektronik Arduino UNO UART/USART


von Lukas K. (kreindl123)


Lesenswert?

Hallo

Ich habe einen Arduino UNO, wo ein Temperatursensor am ADC angeschlossen 
ist. Nun möchte ich den Wert des ADC (0-1024) mittels USART und Putty 
herausfinden.
Gibt es hierfür eine einfache Lösung?

mfg. Kreindl

: Bearbeitet durch User
von Manfred (Gast)


Lesenswert?

Lukas K. schrieb:
> Gibt es hierfür eine einfache Lösung
Google: Arduino Grundlagen oder Arduino Buch.

Serielle Datenausgabe mit dem UNO ist zweite Stunde für Anfänger, 
erkläre ich hier nicht.

von Lukas K. (kreindl123)


Lesenswert?

Danke für die Rückmeldung.
Ich finde nichts brauchbares.

Ich schaffe es bestimmte Zahlen, Buchstaben, usw. (Laut ASCII Tabelle) 
auf Putty auszugeben. Meinen dreistelligen ADC Wert allerdings nicht.

: Bearbeitet durch User
von Karl M. (Gast)


Lesenswert?

ich kenne zwar da Arduino nicht,

aber Google "Arduino zahlen ausgeben" schon:

https://forum.arduino.cc/index.php?topic=30611.0

Reicht das ?

von Wolfgang (Gast)


Lesenswert?

Lukas K. schrieb:
> Ich schaffe es bestimmte Zahlen, Buchstaben, usw. (Laut ASCII Tabelle)
> auf Putty auszugeben. Meinen dreistelligen ADC Wert allerdings nicht.

Hast du es überhaupt probiert?

Rufe mal deine Arduino IDE auf und öffne dort das Beispiel 
"Communication - ASCIITable". Genau wie dort in der Zeile 49 kannst du 
deinen ADC Wert ausgeben.

von Mick (Gast)


Lesenswert?

Hast du PuTTY entsprechend konfiguriert?
http://coptermagazin.de/wp-content/uploads/2016/03/1_PuTTY_Start.png

Ist die Ausgabe in deinem Code so definiert?
Serial.print(analogerwert);

von eProfi (Gast)


Lesenswert?

Dann empfehle ich Dir, zuerst mal das Suchen zu erlernen.
Bei den Beispielen ist doch genug dabei:
arduino-1.8.0\examples\01.Basics\AnalogReadSerial\AnalogReadSerial.ino
oder
arduino-1.8.0\examples\03.Analog\AnalogInOutSerial\AnalogInOutSerial.ino
dort wird die Spannung zusätzlich noch auf 8 Bit "reduziert" skaliert 
und auf dem Analogausgang aka PWM ausgegeben.

von Klaus (Gast)


Lesenswert?

eProfi schrieb:
> Dann empfehle ich Dir, zuerst mal das Suchen zu erlernen.

Und ich empfehle dir, das Kommasetzen zu erlernen.

von eProfi (Gast)


Lesenswert?

Jetzt glaub' ich's aber. Was hast Du daran auszusetzen?
Das ist ein erweiterer Infinitiv.
Kommafehler wirst Du bei mir höchst selten finden, da lege ich 
gesteigerten Wert drauf.

von Lukas K. (kreindl123)


Lesenswert?

Danke für die Rückmeldungen. Ich programmiere mit Atmel Studio 6.1 und 
wenn ich Serial.print(analogwert); eingebe, wird dies nicht erkannt.

Beitrag #4977340 wurde von einem Moderator gelöscht.
von Karl M. (Gast)


Lesenswert?

Hallo Lukas,

Lukas K. schrieb:
> Danke für die Rückmeldungen. Ich programmiere mit Atmel Studio 6.1
> und
> wenn ich Serial.print(analogwert); eingebe, wird dies nicht erkannt.

Da passt etwas nicht zusammen, in welcher Klasse ist Serial definiert ?

Hast Du die auch entsprechend in dein Projekt eingebunden ?

Zeige doch mal dein Programm und die Projektdatei.

von Wolfgang (Gast)


Lesenswert?

Lukas K. schrieb:
> Danke für die Rückmeldungen. Ich programmiere mit Atmel Studio 6.1 und
> wenn ich Serial.print(analogwert); eingebe, wird dies nicht erkannt.

Dann hast du wahrscheinlich einen Fehler in deinem Programm - wie auch 
immer das aussieht. Die Fehlermeldung kennst nur du.

von Lukas K. (kreindl123)


Angehängte Dateien:

Lesenswert?

Ok ich habe jetzt scheinbar die richtigen Header Dateien gefunden und 
serial.print wird jetzt erkannt.

Allerdings kommen diese Fehlermeldungen (siehe Bild), sobald ich 
<SoftwareSerial.h> einbinde.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Interessant ist die erste Fehlermeldung.

Der Rest kann oft aus Folgefehlern bestehen.

von Lukas K. (kreindl123)


Lesenswert?

Ich habe jetzt gelesen, dass es daran liegen könnte, dass ich mein 
Projekt in C Programmiere. Das SoftwareSerial ist allerdings eine cpp 
Datei (also C++).

von PittyJ (Gast)


Lesenswert?

Was ist ein Atmelstudio?
Wenn ich die Arduino IDE aufrufe, sieht das immer anders aus.

Der Unterschied zwischen C und C++ ist bekannt?

von Dieter F. (Gast)


Lesenswert?

Lukas K. schrieb:
> Danke für die Rückmeldungen. Ich programmiere mit Atmel Studio 6.1 und
> wenn ich Serial.print(analogwert); eingebe, wird dies nicht erkannt.

Kann das Atmel Studio 6.1 schon mit Arduino-Sketches umgehen? Mit 7.0 
geht das - aber 6.1?
Woher hast Du den Sketch - stell mal bitte den Link ein.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Lukas K. schrieb:
> dass es daran liegen könnte, dass ich mein Projekt in C Programmiere.

Daran liegt es dann definitiv.

Dann aber hat Deine Fragestellung nur noch sehr wenig mit "Arduino" zu 
tun, denn die Arduino-Umgebung (mit ihren *.ino-Dateien) nutzt C++.

von Dieter F. (Gast)


Lesenswert?

PittyJ schrieb:
> Was ist ein Atmelstudio?

Schon von Google gehört ? :-)

von PittyJ (Gast)


Lesenswert?

Für Arduinos gibt es Sketche dafür dies sind nur 10 Zeilen lang. Es gibt 
auf der Arduino-Seite sogar Beispielcode für das Auslesen des ADC.

Wenn man aber etwas 'eigenes' verwenden möchte, dann muß man auch 
eigenen Gehirnschmalz verwenden und die Grundlagen lernen.

Eine einfache Lösung geht mit der Arduino IDE. Also nimm die. Sonst mußt 
du denken!

von Markus (Gast)


Lesenswert?

Hallo Lukas,

Du kannst einfach das AnalogReadSerial aus den Examples nehmen:

https://www.arduino.cc/en/Tutorial/AnalogReadSerial

von Lukas K. (kreindl123)


Lesenswert?

Vielen Dank für eure Hilfe. Ich hab jetzt mein Projekt in C++ geändert 
und jetzt kann ich Serial.printf verwenden :)

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.