Hallo liebe Gemeinde,
auf der Suche im Internet zu Arduino + MP3 bin ich schnell auf den Tonuino gestossen und war begeistert. Nachdem ich mir die benötigte Hardware besorgt hatte, fing ich erst einmal an, die einzelnen Komponenten auf einem Breadboard zu testen. Mit der Zeit habe ich dann ein paar Erweiterungen eingebaut, wie z.B. einen Drehregler für die Lautstärke oder ein 4-stelliges 7-Segment-Display. Beim Hinzufügen der neuen Komponenten bekam ich mehr und mehr Probleme mit der maximal verfügbaren Lautstärke. Anscheinend verbraucht der DFMiniMp3 zu viel Strom, wenn er über den internen Verstärker betrieben wird und zeitgleich noch andere Elemente versorgt werden müssen). Also habe ich nach kurzer Suche im Internet eine sher gute Anleitung für einen kleinen Verstärker gefunden: kleiner Verstärker mit Bass Boost.
Damit waren die Lautstärke-Probleme behoben, allerdings hatte ich zu Beginn massive Störgeräusche beim Anschluss des Verstärkers an die entsprechenden Pins am DFMiniMp3-Modul. Ich habe viel ausprobiert und in Foren gelesen, bis ich gesehen habe, daß es am Modul noch einen zweiten GND-Anschluß gibt. Nachdem ich das GND des Verstärkers dort angesteckt habe, waren die Störgeräusche weg! Vielleicht hilft Euch das auch.
Ich habe dann noch einen Kopfhöreranschluss eingebaut, wobei mir die Idee kam, den ganzen Tonuino doch in einen Walkman einzubauen, um das ganze portabel zu machen und unterwegs die Musik geniessen zu können. Ich habe dann einmal die Größe der RFID-Karten mit denen einer guten alten Kasette verglichen: passt perfekt! Also anstelle einer Kassette einfach eine Karte in das Fach einlegen!
Wie ich im Forum gesehen habe, hatten auch schon andere die gleich Idee mit dem Walkman.
Aber Moment einmal: Kassetten haben zwei Seiten, man kann sie umdrehen! Und schon war die Idee geboren: meine RFID-Karten müssen auch zweiseitig sein. Aber wie umsetzen? Natürlich mit Infrarot-LEDs und Sensoren. Ich habe dann begonnen, viel rumzuprobieren und zu testen, aber es hat sich gelohnt. Ich habe eine Lösung gefunden, die zwar noch in Prototypform ist, die ich aber später noch in ein Walkman-Gehäuse einbauen will.
Und wie funktioniert das Ganze jetzt? Zunächst einmal brauchen die RFID-Karten ein Erkennungsmerkmal für die eingelegte Seite, dem RFID-Leser ist ja egal, wie rum man die Karte auflegt. Dazu habe ich in der rechten unteren Ecke der Karte auf der einen Seite eine spiegelnde Fläche aufgeklebt, die andere bekommt an der gleichen Stelle eine schwarze Fläche:
(leider kann ich als neu angemeldeter Benutzer nur ein Bild einstellen, daher muss das hier reichen:)
Wie man sieht, habe ich die Karten gleich mit Aufklebern bestückt (beide Seiten mit sehr guter Filmmusik zu zwei sehr guten Filmen). Die Aufkleber hab ich mir an einer Fotostation eines bekannten Drogeriemarktes drucken lassen. Das Format “Geschenkkarte” hat genau die richtige Größe und es sieht echt gut aus. Man darf nur die Aufkleber nicht falsch aufsetzen und wieder abziehen, dann bekommen sie unschöne Streifen.
Aber zurück zum Thema. Passend zu den Karten habe ich mir einen Kartenschlitz gebaut, der an der Stelle der Markierungen der Karten eine IR-LED mit passender IR-Photodiode besitzt (siehe Bild).
Steckt man nun die Karte mit der spiegelnden Seite in den Schlitz, so wird das infrarote Licht reflektiert, was wiederum der IR-Sensor registriert. Bei der schwarzern Markierung hingegen bleibt der IR-Sensor dunkel. Über einen analogen Pin können die Helligkeitswerte ausgelesen und der richtigen Kartenseite zugeordnet werden!
Damit verhindert wird, daß die Karte bereits gelesen wird, wenn sie nur von aussen an den Schlitz gehalten wird (ohne dabei die Information über die eingelegte Seite zu haben!), habe ich einen zweiten IR-Sensor gegenüber der IR-LED gesetzt, der praktisch als Lichtschranke fungiert (auf dem Bild oben als kleiner schwarzer Punkt im linken Loch zu sehen). Erst wenn die Lichtschranke durch eine eingelegte Karte unterbrochen wird, lese ich die Seite aus, und dann erst die Karte.
Natürlich müssen die Daten auf der Karte nun auch verdoppelt werden. Diese speichere einfach in zwei verschiedenen Blöcken ab, die ich dann je nach eingelegter Seite auslese (und später auch schreibe, ich bin gerade dabei, diesen Teil des Codes anzupassen).
Ein kleines Manko gibt es aber noch. Eine eingelegre Blanko-Karte spiegelt von sich aus schon genug, um den IR-Sensor zu täuschen. Hier denke ich gerade über einen weiteren IR-Sensor für eine zweite Markierung links unten auf der Karte nach. Die eine Kartenseite bekommt links ein schwarzes und rechts ein spiegelndes Feld, bei der anderen Seite ist es ungekehrt. So ließe sich auch eine Blanko-Karte erkennen, da sie auf beiden Flächen speigelt.
Jetzt muss ich das Ganze nur noch in einem alten Walkman unterbringen (ich bin gerade auf der Suche nach einem möglichst alten, klobigen Modell )
Ich hoffe, die Idee gefällt Euch. Falls Ihr Fragen oder Anregungen habt, immer her damit!
Euer Grobiwan