Hallo ich möchte gerne meinen Arduino ca. 24 Stunden stehen lassen und er soll jede Minute einen Sensor abfragen
das ist ja weiter nicht schwer aber ich möchte diese Daten auch auswerten wenn ich sage Serial.print() dann muss der PC
oder Laptop ja die ganze zeit neben dem Arduino stehen und an sein. Kann man dem Arduino sagen das er mir die Ganzen Werte
erst wiedergiebt wenn ich mit dem Laptop ankomme und die Daten haben möchte. Wenn ja wie (bitte leicht erklären) ?
am einfachsten: Bau dir eine SD-Karte zum speichern dran. Der Arduino selbst hat keinen richtigen Festspeicher, lediglich einen EEPROM in dem man einzelne Daten ablegen kann, der auch das ausschalten des Boards übersteht. Da dieser Speicher allerdings sehr gering ist, taugt er nicht zum loggen von Sensordaten. Auch eine vorrübergehende Speicherung in einem Array (z.B.) bringt nicht viel, da sehr viele Daten anfallen - deshalb lieber direkt auf SD-Karte speichern.
muss ich das Shield kaufen oder kann ich mir das wie oben einfach zusammenlöten
Ein Shield hat den Vorteil daß der Steckplatz für die SD-Karte da ist. Wenn Du dir die Platine selbst baust mußt Du Dir den steker andersweitig beschaffen zb aus einem kaputten Kartenlesegerät.
Grüße Uwe
Ich vermute mal, das wird schwierig: http://pinouts.ws/compact-flash-pinout.html
Da werden 4 Leitungen nicht reichen. @Marcus W: Warum wird Pin12 direkt auf D0 geschaltet, alle anderen aber über den Spannungsteiler auf 3.3V gezogen?
Hab ich mich ebenfalls schon gefragt - das Schema ist nicht von mir, ich habe es aus dem englischen Arduino-Forum, ein paar Jahre zurück. Funktioniert allerding einwandfrei.
D0 an der SD-Karte dürfte ein Ausgang sein, die 3,3V als High-Pegel wird vom Arduino auch noch als High erkannt. Alle anderen Datenleitungen sind mitunter Eingänge der SD-Karte, hier die vollen 5V des Arduino-Ausgangs anzulegen dürfte die SD-Karte schädigen. Alternativ gibt es auch Arduini und Klone, die mit 3,3V bei 8MHz arbeiten - hier ist keine Pegelwandlung nötig.
24*60 = 1440 Das passt vollständig ins SRAM wenn Du mit 1 Byte pro Sensorwert auskommst und täglich abfragst. Du brauchst dann gar nicht mit externen Teilen zu arbeiten.
Aber Sensorwerte mit 1 Byte Größe sind nicht gerade komfortabel - -128/+128 ohne Nachkommastelle... Und auch nur, wenn du ihn jeden Tag ausliest und den Sensorwert nur einmal in der Minute abspeicherst. Und deinen Sketch dementsprechend schlank hälst. Ich denke, dass 6 Widerstände und eine SD-Karte für 1,50€ hier die effizientere Lösung sind - Gerade auch was die Reliability angeht - Strom weg, Aufzeichnung weg - Gesetz dem fall du schreibst das nicht in den EEPROM - der beim Logging allerdings leiden würde - wenn man nicht sehr durchdacht programmiert.
hauke-peters:
wie ist das mit einer CF Karte hast du da ein BEISPIEL ich habe leider keine SD Karte
hier rumfliegen .
Das CF-Interface ist praktisch eine IDE bzw P-ATA Schnittstelle, eine paralelle 16 Bit Verbindung mit vielen Steuercoden und Funktionen. Es ist einfacher Du kaufst eine SD Karte.
Alternativ zur SD-Karte könntest Du verwenden:
externes I2C oder SPI EEPROM
externes I2C oder SPI FRAM
beide gibt es in verschiedenen Speichergrößen und für 5V oder/und 3,3V
Da ist seit Jahren kein Widerstand mehr.
Am Pin 13 ist eine LED mit einem Vorwiderstand von 500 Ohm gegen +5V angeschlossen.
Die Arduino R3-Versionen haben einen Operationsverstärker in Spannungsfolger Schaltung an Pin 13 der das Pin +berhaupt nicht belastet. Die LED mit Vorwiderstand hängt am Ausgang des Operationsverstärkers.
Grüße Uwe