Guten Tag Zusammen
Ich hätte eine kleine Frage an euch.
Wir müssen in der Berufsschule eine Vertiefungsarbeit schreiben. Ich und mein Kollege haben uns dafür entschieden, ein Gerät zu "bauen", welches den Umgang mit Elektrogitarren-Effektgeräten vereinfacht. Die Aufgabe des Gerätes ist es, den Effektgeräten ein Taktsignal in BPM (Beats per Minute) weiterzugeben. Mit zwei Tastern sollte man das Tempo (50-250BPM) einstellen können, welches auf einer drei stelligen 7-Segment-Anzeige angezeigt wird. Weiter sollte man mit 2 weiteren Fusstastern zwischen 9 Speicherplätzen umgeschaltet werden können. Die Nummer des Aktuellen Speicherplatzes wird mit Hilfe einer weiteren 7-Segment-Anzeige angezeigt.
Man kann also zwischen 9 Speicherplätzen wechseln, und dort das Tempo einstellen, welches einen Kontakt des Effektgerätes Schaltet.
Wir hatten einige Lösungsansätze, unser Lehrer hat uns allerdings darauf hingewiesen, dass es mit dem Arduino einfacher wäre. Ich besitze bereits ein Arduino Uno habe aber noch keine grosse Erfahrung damit.
Hätte jemand von euch eine Idee wie man da vorgehen müsste?
Wäre extrem froh um Hilfe!
Gruss Damian97
Damian97:
... Mit zwei Tastern sollte man das Tempo (50-250BPM) einstellen können, welches auf einer drei stelligen 7-Segment-Anzeige angezeigt wird. ...
Was die Taster angeht:
Schließe sie so an den Arduino an, dass damit jeweils ein Pin mit Masse/GND verbunden wird, wenn gedrückt. In setup() konfigurierst Du die betreffenden Pins dann so:
pinMode(Pin, INPUT_PULLUP);
Damit wird der Pull-up-Widerstand des Pins aktiviert, wodurch er automatisch „HIGH“ ist, solange er nicht mit GND verbunden wird. Die Abfrage funktioniert dann z. B. so:
if (digitalRead(Pin)==0)
{ // Code für „Taster gedrückt“ }
else
{ // Code für „Taster nicht gedrückt“ }
Der else-Teil ist häufig gar nicht nötig.
Was die Sieben-Segment-Anzeigen angeht:
Es gibt ICs, die deren Ansteuerung übernehmen (BCD-zu-7-Segment-Decoder). Da gehen 4 Signale rein und der IC steuert dann eine 7-Segment-Anzeige so an, dass dort der Wert angezeigt wird. Es gibt verschiedene ICs, die das übernehmen. Welcher die (derzeit) beste Wahl wäre, kann ich aber nicht sagen.
Wenn ich mal ganz einfach rechne wird eines der Folgeprobleme sein, dass Du evtl. mehr Pins brauchst, als der Arduino bietet.
Ich hoffe, das hilft schonmal.
Gruß
Gregor
Nur 'ne Rückfrage zum Verständnis deines Problems:
den Effektgeräten ein Taktsignal in BPM (Beats per Minute) weiterzugeben.
und
zwischen 9 Speicherplätzen umgeschaltet werden können
Die "normalen" Effektgeräte für E-Gitarren (die ICH kenne) wie z.B. Flanger, Phaser, Verzerrer, Booster etc. haben doch in der Regel nur Ein-/Aus-Schalter und Potis für die Stärke des/der Effekte - und benötigen nach meiner Erfahrung niemals ein BPM-Signal.
Das klingt alles eher nach einer Rhythmus-Maschine, bei der man die einzelnen simulierten Drums, Becken etc zu- bzw. abschaltet und diesen den Takt vorgibt???
Nach der jetzigen Beschreibung enthält das Projekt Einsteigerübungen. Tastenabfragen, 7Segment-Display, Blinkwithoutdelay für die Takterzeugung usw. . Eignet euch zielgerichtet die Grundlagen sowohl Hardware wie auch Programmierung an. Dabei kann ein Einsteigerset und/oder ein Buch für Arduino-Einsteiger helfen.
Bei der 7Segment-Anzeige finde ich die Ansteuerung über einen Max7219 empfehlenswert. Es gibt fertige Module. Falls ihr günstige Hardware in Asien bestellt, kauft lieber etwas mehr. Die Lieferzeit ist so lang, dass ein Defekt eines wichtigen Teils einen aus dem Zeitplan wirft. Dafür sind die Sachen sehr preiswert, so dass man auch was doppelt oder Teile für eine Alternativlösung bestellen kann.
Theseus:
Nach der jetzigen Beschreibung enthält das Projekt Einsteigerübungen.
Nicht zu vergessen der endliche Automat (Finite State Machine)
Danke euch viel mal.
Mit ein bisschen Hilfe hat das gut geklappt.
Gruss Damian