Arduino mit 200 I/O Ports?

OP #7010418
Lesenswert?

Hallo,

hab ein neues Projekt und könnte ein bisschen Hilfe gebrauchen.

Ich habe auf der einen Seite 100x TTP223 Touch Sensoren und möchte auf 
der anderen Seite je einen von 100 LED-Streifensegmente mit je 20cm 
schalten. Bis hierher würde es ja mit direkter Verkabelung vom Sensor 
zum Streifen funktionieren, nur würde ich gerne RGBW-Streifen haben, die 
auch unterschiedlich auf den Touch-Impuls reagieren sollen (je nach 
Wunsch)

Ist das noch mit Arduino möglich, und wenn ja, welche I/O Boards brauch 
ich dazu? Oder ist das ganze im Raspi-Bereich besser aufgehoben? Oder 
ganz was anderes, womit ich dann aber 0 Erfahrung hätte.

Ausgangsseitig könnte ich mir noch die adressierbaren RGBW-Streifen ala 
WS2811 vorstellen, brauche ich da dann nur einen Daten-Ausgang den ich 
mit allen Streifen verbinden könnte?


Liebe Grüße und Danke im Voraus für hilfreiche Antworten :D
#7010424
Lesenswert?

Martin H. schrieb:
> Ist das noch mit Arduino möglich,

Ja.

> und wenn ja, welche I/O Boards brauch
> ich dazu?

Seriell angesteuerte.

> Oder ist das ganze im Raspi-Bereich besser aufgehoben?

Nicht zwingend, wenn gleich das auch geht.

> Ausgangsseitig könnte ich mir noch die adressierbaren RGBW-Streifen ala
> WS2811 vorstellen, brauche ich da dann nur einen Daten-Ausgang den ich
> mit allen Streifen verbinden könnte?

Sollte man nicht machen, das ist konzeptionell eher ungünstig. Besser 
mehrere Streifen, vielleicht 5-10.
Gast #7010700
Lesenswert?

Martin H. schrieb:
> Ausgangsseitig könnte ich mir noch die adressierbaren RGBW-Streifen ala
> WS2811 vorstellen, brauche ich da dann nur einen Daten-Ausgang den ich
> mit allen Streifen verbinden könnte?

Ja.

Martin H. schrieb:
> Ist das noch mit Arduino möglich

Ja.

> und wenn ja, welche I/O Boards brauch
> ich dazu?

Es wird ja wohl nur 1 Touch zu einer Zeit gedrückt.

Das vereinfacht die Auswertung.

Ich wurde wohl eine 10 x 10 Matrix bauen, die schnell zyklisch 
ausgewertet wird.

Damit der Touch dann die Verbindung von Zeile und Spalte in der Matrix 
schalten kann, nutzt man entweder 100 Optokoppler oder 100 BC547 
Transistoren mit 47k Basisvorwiderstand.

Das kostet 20 pins am Arduino, also nicht das kleinste Modell.

Alternativ Analogauswertung, mit 11 Spannungspegeln pro Analogeingang 
bräuchte man 10 Analogeingänge am Arduino, auch hier nicht das kleinste 
Modell.

Oder man nutzt 74HC165 Schieberegister, braucht aber 13 Stück davon. 
Dafür tut es dann ein kleiner Arduino.

https://de.aliexpress.com/item/4001252471550.html
Moderator #7010873
Lesenswert?

Nimm einen IMXRT105x oder IMXRT106x. Damit kannst du ohne externe
Schieberegister alle Touch-Sensoren unabhängig voneinander einlesen, 100
WS2812 mit einem Refresh von über 300 Hz ansteuern und hast immer noch
20 GPIOs frei für andere schöne Dinge. Diese µC brauchen zwar einen
externen Flash-Speicher, aber bei diesen zwei ICs bleibt es dann auch.

Falls du selber keine BGAs löten kannst, kannst du damit auch eine Firma
beauftragen.

Die Arduino-Software kannst du vom Teensy 4.0 übernehmen.

MaWin schrieb:
> Ich wurde wohl eine 10 x 10 Matrix bauen, die schnell zyklisch
> ausgewertet wird.

Das geht nicht so ohne weiteres, weil der TTP223 keinen Chip-Select
hat.
#7010943
Lesenswert?

Yalu X. schrieb:
> Nimm einen IMXRT105x oder IMXRT106x. Damit kannst du ohne externe
> Schieberegister alle Touch-Sensoren unabhängig voneinander einlesen, 100
> WS2812 mit einem Refresh von über 300 Hz ansteuern und hast immer noch
> 20 GPIOs frei für andere schöne Dinge. Diese µC brauchen zwar einen
> externen Flash-Speicher, aber bei diesen zwei ICs bleibt es dann auch.
>
> Falls du selber keine BGAs löten kannst, kannst du damit auch eine Firma
> beauftragen.

Mann O Mann. Welche Drogen sind hier im Spiel? Der heißeste Scheiß, aber 
für Hobbybastler und mal sicher auch den OP komplett DANABEN!
Moderator #7011019
Lesenswert?

Falk B. schrieb:
> Der heißeste Scheiß, aber für Hobbybastler und mal sicher auch den OP
> komplett DANABEN!

Für dich vielleicht. Es gibt hier im Forum durchaus einige, die auch
BGAs im Hobbykeller bestücken. Außerdem kostet die Bestückung durch den
Platinenfertiger heute auch nicht mehr die Welt, zumindest dann, wenn
die Stückzahl etwas höher als 1 oder 2 ist.

Ich wollte mit meinem Vorschlag nur eine mögliche Alternative zu den
ansonsten propagierten 74er-Gräbern und und erst recht zu

MaWin schrieb:
> 100 Optokoppler oder 100 BC547 Transistoren mit 47k Basisvorwiderstand

aufzeigen.

Entscheiden, welches für ihn die praktikabelste Lösung ist, kann der TE
vermutlich selber.
Gast #7011289
Lesenswert?

Martin H. schrieb:
> Ich habe auf der einen Seite 100x TTP223 Touch Sensoren und möchte auf
> der anderen Seite je einen von 100 LED-Streifensegmente mit je 20cm
> schalten. Bis hierher würde es ja mit direkter Verkabelung vom Sensor
> zum Streifen funktionieren, nur würde ich gerne RGBW-Streifen haben, die
> auch unterschiedlich auf den Touch-Impuls reagieren sollen (je nach
> Wunsch)

* soll das ganze außer der farbe auch etwas anderes machen? (irgendwas 
ein-/ausschalten oder so?)
* muss die information über ein einzelnes feld überall bekannt sein?

=>

wäre es möglich, das ganze feld in kleinere einheiten (z.b. 4x5 felder) 
zu unterteilen und die teilcontroller ggf. untereinander zu vernetzen 
(evtl. mit einem master)?

das reduziert das problem mit der anzahl an benötigten I/O ports ganz 
gewaltig...
Gast #7011544
Lesenswert?

> Die Arduino-Software kannst du vom Teensy 4.0 übernehmen.

Kann man die Arduino-Software, entwickelt auf auf einen Teensy 4.0 (der 
ja den speziellen bootloader hat), tatsächlich auf einem custom board, 
ohne den Teensy bootloader, ausführen? Hat das schon mal jemand 
ausprobiert?

Ich dachte immer, dass der Arduino-Code auf Routinen im Bootloader 
zurückgreift.
Gast #7011558
Lesenswert?

Bruchmueller schrieb:
> Ich dachte immer, dass der Arduino-Code auf Routinen im Bootloader
> zurückgreift.

Keine Ahnung, aber bei vielen Mikrocontrollern liegt das Programm mit 
und ohne Bootloader an unterschiedlichen Positionen im Speicher und muss 
daher neu compiliert werden.

Wie dem auch sei, du kannst den Quelltext mit der IDE öffnen und dann 
wahlweise für oder ohne Bootloader compilieren.
Gast #7011567
Lesenswert?

Ich habe als Hobbybastler schon so einiges gemacht, aber die Grenze der 
Vernunft ist bei QFN e=0.5mm erreicht. Nehme ich nur, wenn es kein QFP 
gibt und BGA? LOL, also n bissl Spass soll das ganze ja noch machen....
Gast #7011572
Lesenswert?

Bruchmueller schrieb:
> Ich dachte immer, dass der Arduino-Code auf Routinen im Bootloader
> zurückgreift.

Offenbar trifft das auf den Teensy 4.o nicht zu

"Teensy 4.0's bootloader is stored in a dedicated chip. All of the main 
chip's memory is available to your program. Upon power up, your program 
runs immediately. The bootloader does not run automatically at startup, 
as is done with most Arduino compatible boards. The physically separate 
chip keeps Teensy's bootloader separate from your code and prevents 
flash programming from being able to damage or erase the bootloader."

https://www.pjrc.com/store/teensy40.html

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren