Archiv der Kategorie: Mikrocontroller/Arduino

MIDI für Kirchenorgel – 6

Debugging Obwohl die Entwicklung gut vorwärts ging, ergaben sich durch die zunehmende Komplexität einige hartnäckige Probleme. Die Anbindung der Manuale an die Midi-In- und Midi-Out-Anschlüsse funktionierte zuverlässig, auch die Wiedergabe komplexer Midi-Dateien auf der Orgel lief störungsfrei, jedoch gab es … Weiterlesen

Veröffentlicht unter Allgemein, Mikrocontroller/Arduino | Hinterlasse einen Kommentar

MIDI für Kirchenorgel – 4

Meine erste „richtige“ Platine Angesichts des hohen Verdrahtungsaufwands und der geringeren Zuverlässigkeit von Handverdrahtung auf Lochrasterplatinen war die Fertigung von Platinen unumgänglich. Weder hatte ich mich bisher ernsthaft mit Platinenentflechtung beschäftigt, noch hatte ich je welche fertigen lassen.

Veröffentlicht unter Basteln, Mikrocontroller/Arduino | Verschlagwortet mit , , , | 2 Kommentare

MIDI für Kirchenorgel – 3

Mikrocontroller und Systemarchitektur Schon seit vielen Jahren arbeite ich in meiner Freizeit mit den CPUs von ATMEL (inzwischen übernommen von Microchip). Die Entwicklungswerkzeuge sind mir halbwegs vertraut, für üblichen Steuerungsaufgaben reicht die inzwischen angestaubte 8-bit-Architektur mit bis zu 20 MHz … Weiterlesen

Veröffentlicht unter Basteln, Mikrocontroller/Arduino | Verschlagwortet mit , | Hinterlasse einen Kommentar

MIDI für Kirchenorgel – 2

Ansteuerung und Abfrage der Pfeifenmagnete Für die Kirchenorgel sind 2 Ergänzungen der Funktionsweisen machbar. Ansteuerung der Pfeifen durch die Elektronik (z B. zur Realisierung eines MIDI-Eingangs) und Abfrage des Zustands der Tasten am Spieltisch (u. A. zur Weiterführung an den … Weiterlesen

Veröffentlicht unter Basteln, Mikrocontroller/Arduino | Verschlagwortet mit , | Hinterlasse einen Kommentar

MIDI für Kirchenorgel – 1

Bei der Renovierung der Steinmeyer-Orgel meiner Kirchengemeinde hatte ich erstmals näheren Kontakt mit der Technik dieses Instruments. Anders als die historischen Kirchenorgeln (1), bei der Tastendrücke über mechanische Elemente die Ventile der Pfeifen betätigen, arbeitet dieses Instrument aus den 1950er … Weiterlesen

Veröffentlicht unter Basteln, Mikrocontroller/Arduino | Verschlagwortet mit , | Hinterlasse einen Kommentar

MIDI Program Changer (2) Program Details – 1

I choosed an AT Mega 16 for this project, using Atmel Studio in C So let’s have a look at the code mentionend (slightly simplfied). MIDI I/O Read and write work with Buffers, so main() does not have to bother … Weiterlesen

Veröffentlicht unter Basteln, Mikrocontroller/Arduino | 1 Kommentar

Arduino Project: Dynamite (1)

After years of Atmel AVR programming I decided to start my first Arduino project. Inspired by the trailer of “24” it came to my mind to built a littel circuit on a breadboard with a similar countdown using a cheap … Weiterlesen

Veröffentlicht unter Basteln, Mikrocontroller/Arduino | Hinterlasse einen Kommentar

MIDI Program Changer

While playing electronic organ I often wished I could change the sound (in MIDI terms “program”) with a foot switch instead releasing the keyboard for pressing a knob (thus interrupting the sound). Of course industrial MIDI Controlers are available. But … Weiterlesen

Veröffentlicht unter Basteln, Mikrocontroller/Arduino | Verschlagwortet mit , , | 2 Kommentare

Datumsanzeige mit DCF77 (5) – die Software: Timer-Interrupt

16.000 mal pro Sekunde wird folgende Interrupt-Routine aufgerufen: ISR(TIMER1_COMPA_vect) { tim_leds(); if ((–prescale_20ms.wordval) < 4) { switch (prescale_20ms.byteval[0] & 0x03) { case 3: tim_dcf(); break; case 2: tim_secs(); break; case 1: tim_keys(); break; case 0: prescale_20ms.wordval = PRESCALE_20MS; break; } … Weiterlesen

Veröffentlicht unter Mikrocontroller/Arduino | Verschlagwortet mit , , | Hinterlasse einen Kommentar

Datumsanzeige mit DCF77 (4) – die Software “main()”

Sehen wir uns die main()-Routine an. So schaut alles einfach aus: int main(void){    init_leds();    init_keys();    init_dcf();    init_time();    init_timer();    sei();    wait_2sec();    while(1)    {        proc_dcf();        proc_status();        proc_leds();    }} Einmalig am Anfang werden abgearbeitet: In init_leds() werden die Ports B0…7 (für die LED-Spalten) … Weiterlesen

Veröffentlicht unter Mikrocontroller/Arduino | Verschlagwortet mit , , | Hinterlasse einen Kommentar