Daten von einem Arduino Nano mit anderen Arduino Nano über USB auslesen

Moin Leute,

ich bin hier ganz neu, sowohl im Forum als auch in der Arduino-Welt. Für die Uni habe ich für mein Projekt ein Temperaturmessgerät (Arduino Nano, 3x Temperatursensor, Speicherboard für eine MicroSD-Karte) übergeben bekommen. Dieses wird mit Batterien betrieben und ist autark. Um zwischenzeitlich die Temperaturdaten auszulesen, musste bisher jedes Mal ein Notebook über USB angeschlossen werden (Batterien wurden dann vom Arduino getrennt). Am Messgerät selbst sind meines Erachtens nicht mehr genug Pins vorhanden, um ein Display (alle analogen Pins frei und nur noch 1 digitaler Pin) anzuschließen. Da man das Notebook nicht immer mitschleppen möchte, wäre meine grundsätzliche Frage, ob es möglich ist, einen kleinen neuen digitalen Anzeiger zu entwickeln, der folgende Anforderungen mitbringen sollte:

  • möglichst klein (Arduino Nano)
  • Display, um 3 unterschiedliche Temperaturen anzuzeigen (müssen nicht zwingend gleichzeitig angezeigt werden sondern können nacheinander dargestellt werden)
  • Live-Auslesen über USB (geht das überhaupt? wie erkennt das bereits vorhandene Messgerät (ebenfalls auf Arduino-Basis), dass das andere Arduino Nano die Rolle vom Notebook übernimmt)
  • sollte dann in ein schönes 3D-Druck Gehäuse passen
  • Batterie oder Akku betrieben (abhängig davon wie viel Strom benötigt wird und ein Akku somit nachhaltiger wäre oder eben die Batterie gefühlt Ewigkeiten hält... normale AA-Batterie vllt. ausreichend)

Bin für alle Tipps offen, habt bitte Nachsicht falls ich etwas nicht korrekt rübergebracht habe oder etwas nicht auf Anhieb verstehe.

Ich freue mich über alle Kommentare!

Beste Grüße.

I2C
?!?

I2C wurde ja schon genannt.
Da kannst du an die Pins A4 und A5 (analoge Pins) ein Display mit I2C-Schnittstelle anschließen.

Dazu musst du aber auch den vorhandenen Sketch im Nano anpassen.

Hi ericson95,
Also wenn dein Nano noch alle analogen Pins frei hat, dann sind da ja die Pins A4 , und A5, die stellen dir die I2C Schnittstelle zur Verfügung. A4 = SDA / A5 = SCL. es gibt viele ,auch recht kleine Displays, die über I2C mit dem Arduino kommunizieren.
z.B kleine OLED, oder auch LCD Displays.
z.B HIER

LG Stefan

edit: Da warn die andern etwas schneller.

Hallo,

Display mit i2C nachbauen wurde ja schon gesagt.

USB geht nicht , aber Du könntest die zugehörigen pins dennoch nutzen.

Serial zweiter Nano klar geht das. Wenn Du auf der einen Seite ein Serial.print() machst kannst Du auf der anderen Seite das mit Serial.read () einlesen. Dann musst Du dir nur noch ein passendes Protoll einfallen lassen damit das auch synchron läuft.
Im einfachsten Fall drei Werte mittels Trennzeichen getrennt in einer Zeile und am ende ein Endzeichen.

Bespiele gibts in der IDE dazu.

Heinz

(deleted)

"all analog pins free and only 1 digital pin"

Analog pins are digital pins (A0 to A5 are also D14 to D19) that also support analogRead (). So you have 7 digital pins free.
You can use I2C as mentioned, or use a MAX7219 based display with 8 digits for displaying whatever. That will need 3 pins that you can drive in software - clock, data, latch - with shiftOut () command.

MAX7219 has 15 registers. 5 you will load up during setup () - shutdown / normal mode, brightness, display test, number of digits, decode mode (use internal mapping for 0-9, H, E, L, P, -; or create your own to display other characters), then 8 more that are the data to be displayed on each digit. You can use shutdown to save on battery, then return to normal mode to drive the displays - data is retained during shutdown.

Each register write will need:

digitalWrite (latchPin, LOW);
shiftout (clockPin, dataPin, MSBFIRST, registerNumber);
shiftout (clockPin, dataPin, MSBFIRST, data);
digitalWrite (latchPin, HIGH);

Very straight forward.
If the D11-12-13 pins are set up for SPI with other devices, which I suspect they would be for the SD card, then you can connect D13 (clock) & D11 (data) in parallel to the MAX7219 and then you just need 1 pin for the latchPin.

digitalWrite (latchPin, LOW);
SPI.transfer (registerNumber);
SPI.transfer (data);
digitalWrite (latchPin, HIGH);

Put SPI.begin () in setup (). Default settings for SPI are 4 MHz clock, MSBFIRST, and SPI Mode 0 work fine with the MAX7219.

Vielen Dank schonmal an alle für die zahlreichen Informationen!
@combie, @HotSystems, @Deltaflyer das C12 Display ist genau das, was ich mir vorstelle. Ich versuche mal einen Schaltplan zu organisieren und werde den hier rein posten, falls vorhanden. Wie viel Strom zieht denn so ein C12 Display eigtl.? Können denn grundsätzlich zeitgleich die Daten auf der SD gespeichert werden (über das MicroSD Card Modul) und über das C12 am Hauptboard angezeigt werden?

@Rentner, warum geht es nicht ein zweites Arduino System nur zum Auslesen der Dateien anzuschließen?
Ich selbst brauche das System mit dem Display eigtl. nur zum kurzeitigen kontrollieren der Temperaturen, sodass eine dauerhafte Verbindung mit einem Display (C12) an dem bisherigen Arduino Nano aufgrund des Stromverbrauches und des Platzmangels vermieden werden sollte.

@Peter-CAD-HST besten Dank, habe ich mir gerade angeschaut. :slight_smile:

@CrossRoads thank you very much, that sounds good. Yes the D11-13 are not available...

@noiasca, das hier ist das SD Board:DEBO MICROSD: Entwicklerboards - Breakout-Board für MicroSD-Karten bei reichelt elektronik

Beste Grüße

@TO
Du meinst sich I2C und nicht C12.
I2C ist ein Datenbus, über den du mehrere Geräte steuern kannst.
Somit auch ein Display deiner Wahl.

Und wenn du weißt welches Display es werden soll, findest du ganz sicher auch passende Schaltbilder dazu im Netz.

ericson95:
… C12 …

Der Bus heißt I2C oder IIC. Und weil es ein Bus ist, kann man mehrere Teilnehmer anschließen, die sich alle per Adresse unterscheiden.

ericson95:
Können denn grundsätzlich zeitgleich die Daten auf der SD gespeichert werden (über das MicroSD Card Modul) und über das C12 am Hauptboard angezeigt werden?

Im akademischen Sinne “zeitgleich” nicht, aber ganz schnell nacheinender, also quasi zeitgleich.

ericson95:
@Rentner, warum geht es nicht ein zweites Arduino System nur zum Auslesen der Dateien anzuschließen?

Das geht schon, aber nicht USB an USB, weil das im USB-Chip des Nanos nicht vorgesehen ist.

ericson95:
… sodass eine dauerhafte Verbindung mit einem Display (C12) an dem bisherigen Arduino Nano aufgrund des Stromverbrauches und des Platzmangels vermieden werden sollte.

Man kann die Stromversorgung des Displays unterbrechen und OLEDs sind sehr klein.

ericson95:
Yes the D11-13 are not available…

Auch SPI ist ein Bus, allerdings benötigt jeder Teilnehmer eine Freigabeleitung.

ericson95:
Für die Uni …

Dann kannst Du Dir die Daten doch am Händy anzeigen lassen :slight_smile:

Hier mal der Teil des Schaltplanes (der abgeschnittene Teil ist der Bereich mit den Thermoelementen und der Stromversorgung).

Händy

Händi

Was hat denn das Schaltbild mit I2C zu tun ?
Was soll uns das sagen ?

@HotSystems, habe es nur hochgeladen, damit man erkennen kann, was noch an Verbindungen frei ist. :slight_smile:

Und sorry, habe mir das mit dem 12C jetzt gemerkt.

@agmue, war das mit dem Handy ernst gemeint? :smiley: Man weiß ja nie, wäre auch nicht schlecht, wenn das klappen würde.

Solche Schaltbilder sind sehr irritierend und hilft keinem.

Wenn du ein richtiges Schaltbild postest, so wie deine Schaltung aussieht.

Das Teil heißt
Ih zwo Zeh
Oder
Ih Ih Zeh
Inter IC (also im Inneren des IC) ... und der näheren Umgebung.

Um Mecker aus dem Weg zu gehen, nutzt AVR TWI - Two Wire Interface - ist genau das Gleiche, heißt aber nicht I²C, somit keine Haue von Philips.

MfG

ericson95:
@agmue, war das mit dem Handy ernst gemeint? :smiley: Man weiß ja nie, wäre auch nicht schlecht, wenn das klappen würde.

Meinst Du etwa, ich mache Scherze ;D

Ich bin an einem Projekt, um mittels Weboberfläche die Parameter einer LED-Animation zu verändern. Dazu verwende ich einen ESP32 als Access Point, wo ich mich mit dem Browser meines Händis anmelden kann. Als Grundlage habe ich die Seite von Fips verwendet.

Senden benötigt elektrische Leistung, bezüglich Batteriebetrieb gäbe es von meiner Seite daher viele offene Fragen, da ich immer ein Netzteil verwende. Aber es gibt auch das Bluetooth Modul HC-05 für den Nano, das man eventuell nur bei Bedarf einschaltet.

Ich möchte Dich aber nicht überreden, da mir Deine Kenntnisse nicht bekannt sind und eventuell eine steile Lernkurve notwendig ist.