Mit einem Oszillator und einem Microcontroller ATMega 328 kann ein Füllstandsanzeiger für Scratch gebaut werden.
Der Microcontroller ermittelt die Frequenz des Oszillators. Die Daten werden über SPI an den RaspberryPi gegeben. Der Scratch Adapter wertet diese aus und gibt sie an scratch weiter.
Der Film zeigt den Aufbau auf dem Steckbrett. Das enthält den Oszillator links, in der Mitte den Controller und dann die Verbindung zum RPi. Der Sensor ist ein Streifen einer Epoxydplatine. Die Kupferschicht wurde längs unterbrochen, so dass die zwei Platten eines Kondensators entstehen. Da Luft andere Eigenschaften als z.B. Wasser hat, verändert sich die Kapazität des Kondensators in der Nähe von Wasser. Ein Oszillator, der diesen Kondensator verwendet, wird seine Frequenz verändern.
Der scratchClient benutzt den Adapter ‘Atmel328_ADC_Adapter’. Die Firmware des Controllers ist dieselbe wie für den AD-Wandler.
Der Oszillator ist ein TLC555, die CMOS-Ausführung des bekannten 555. Zusätzliche Bauteile sind 2 Widerstände 1M Ohm und ein Kondensator 100nF. Frequenzbereich ist im Beispiel etwa 13,5kHz ohne Wasser im Glas und 9,6kHz mit Wasser.
Die Frequenzmessung erfolgt im Microcontroller über ca 10ms bzw 72 Signalperioden. Die Werte werden auf dem Controller mit den letzten 16 Werten gemittelt. Wegen des offenen Aufbaus gibt es einige Störgrössen, die ohne Mittelwertbildung/Filterung sporadische Ausreisser produzieren.
Update history: 2014-04-01 Fixed connections of LED