Hi, hätt einen etwas anderen Vorschlag.
Nehm den internen Pull-Up Wiederstand des AVR. und schalte mit dem Relais nach GND und nicht nach VCC

Ich erklärs mal unter der Freien Annahme dass du z.B einen Atmega16
verwendest und am Port B Pin 1 verwendest.

Du verbindest den PortB0 mit deinem Relais und dieses weiter nach Gnd


Du setzt im DDRB das Bit0 auf 0 d.h du verwendest es als Eingang
Dann setzt du im PORTB Register das Bit 0 auf 1 d.h der AVR schaltet den Pin über einen sehr Hohen Wiederstand nach VCC (+5V) hab den Wert gerade nicht im Kopf, und dann überprüfst du im PINB Register ob Bit 0 1 ist (Relais offen) oder 0 (Relais Geschlossen).
zm Verständnis! seh das ding als Spannungsteiler wenn das R. offern ist ist der "untere" Wiederstand unendlich also liegen am Pin 5V. ist das Relais geschlossen ist der "obere" Pull-up viel höher als dein Leitungswiederstand nach Gnd also liegt am Pin näherungsweise 0V an. So kommst du ohne zusätzliche Bauteile aus.

Noch Was. schau dir die Register PORT und PIN an und lies im Datenblatt das mit den Pull-Ups (wahr bei mir am anfang ein Fehler der mich .... hat ) über PORT gibst du aus was du gern an dem PIN hättest mit Pin liest du ein was wirklich anliegt.

Wenns nicht gut erklärt ist "beschwer" dich