Geschrieben am

Arduino: Steuern, Messen, Programmieren

arduino-uno-vergleich-mit-arduino-nano-nonameIch mache eine kleine Pause vom analogen Audio-Equipment und fühle mich vom Arduino Mikrocontroller und dessen unendlichen Möglichkeiten genervenkitzelt. Damit ist bis zum fahrenden Roboter alles möglich…

Was ist ein Mikrokontroller?

Ein elektronisches Bauteil mit vielen Beinchen das sich wie ein Computer programmieren lässt. Der Unterschied zum Rechner ist dabei ziemlich einfach:

  • Im Computer werkelt ein Mikroprozessor – der ist besonders gut im Verarbeiten und Berechnen von Daten (eng. to process)
  • Der Mikrocontroller kann das nur langsam – dafür kann er besonders gut andere Bauteile „kontrollieren“, d.h. steuern oder messen.

Fast alle Geräte haben heute einen MC, von der heimischen Waschmaschine bis zum MIDI-Controller. Der Controller misst z.B  den Schalter in der Klaviatur, rechnet diesen in MIDI-Werte um und gibt diese dann aus.

Der eigentliche Witz ist, dass ein MC fast nix kostet – ab 50 Cent ist man dabei.

Was ist Arduino?

Um einen MC zu programmieren, braucht man aber eine spezielle serielle Schnittstelle, komplizierte Tools und noch einiges mehr. Arduino ist kein spezieller Mikrocontroller sondern eher ein Ökosystem, dass den Prozess von der Idee zur fertigen Schaltung richtig easy macht. Ein Arduino Uno z.B. hat einen USB-Anschluss um ihn darüber programmieren zu können. Eine Programmier-Software und eine recht genormte Programmiersprache gibt es kostenlos dazu.

Zu meine ersten wackeligen Schritten gehörte neben Licht-an-Licht-aus-Schaltungen dann auch eine simple Schaltung mit einem Lautsprecher und einem Fotowiderstand:

Der Code dazu ist extrem simpel:

int sensorValue;

void setup() {}

void loop() {
 sensorValue = analogRead(A0);
 int pitch = map(sensorValue, 1023, 0, 50, 4000);

 tone(8, pitch, 20);

 delay(10);
}

Der erste Befehl legt eine Variable mit dem Namen „sensorValue“ an.  Im Loop wird jetzt einfach der Wert des Fotowiderstandes der an Pin A0 angeschlossen ist in die Variable geschrieben.

Die Messwerte von 0 bis 1023 werden über Befehl „map“ auf den Wertbereich zwischen 50 und 4000 umgerechnet und die Variable „pitch“ geschrieben. Nun haben wir dort eine Frequenz im hörbaren Bereich.

Der Befehl „tone“ spielt nun die Frequenz über den an Pin 8 angeschlossenen Lautsprecher ab. Der Arduine wartet 10 Millisekunden und die Schleife beginnt von neuem.

Das Spiel SENSO

Nach ein paar Versuchsschaltungen hab ich mich an ein Spiel aus meiner Kindheit erinnert: SENSO.  Dabei musste man über bunte Tasten die Töne und Lichter die das Spiel vorgab wiederholen. Die Schaltung besteht aus 4 Tastern und 4 LEDs – super einfach (das LCD ist nur zur Kontrolle dort).

Bei der Programmierung hab ich dann geflucht. Auch die ist im Grunde richtig einfach, ich musste aber erst einmal dahinter kommen.

arduino-uno-mit-breadboard-und-lcdWeil die Kiste natürlich riesig ist, habe ich die Schaltung mit einem Arduino Nano auf eine kleine Platine gebaut. Der Nano-Klon ist übrigens spottbillig: 6 € inkl. Versandkosten.

arduino-uno-vergleich-mit-arduino-nano-noname
Hier der Arduino Uno im Vergleich zum Arduino Nano auf meiner Test-Platine

MIDI soll es werden

Mein nächster Versuch wird dann ein eigener MIDI-Controller. Die Ideen schwimmen schon in meinem Kopf um die Wette und ein blanko Gehäuse ist auch schon bestellt…

5 Gedanken zu „Arduino: Steuern, Messen, Programmieren

  1. Krass, woher weißt du, was das Teil an sich kann… Und welche Möglichkeiten es bietet? Recherche oder elektronisches Grundwissen? Grüße Auke

    1. Hey Auke,
      viel Recherche und vor allem Ausprobieren: das Arduino-Startserset hat da wirklich geholfen. Aus meinem Elektronik-Unterricht von der SAE ist wirklich nix hängen geblieben…
      VG
      Götz

  2. Hi Götz ich bin Simon und ein groser Fan Von dir.Ich hätte einen vorschlag für ein neues project nämlichein eine Wetterstation.

    1. Hi Simon, vielen Dank für deinen Vorschlag. Allerdings baue ich im Moment nur Projekte, die etwas mit Musik zu tun haben.
      VG
      Götz

  3. Hallo Götz,feine Sachen,welche Du machst mit dem Arduino.Mich interessiert eher die Anwendung des Ardu-
    ino beim Aufbau einer DDS als Ersatz für einen freischwingenden VFO.Dazu benötigt man wohl noch einen
    AD9850-Baustein….Irgendwann werde ich mich auch damit konkret befassen,hi.Kommt Zeit;kommt Rat und
    auch Geld.
    MFG de Hilmar.

Kommentar verfassen