Na, jetzt musst du dich schon mal selbst dranmachen...
Aus deinem Datenblatt kannst du doch die gewünschten Bits leicht entnehmen. Da ist ebenso eine Tabelle wie im Link von Holomino.
Füllst du die vier Bytes mit deinen gewünschten Werten aus, erhältst du die Binärwerte, die du senden musst. kannst du in hex umrechnen und als 0x?? angeben oder als binär müsste auch gehen (B????????)
Beim Code kannst du den ganzen Schnickschnack weglassen. Du brauchst nur die Importe, die Rahmenstruktur, die Initialisierung des I2C und die Sendebefehle für deine Bytes. Nach dem Einschalten wird er einen Moment warten müssen, bis der Modulator empfangsbereit ist (wie lange, musst du ausprobieren). Dann die Adresse senden. Danach deine vier Bytes. Dann kommt noch das beenden der Sendesequenz. Dann könntest du den µC in den Tiefschlaf schicken, denn er hat seinen Dienst ja getan. Beim Reset/Einschalten sendet er die Sequenz und schläft dann...
Also, so schwer erscheint mir das nicht. Insgesamt müsste das ungefähr so aussehen.
#include <Wire.h>
#define MOD_ADDRESS (0xCA >> 1)
void setup() {
Wire.begin();
}
void loop() {
delay(100); // 100 ms warten
Wire.beginTransmission(MOD_ADDRESS);
Wire.write(0x??);
Wire.write(0x??);
Wire.write(0x??);
Wire.write(0x??);
Wire.endTransmission();
set_sleep_mode(SLEEP_MODE_PWR_DOWN);
sleep_enable();
sleep_mode();
}
Lesezeichen