Meine Programmiererfahrung: Anfänger bis fortgeschrittene Anfänger
Zurzeit: Ich lesen mit ArduinoUNO den Feuchtesensor SHT31 (siehe Datenblatt unten) aus. Es läuft super.
Das Programm das ich nutze ist dies hier: https://github.com/winkj/arduino-sht
Mein Ziel ist: Der Feuchtesensor soll durch den zweiten ArduinoUNO ersetzt werden, um später die Feuchtigkeitswerte zu simulieren und damit die Software zu überprüfen, bevor der Sensor tatsächlich genutzt werden kann.
Wie muss mein ArduinoUNO für die Simulation eingestellt werden?
Kann mir jemand helfen dies zu lösen?
Hmm. Willst du damit die Library prüfen, oder deinen darauf aufbauenden Sketch?
Im ersten Fall prüfst und verbesserst du deinen Simulator-Sketch, bis er genauso wie der Sensor behandelt wird.
(Du prüfst also eher deinen Simulator-Sketch und dein Verständnis des I2C-Protokolls)
Um (im zweiten Fall) deinen Sketch zu prüfen, brauchst du nur eine alternative Eingabe für beliebige (?) Test-Werte anstelle echter Sensor-Werte. Dafür brauchst du keinen zweiten Uno als I2C Slave.
Wenn du also wirklich solch einen Simulator-Sketch auf einem separaten Uno erstellen willst, schau dir die slave Beispiele zur Wire Library an. (Und vergleiche die SHT Library mit den I2C-Master Beispielen.)
Bogdan80:
Wie muss mein ArduinoUNO für die Simulation eingestellt werden?
Eine Kommunikation zwischen zwei UNOs läuft üblicherweise etwas anders ab als zwischen einem Uno und einem Sensor. Das hat Serenifly hier, wie ich finde, schön dargelegt.
Beim SHT3x werden wohl erst zwei Bytes "ACCURACY" übertragen, dann sechs Bytes für Feuchte und Temperatur gelesen. Das sollte sich simulieren lassen.
Problematisch sehe ich das "Clock Stretching". Ob sich die Bibliothek wire dazu überreden läßt, ist fraglich. Da wird man schon etwas tiefer einsteigen müssen.