Ich habe mir einige Anleitungen für "Treppenlichter" angesehen und diese sehen meist auch toll aus. Ich wollte aber einen anderen Weg gehen und mich näher mit I2C beschäftigen. Ein Treppenlicht bietet sich da förmlich an, hier also mein Plan:
Steuerung(Arduino nano) --> I2C Bus:
Die Treppe besteht aus 13 Stufen, also benötige ich 13 I2C Devices die mit der Firmware von BlinkM arbeiten. Plus 2 Devices, die ermitteln ob die erste oder letzte Stufe betreten wurde sowie ein Lichtsensor. Hier wurden auch schon Leiterplatten mit Fritzing erstellt und in Auftrag gegeben. Die ATtinys selber werden ja immer billiger, ich habe mich für den ATtiny85 entschieden. bei 0.80 Euro braucht man da nicht mehr nachdenken
So, alles aufgebaut und was soll ich sagen, es funktionierte auf Anhieb. Hier mal ein Foto des Versuchsaufbau's und der Code für master und Slave. Auf dem Foto seht ihr den Arduino Nano sowie ein BlinkM Device sowie das I2C mit dem Drucksensor FSR 402. Das BlinkM hat in dem Aufbau erst einmal keine Funktion ... sobald man den Sensor betätigt bekommt man Werte bis 256 auf der Konsole.
Hier mal mein geänderter Entwurf mit extra Buchsenleiste für die LED ...
Um das I2C Problem etwas zu umgehen, habe ich mich entschlossen bei Reichelt ein 10 poliges Flachbandkabel nebst 2x5 Pfostensteckern zu kaufen. Die Signalleitungen haben dadurch immer eine Masseleitung zwischen sich und werden damit stabiler arbeiten.
Hier also ein paar Fotos von den kleinen Dinger
Steuerung(Arduino nano) --> I2C Bus:
I2C_1 | ATtiny85 mit Drucksensor (FSR) und Lichtsensor |
I2C_2 | ATtiny85 mit Nachbau BlinkM Modul |
I2C_X | ATtiny85 mit Nachbau BlinkM Modul |
I2C_14 | ATtiny85 mit Drucksensor (FSR) |
Die Treppe besteht aus 13 Stufen, also benötige ich 13 I2C Devices die mit der Firmware von BlinkM arbeiten. Plus 2 Devices, die ermitteln ob die erste oder letzte Stufe betreten wurde sowie ein Lichtsensor. Hier wurden auch schon Leiterplatten mit Fritzing erstellt und in Auftrag gegeben. Die ATtinys selber werden ja immer billiger, ich habe mich für den ATtiny85 entschieden. bei 0.80 Euro braucht man da nicht mehr nachdenken
So, alles aufgebaut und was soll ich sagen, es funktionierte auf Anhieb. Hier mal ein Foto des Versuchsaufbau's und der Code für master und Slave. Auf dem Foto seht ihr den Arduino Nano sowie ein BlinkM Device sowie das I2C mit dem Drucksensor FSR 402. Das BlinkM hat in dem Aufbau erst einmal keine Funktion ... sobald man den Sensor betätigt bekommt man Werte bis 256 auf der Konsole.
Nun, ich habe als erstes ein BlinkM Clone in Fritzing entworfen. Die habe ich dann als Gerberfiles an einen Leiterplattenhersteller:https://www.haka-lp.de geschickt und gestern bekommen. Aber wie das Leben so spielt, zwei Fehler waren in dem Entwurf. Ich hatte 2 Massen und der Reset Pin des Tinys war auf masse Aber nach brutalem umbiegen des Pin's lies sich das Teil ansprechen Mein größtes Problem, die Bohrungen der RGB LED waren einfach zu klein und ich muss mir jetzt was ausdenken um die gelieferten Leiterplatten doch noch nutzen zu können.
Hier mal mein geänderter Entwurf mit extra Buchsenleiste für die LED ...
so am Wochenende habe ich endlich zeit gehabt mich weiter um mein Projekt zu kümmern Die 13 Devices sind jetzt alle zusammen gelötet. Die falsche Routenführung hatte ich mit einem kleinen kabel gelößt. Der resetpin auf masse wurde durch brutales entfernen des pins an dem IC Sockel deaktiviert.
Um das I2C Problem etwas zu umgehen, habe ich mich entschlossen bei Reichelt ein 10 poliges Flachbandkabel nebst 2x5 Pfostensteckern zu kaufen. Die Signalleitungen haben dadurch immer eine Masseleitung zwischen sich und werden damit stabiler arbeiten.
Hier also ein paar Fotos von den kleinen Dinger
Endlich sind auch die platinen für die I2C AnalogSensoren gekommen. Gleich einen mal zusammengelötet und siehe da, auf Anhieb funktioniert ... jedenfalls sah es so aus ;) Der Sensor arbeitet, Problem war nur .... immer wenn ein Event ausgelöst wurde kam der einige Sekunden später bei dem Master an. Ich hab eine Weile gebraucht um herauszufinden das die Fuses nicht richtig gesetzt wurden und der Attiny85 mit seinen Standart Fuses also 1 MHZ nur läuft. Gut, man lernt immer dazu ;)
Am Wochenende werde ich die Zeit finden um endlich das Programm aufzubauen und den I2C Drucksensor aufzubauen.
Dieser Kommentar wurde vom Autor entfernt.
AntwortenLöschen