Frage

Ich mache eine Uhr mit dem Arduino, und ich möchte eine Taste, um die Zeit einzustellen. Also, nur um zu testen, ich pluged einen Draht in dem analogen Eingangsstift 0 und schrieb zwei Zeilen Code den Stift zu lesen und über die seriellen drucken, aber alles, was ich bekommen ist Müll.

  valm = analogRead(0);
  Serial.println(valm);

Und was ich von dem seriellen Monitor erhalten, ist dies:     ? J? D? ± μ? Ê ?? JDD? ± μ ??? ºjRd? ± μ ??? ºj? D? ± μ? ?? Ê j? D? ± μ? E? ªjRd? ± μ ?? ? ÊjRd? ± μ ??? Aj? d? ± μ ???? j? d? ± μ? É j ??     Rd? ± μ ???? j? D? ± μ ??? ºj? D? ± μ? É ?? jrd? ± μ ???? j? D? ± μ? E? ÊjDd? ± μ ?? ? aj? d? ± μ ???? j? d? ± μ? É ?? jrd? ± μ ???? j? d     ? ± μ? E? ÂjRd? ± μ ??? ej? D? ± μ ??? ªj? D? ± μ? E? Ej $ d? ± μ ??? ÂjRd? ± μ ???? j? d? ± μ ???? JDD? ± μ ???? jrd? ± μ ??? Aj? d? ±     μ? e? ÊjRd? ± μ ???? j? d? ± μ & theta; o? ej? d? ± μ? e? ÂjRd? ± μ ???? j? d? ± μ ???? j? d? ± μ? É ?? jrd? ± μ ??? Aj? d? ± μ ??? ej? d? ± μ?     ?? ªj? D? ± μ ??? ej? D? ± μ ??? ÂjRd? ± μ ???? j? D? ± μ ???? j? D? ± μ? É ?? jrd? ± μ ??? Aj? d? ± μ & theta; o? ej? d? ± μ? e? ªj? d? ± μ? e?     ? JTD? ± μ ??? Aj? D? ± μ ???? j? D? ± μ? É ?? jrd? ± μ ???? j? D? ± μ? E? ÂjRd? ± μ? ?? e j? d? ± μ? e? ªjRd? ± μ ??? ej? d? ± μ ??? ºj     ? D? ± μ & Delta; E ?? JTD? ± μ ???? jrd? ± μ ??? ªj? D? ± μ? E? ÂjTd? ± μ? E? ÊjRd? ± μ ??? ªj? D ? ± μ ??? ej? d? ± μ ??? ºj? d? ± μ? É ?? jrd     ? ± μ ??? ej? D? ± μ ??? ªj? D? ± μ? E? ÂjPd? ± μ ??? ej? D? ± μ ??? ªj? D? ± μ? A? Ej ? d? ± μ? e? ºjRd? ± μ ???? j? d? ± μ? É ?? jrd? ±     μ ??? ªj? d? ± μ? e? aj? d? ± μ ??? ÊjRd? ± μ ??? ªj? d? ± μ & theta; o? ej? d? ± μ ??? ºjRd? ± μ ???? j? d? ± μ ??? ej? d? ± μ? e? ªjdd? ± μ?     ?? ÂjRd? ± μ ??? Aj? D? ± μ? E? ªjPd? ± μ ??? ej? D? ± μ ???? j? D? ± μ? É ?? jrd? ± μ? ?? e j? d? ± μ? e? ªjdd? ± μ ??? ÂjRd? ± μ ???     Aj? D? ± μ? E? ªjDd? ± μ ??? ej? D? ± μ? ?? Ê j? D? ± μ? É ?? jrd? ± μ ??? ÊjRd? ± μ ??? ªj? d? ± μ? e? ÂjPd? ± μ ??? Aj? d? ± μ ??? ªj     ? D? ± μ? E? Êjdd? ± μ? É ?? jrd? ± μ ???? j? D? ± μ? E? Ej $ d? ± μ ??? ªjRd? ± μ aj ??? ? d? ± μ? a? ÂjTd? ± μ ??? ªj? d? ± μ ??? ej? d     ? ± μ ???? jrd? ± μ ???? j? D? ± μ? E? ÊjTd? ± μ ??? ªjRd? ± μ ??? Aj? D? ± μ ??? Aj? D ? ± μ? e? ªjRd? ± μ ??? ÊjRd? ± μ & theta; o ?? JTD? ±     μ ???? j? d? ± μ ??? ej

Warum?


Edit:

ich den digitalen Stift 0 bis Ausgang gesetzt hatte, und ich dachte, vielleicht, dass das Problem war, so dass ich auf die Arduino Website ging und fand die Seite Analog Input Pins .

Also habe ich versucht, von dem Stift zu lesen 14, die sie sagen, sind der analoge Eingangsstift 0, aber ich habe die gleiche Ausgabe.

By the way, ich versuche, aus dem analogen nur den Pins zu lesen, nicht derjenige, weicht auch digital.

War es hilfreich?

Lösung

Versuchen Sie diesen Beispielcode auf der Arduino Website ausgeführt wird. Sie sollten nicht die Variable valm oder etwas umwandeln müssen.

/*
  Analog input

    Reads an analog input on analog in 0, and prints the value out.

    Created 24 March 2006
    by Tom Igoe
*/

int analogValue = 0;    // Variable to hold the analog value.

void setup() {
    // open the serial port at 9600 bit/s:
    Serial.begin(9600);
}

void loop() {
    // Read the analog input on pin 0:
    analogValue = analogRead(0);

    // Print it out in many formats:
    Serial.println(analogValue);       // print as an ASCII-encoded decimal
    Serial.println(analogValue, DEC);  // print as an ASCII-encoded decimal
    Serial.println(analogValue, HEX);  // print as an ASCII-encoded hexadecimal
    Serial.println(analogValue, OCT);  // print as an ASCII-encoded octal
    Serial.println(analogValue, BIN);  // print as an ASCII-encoded binary
    Serial.println(analogValue, BYTE); // print as a raw byte value

    // Delay 10 milliseconds before the next reading:
    delay(10);
}

Wenn Ihr Ausgang ist noch Kauderwelsch, es ist etwas falsch mit Ihrem seriellen Terminal.

Andere Tipps

Das Problem hier ist analog angeschlossene Gerät kann nicht @ gleichen Massepotentiale. Beispiel: Wenn Sie Ihre Stromversorgung auf Arduino-Board mit PC und Sensor mit einer anderen Quelle gespeist wird, aber Sie versuchen Wert von Arduino-Port zu lesen, für diesen Augenblick gibt es über Fehler. Versuchen Sie, diese Kraft auf Arduino und Sensor aus derselben Stromquelle und versuchen, Daten unter Verwendung von Serial Port durch lesen Docklight Sie erhalten Problem gelöst.

Sie müssen die Baudrate im seriellen Monitorfenster (rechts unten) auf den gleichen Wert einzustellen, der im Code festgelegt wurde (z Serial.begin(9600);).

Von dem, was die Ausgabe aussieht, scheint es, wie Sie valm in eine Zeichenfolge konvertieren, so dass Sie den Wert numerisch drucken können.

Auch ist der Draht Sie in analogem eingesteckt schwimmend? Denn wenn es ist, wird es wie eine Antenne wirken und zufälliges Rauschen greifen (obwohl, könnte eine starke 60Hz Komponente hat).

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top