Hallo,
ich bin auch Einsteiger, habe aber den Arduino dazu verwendet um iButton oder Tastereingänge (10) an Doorpi weiter zu reichen. Das Board kenne ich nicht. Ich denke aber es ist mit USB verbunden. Stichwort: usb_plain
Vorher auf dem Raspberry mit "sudo raspi-config" --> Interfacing Options --> Serial --> Shellzugriff auf "Nein", den Serial Port aber "enabled" lassen.
Auf dem Doorpi in der doorpi.ini
[keyboards]
onboardpins = gpio
arduino = usb_plain
[onboardpins_OutputPins]
37 = LED #Led an Pin 37 angeschlossen
[arduino_InputPins]
schalter1 = out:LED,1,0,1 #wenn vom Arduino über USB der String "schalter1" kommt, dann led an und nach 1sek wieder aus
[onboardpins_keyboard]
bouncetime = 200
mode = BOARD
polarity = 1
pressed_on_keydown = True
pull_up_down = PUD_OFF
[arduino_keyboard]
bouncetime = 2000
input_stop_flaginput_stop_flag = \n
port = /dev/ttyACM0 #Hier musst du in /dev nachsehen welche Schnittstelle beim stecken des Arduino aktiv wird und das dann evtl. ersetzen...
baudrate = 9600
Testsketch für Arduino:
const int tasterpin = 2;
void setup()
{
Serial.begin(9600);
pinMode(tasterpin,INPUT_PULLUP);
}
void loop()
{
if(tasterpin == HIGH)
{
Serial.println("schalter1");
delay(300);
}
}
Wenn Du jetzt einen Taster am Arduino drückst, der an Port 2 angeschlossen ist, wird der String "schalter1" an die serielle Schnittstelle ausgegeben. Das Serial.Println sorgt dafür, das nach dem String ein carriage return gesendet wrid. Das braucht Doorpi um zu erkennen, das jetzt das Stringende erreicht ist. Doorpi nimmt den String entgegen und löst anhand des Eintrages in der doorpi.ini eine Aktion aus. In dem Fall die LED.
Gruß
Joachim