8 Potis und 8 Schalter, reicht ein Ardunio Uno?

Hallo,

ich habe seit längerm ein kleines Projekt im Kopf und möchte dies mit hilfe des ardunio umsetzen.

Im Prinzip benötige ich 8 Schalter und 8 Potis. Kann ich das mit einm Ardunio Uno realisieren oder benötige ich echte 16 I/O?

Muss ich wenn ich die Potis bestelle auf etwas bestimmtes achten? Am ende sollen die Potis die einen wert von 0-127 einstellen, die Schalter ein note on/off signal per midi.

Ich habe Erfahrung in C und auch im Löten, daher keine Berührungsängste.

danke für die Unterstützung

rupertt

Der Uno hat 6 analoge Eingänge, die du für die Auswertung der Potis brauchst. Da du aber 8 Potis benutzen willst, muss man sich an dieser Stelle etwas einfallen lassen. Das resultiert in einem überschaubaren zusätzlichen Hardwareaufwand. Im konkreten Fall könnte man die Potis einfach nacheinander einlesen, eine Zusatzschaltung sorgt dann dafür, dass immer nur ein Poti-Mittelabgriff auf einem analogen Eingang liegt. Eventuell ist es auch leichter, nur zwei Potis an einen analogen Eingang zu hängen und zwischen diesen beiden zu switchen, das ergäbe dann 4 belegte Analogpins. Alternativ gibt es aber auch andere ICs, die bspw. über I2C angeschlossen werden und so die Anzahl der analogen eingänge erhöhen, eben über eine Zweidrahtleitung.

Fazit: Der Uno reicht locker aus, so oder so. :D

Du kannst es auch mit einem Arduino Mini versuchen, der hat 8 analoge Eingaenge.

Hallo,

danke für die tips.

Müssen die Drehrehgler gerastert sein oder kann man einfach ein 10Ohm teil nehmen?

Vielleicht sollte ich mit 1-2 Regelern anfangen, da das einbinden eines i2c ja nochmal knwoledge erfordert.

10 Ohm würde ich nicht nehmen, eher in die Richtung 1kOhm bis 10 kOhm, das hält den Stromverbrauch der Schaltung gering. Gerasterte Drehregler sind keine Potentiometer, sondern Drehgeber, die digitale Signale ausgeben. Die Auswertung ist aber schon recht komplex, gerade wenn es später mal mehrere werden sollen.

mhh, im grunde will ich ja immer nur +1 -1 senden, dann wär ein drehregler sinnvolleR?

In dem Fall ist solch ein Drehgeber natürlich die erste Wahl, auch wenn ich mir nicht ganz sicher bin, wie man gleich 8 dieser Dinger auswertet. Eventuell diskret mit Logik-ICs und dann nur die digitalen Signale am Arduino verarbeiten, was bei 8 Stück durchaus in einem IC-Grab enden kann. ;) Aber da wird den klugen Köpfen hier im Forum sicher noch was einfallen. Es bleibt dabei, der Uno ist schon das richtige für Einsteiger. ;)

Ich bin sicher kein besonders kluger Kopf hier im Forum, aber was wäre wenn man nur einen einzigen Drehgeber verwendet, dafür aber einige Taster mehr ?

Vorstellbar wäre: Du hälst einen Taster gedrückt und veränderst dann mit dem Drehgeber den Wert. Dann einen anderen Taster und wieder Drehgeber... U.s.w. Mehrere Taster abfragen hatten wir schon oft hier im Forum. Das dürfte weniger das Problem sein.

Nur so als Idee ;)

Für n*m Potis kann man 2n Digitale Ausgänge und m Eingänge nehmen. Die die Mittelkontakte an die Eingänge, die Aussenkontakte an die Ausgänge. Zum aktivieren eines Satzes von m Potis werden die entsprechenden beiden Digitalpins auf low bzw. high geschaltet, alle anderen auf Tristate / High Z.

--> Uno reicht locker auch ohne Zusatzhardware.

Udo

Hallo Rupertt, hallo alle

Der ATmega im SMD-Gehäuße hat 8 digitale Eingänge. Nicht alle Arduinos, die den Atmega im SMD haben haben auch alle Eingänge herausgeführt. Ich würde Dir einen Arduino Nano raten; der hat 8 Analoge Eingänge und das USB interface integriert. Ansonsten geht der Arduino Mini auch, da mußt Du aber den Seriell/USB- Umsetzer separat kaufen und anschließen. Das find ich die einfachste Lösung ohne viel Zusatzelektronik.

Rupertt Du kannst Das auch mit einer Tastenwippe realisieren.

Viele Grüße Uwe

Wie wäre eine Lösung mit Drehgebern durch Brückenwiderständen und Multiplexing? ein Drehgeber senden nur 1High, 1Low - ein Taster nur High oder Low. die Taster an den analogen Eingang über Widerstände senden 8,16, 32 etc, die Drehgeber über die analogen Eingänge und Widerstände 1High/Low, 2High/low etc...

Ich setzt mich mal hin und bastel ein bisschen...

Generell reicht ein Uno aber auf jeden Fall.

Gruß Marcus

Hallo,

guter input.

Ich habe noch einige anleitungen gelesen und gesehen das viele schon potis nehmen, so wie Udo das auch beschrieben hat. In einem der Beispiel hat jemand 2x 4021 genommen und so die 16 steps realisiert. Die meisten Poti haben ja 3 Anschlüsse, kann der der code am ende anhand des widerstandes den wert auswerten?

Welche Potis kann ich den gefahrlos bestellen? Würde gerne eine große bestellung machen, leider ist reichelt ja nicht portofrei. Könnntet Ihr mir evtl. auflisten was ich benötige um meine Idee umzusetzen, Ein experimentierboard, kabel und buchsen hab ich schon im Korb.

Ich habe nochmal über meine Pot Lösung nachgedacht. Leider funktioniert der n*m Fall nicht ganz so wie ich mir das vorgestellt hatte. Problem ist wenn die Potis “am Anschlag” sind. D.h. man müsste jeweils vor und hinter die Potis noch Widerstände schalten und dann einen Gleichungssystemlöser benutzen. Einfacher wäre es dann einfach 2n Digitalpins + 1 Analogpin zu nutzen um n Potis abzufragen. Das klappt auch ohne Gleichungssysteme zu lösen → 6 Analog Pins und 6 Digitalpins reichen um 8 Potis abzufragen.
Reicht dann immer noch für 8 Schalter. Die 8 Schalter kann man zur Not auch noch geschickt verschalten um noch ein paar Digitalpins zu sparen.

Udo

Mit einem CD4051,dies ist ein Analogmultiplexer, könnest du das in den Griff bekommen . Mit 3 Ausgängen und einem Analog Eingang kommst du dann auf deinen 8 Analogwerte(über einen Analog Eingang) nimmst du noch einen zweiten 4051 könnest du dann 16 Analoge Eingänge haben mit nur 5 I/Os . Ist dann aber halt noch etwas Zusatz Hardware nötig. Du kannst mit den 3 Ausgängen Binär vorwählen welchen Port vom CD4051 auf den Analog Eingang geschaltet wird und den dann Auslesen. Zeitverlust kann man eigentlich vernachlässigen da der 4051 in 0,6-1µs umschaltet.

einen zweiten 4051 könnest du dann 16 Analoge Eingänge haben mit nur 5 I/Os .

Du meinst 3 Adressbit und je einen für Enable jedes 4051? Grüße Uwe

Ich meinte 3 Adressbits und zwei Analog Inputs. Du kannst ja ruhig beie 4051er umschalten lassen aber dann immer noch entscheiden welchen AI du liest also -AI(1) 8fach MUX -AI(2) 8fach MUX macht 3 Adressen zwei AI´s 16 Analoge Eingänge. Das alles in eine Funktion schreiben

int Muxread("1-16){ und hier dann das Programm rein }

und schon brauchst du dich aus dem Programm nicht mehr um das schalten und walten kümmen sonden machst nur noch den Aufruf Muxread(1-16) für den jeweils genutzten Eingang.

Auf die Idee bin ich nicht gekommen. Zusammen hat man mehr und bessere Ideen. Grüße Uwe

Das ist wirklich ne prima Idee. Manchmal vermisse ich die Möglichkeit, Pluskarmas zu vergeben... ;)

Der größte Vorteil daran dieses Teil kostet 0,53€!

Als mutliplexer meint ihr wahrscheinlich diese hier?

http://www.reichelt.de/ICs-74HC40-DIL/74HC-4051/index.html?;ACTION=3;LA=444;GROUP=A2235;GROUPID=2933;ARTICLE=3229;START=0;SORT=preis;OFFSET=100;SID=155ejSiKwQAQ8AAH9blSEf1870aed294bd11b857e435951efbbcf

Würden diese Potis Ihren Dienst tun?

http://www.reichelt.de/6mm-Potis-mono/RK09K113-LOG10K/index.html?;ACTION=3;LA=444;GROUP=B253;GROUPID=3135;ARTICLE=73819;START=0;SORT=preis;OFFSET=100;SID=155ejSiKwQAQ8AAH9blSEf1870aed294bd11b857e435951efbbcf

Leider scheint der Uno noch ausverkauft sonst hätte ich mir längst einen bestellt :(.

danke