Ist ein Arduino-Fahzeug in folgender Konfiguration mit Uno möglich?

Guten Abend

Noch sind meine Vorstellungen von meinem geplanten Projekt nicht zu 100% konkret. Würde vorher gerne prüfen, welche Möglichkeiten ich habe.

Nach der ersten Ideenfindung steht folgendes auf dem Papier.
-Arduino Uno mit seinen 12 nutzbaren digitalen Pins. Habe immer Probleme, wenn ich Pin 0 und 1 nutzen will. Vielleicht kann mir das jemand an dieser Stelle erklären.

  • vereinfacht gesprochen 14 LEDs (Kingbright und Einzel-LEDs) angesteuert durch zwei Schieberegister(74HC595). Wäre dann sogar noch etwas Platz an den Registerpins.
    -Zwei Motren angeschlossen über eine H-Brücke. L293D, eigene Stromversorgung via Akku(s).
    -einen Ultraschallsensor
    -vielleicht ein Dipschalter mit fünf oder sechs Kanälen. Mit diesem Bauteil kenne ich mich noch nicht aus, muss auf meinem Streckbrett damit noch experimentieren.

Alle anderen Bauteile habe ich bereits genutzt und konnte auch zufriedenstellende Ergebnisse erzielen. Die nicht ganz konkrete Frage ist nun. Kann ich diese Bauteile gemeinsam mit dem Uno ansteuern?

Ich will es vorerst dabei belassen, gerne wäre weitere Sensorik interessant, aber soweit bin ich hier noch nicht. Brauche ich in diesem Fall schon ein Bussystem?

Würde mich über Rückmeldungen sehr freuen.

Danke

devpap7:
-Arduino Uno mit seinen 12 nutzbaren digitalen Pins. Habe immer Probleme, wenn ich Pin 0 und 1 nutzen will. Vielleicht kann mir das jemand an dieser Stelle erklären.

Pin 0 und Pin 1 gelten quasi als reserviert, weil diese der seriellen Kommunikation dienen - und damit auch der Programmierung mittels Bootloader. Da besser noch nichts anschließen.

devpap7:

  • vereinfacht gesprochen 14 LEDs (Kingbride und Einzel-LEDs) angesteuert durch zwei Schieberegister(74HC595). Wäre dann sogar noch etwas Platz an den Registerpins.
    -Zwei Motren angeschlossen über eine H-Brücke. L293D, eigene Stromversorgung via Akku(s).
    -einen Ultraschallsensor
    -vielleicht ein Dipschalter mit fünf oder sechs Kanälen. Mit diesem Bauteil kenne ich mich noch nicht aus, muss auf meinem Streckbrett damit noch experimentieren.

Alle anderen Bauteile habe ich bereits genutzt und konnte auch zufriedenstellende Ergebnisse erzielen. Die nicht ganz konkrete Frage ist nun. Kann ich diese Bauteile gemeinsam mit dem Uno ansteuern?

Sollte machbar sein. Aber immer kleine Brötchen backen, immer Stück für Stück abarbeiten.

devpap7:
Ich will es vorerst dabei belassen, gerne wäre weitere Sensorik interessant, aber soweit bin ich hier noch nicht. Brauche ich in diesem Fall schon ein Bussystem?

Für die paar Sachen? Eher nicht...

die 6 analogen Eingänge können auch als digitale Ein-Ausgänge verwendet werden.

sth77:
Pin 0 und Pin 1 gelten quasi als reserviert, weil diese der seriellen Kommunikation dienen - und damit auch der Programmierung mittels Bootloader. Da besser noch nichts anschließen.

Sollte machbar sein. Aber immer kleine Brötchen backen, immer Stück für Stück abarbeiten.

Ja, klasse. Das freut mich wirklich ungemein. Will es auch nicht überstürzen. Für mich ist es erst einmal ziemlich viel. Will mich tatsächlich Schritt für Schritt gerantasten.

Das die beiden Pins 0 und 1 reserviert sind ist mir bewusst, ich dachte ich könnte sie nutzten , wenn ich keine Verbindung aufbauen muss. Vielleicht habe ich das falsch verstanden.

@uwefed Das wusste ich nicht. Foglich könnte ich sie in meinem Fall auch einfach nutzen. Hast du ein kurzes Codesnippet für mich?

Danke euch für die Antworten

Nach der ersten Ideenfindung steht folgendes auf dem Papier.
-Arduino Uno mit seinen 12 nutzbaren digitalen Pins. Habe immer Probleme, wenn ich Pin 0 und 1 nutzen will. Vielleicht kann mir das jemand an dieser Stelle erklären.

Rx und Tx würde ich frei halten. Ggf. später für eine einfache Fernbedienung auf Bluetooth Basis.

  • vereinfacht gesprochen 14 LEDs (Kingbride und Einzel-LEDs) angesteuert durch zwei Schieberegister(74HC595). Wäre dann sogar noch etwas Platz an den Registerpins.

Das würde ich auf jedenfall bei behalten. Die HC595 kannst du gut und gern auf 5 -6 Register erweitern falls notwending, ohne weitere Pins zu nutzen.

-vielleicht ein Dipschalter mit fünf oder sechs Kanälen. Mit diesem Bauteil kenne ich mich noch nicht aus, muss auf meinem Streckbrett damit noch experimentieren.

Wofür soll dieser gut sein? Geht es um Voreinstellungen oder ähnliches? Dann kannst du die auch mit Widerständen bedrahten und mit einem Analog Pin einlesen. Alternativ kannst du aber auch an den 595er einen HC165(?) anschließen. Bedarf dann nur eines weiteren Pins (Miso).´

Alle anderen Bauteile habe ich bereits genutzt und konnte auch zufriedenstellende Ergebnisse erzielen. Die nicht ganz konkrete Frage ist nun. Kann ich diese Bauteile gemeinsam mit dem Uno ansteuern?

Geht.

Ich will es vorerst dabei belassen, gerne wäre weitere Sensorik interessant, aber soweit bin ich hier noch nicht. Brauche ich in diesem Fall schon ein Bussystem?

Du hast doch schon einen SPI-Bus mit deinen 74HC595. Ich würde Analog Pin A4 und A5 frei lassen. An dem kannst du dann später einfach I2C Sensoren hintereinander schalten.

EDIT:

Das die beiden Pins 0 und 1 reserviert sind ist mir bewusst, ich dachte ich könnte sie nutzten , wenn ich keine Verbindung aufbauen muss. Vielleicht habe ich das falsch verstanden.

Natürlich kannst du diese nutzten! Jedoch sollte dir bewusst sein, dass dadurch unerwartete Probleme auftreten können, wenn du einen Sketch neu drauflädst. Wenn du die beiden Pins während des Uploads herausziehst, ist alles gut :wink:

Was für ein Codesnippet?
Wie man die "normalen" Pins schaltet weißt du?
So machst du es auch mit den Analogen.
Einfach dass hinschreiben was auf dem Arduino neben dem Pin steht, also zB A0.

devpap7:
@uwefed Das wusste ich nicht. Foglich könnte ich sie in meinem Fall auch einfach nutzen. Hast du ein kurzes Codesnippet für mich?

Das ist nicht besonders. Einfach wie jeden anderen Digital-Pin verwenden. Von der Nummerierung her kannst du entweder die Ax Bezeichnung verwenden, oder du nimmst A0 = 14, A1 = 15, etc.

skorpi08:
Was für ein Codesnippet?
Wie man die "normalen" Pins schaltet weißt du?
So machst du es auch mit den Analogen.
Einfach dass hinschreiben was auf dem Arduino neben dem Pin steht, also zB A0.

Achso, dachte da wäre was spezielles zu tun. Alles klar. Kein Problem.

sschultewolter:
Wofür soll dieser gut sein? Geht es um Voreinstellungen oder ähnliches? Dann kannst du die auch mit Widerständen bedrahten und mit einem Analog Pin einlesen. Alternativ kannst du aber auch an den 595er einen HC165(?) anschließen. Bedarf dann nur eines weiteren Pins (Miso).´

Genau richtig, das war die Idee dahinter. Wollte Voreinstellungen im "Power-Off Status" festlegen. Deinen Weg mit den Widerständen verstehe ich auf Anhieb leider nicht im Detail.

Das funktioniert dann so, dass du gewissermassen mehrere Spannungsteiler hintereinander schaltest. So, das sich bei jedem Taster (Schalter, wie auch immer) ein anderer Widerstand ergibt. Das Ganze liest du dann an einem einzigen Analogpin ein-bis zu sechs Buttons hab ich so schon geschafft, wird aber dann schon empfindlich (vor allem wenn man die billigen Widerstände benutzt), aber drei oder vier kriegt man leicht hin.
Kann z.B. so gelöst werden:

http://forum.arduino.cc/index.php/topic,8558.0.html

Schönes Ding, wäre meine Frage hiermit auch beantwortet :slight_smile:

Funktionierts auch genauso mit LED's?
Also wenn Button 5 gedrückt, soll LED 5 leuchten/aufblinken.

Bräuchte es für die Taster Version 2...

Könntest du das etwas genauer beschreiben? Mit V2 meinst du bestimmt deine Modbus Module XD

Schau dir ggf. mal das an :wink: Ich warte noch auf meine 165er SMD um das zu testen.

Schaut so aus.
Möchte halt nicht für jeden Taster und jede LED extra Pin verbraten.

Hab gestern 0805er SMD zeugs bestellt, dauert also noch paar Wochen XD

Da fehlen die Vorwiderstände.

Grüße Uwe

Naja, Charlyplexing ist für einen Anfänger vielleicht doch etwas zuviel des Guten, da ist er mit Schieberegistern doch besser dran. Natürlich ginge auch ein TLC5940, oder gleich LEDs mit eingebautem Controller wie dem WS2811.

Bei den LEDs will ich beim Schieberegister bleiben. Die Methode mit dem Wideständen werde ich dennoch ausprobieren und sehen welche Ergebnisse ich erzielen kann. Ich danke euch für die ausführlichen Antworten und werde nun etwas konkretisieren.

devpap7:
Die Methode mit dem Wideständen werde ich dennoch ausprobieren und sehen welche Ergebnisse ich erzielen kann.

Du musst allerdings schon verstehen was da gemacht wird. Trivial ist das wie gesagt nicht. Vor allem wenn es größer wird:

Erst mal mit 3 Pins und 6 LEDs anfangen. Dann ist immer ein Pin Low, ein Pin High, und ein Pin Tri-State (Eingang, Low). Je nachdem wie die Kombination ist, fließt dann der Strom in eine andere Richtung.

Falls, du das mit den Tastern an einem Analog-Eingang meinst. Das ist nichts anderes als ein einfacher D/A-Wandler. Wird auch "D/A-Wandler mit gestuften Widerständen" genannt.

Oh, alles klar. Danke für den Link. Gibt also viel zu tun. Es ist mir sicher aktuell noch nicht ganz klar, welche Probleme es geben wird. Aber der Weg ist, in diesem wie in vielen Fällen, das Ziel.

Pins sparen kannst du auch mit dem PCF8574. Ein IC hat 8 Kanäle, die du jeweils als In- ODER Output nutzen kannst. Also 2x als Out für die LED's und 1x In für die Schalter. Nur gemischter Betrieb in einem IC ist nicht möglich. Und wenn bei der Sensorik noch was mit I2C dazu kommt, dann hast du 2 Fliegen mit einer Klappe geschlagen. Vielleicht noch ein Statusdisplay - kein Problem, immer drauf damit :wink:

Gruß Gerald

nix_mehr_frei:
Pins sparen kannst du auch mit dem PCF8574. Ein IC hat 8 Kanäle, die du jeweils als In- ODER Output nutzen kannst. Also 2x als Out für die LED's und 1x In für die Schalter. Nur gemischter Betrieb in einem IC ist nicht möglich. Und wenn bei der Sensorik noch was mit I2C dazu kommt, dann hast du 2 Fliegen mit einer Klappe geschlagen. Vielleicht noch ein Statusdisplay - kein Problem, immer drauf damit :wink:

Gruß Gerald

Der PortExpander, den habe ich bereits im Auge gehabt. Habe aber keinen hier und kann nicht probieren. Vielleicht kaufe ich mir einfach mal einen. Statusdisplay wäre schon sehr schön, muss mich aber etwas mit der Zielsetzung zurückhalten. Für mich ist das schon Aufwand.
Habe mich auch schon gefragt, wie ich in so einem Projekt Debuggen kann. Ist das überhaupt möglich. Daten werden in meiner Überlegung ja nicht aufgzeichnet. Somindest nicht in Hardware.