Hallo Hendrik,
über welche Entfernung sollen deine "Daten" übertragen werden?
Ich glaube mit deiner einfachen Methode wird das nichts werden. Bei Fernbedienungen wird das Signal mit einer festen Frequenz gesendet, z.B. 38 kHz. Es gibt dann spezielle Empfänger, die auf diese Frequenz getrimmt sind und Signale mit anderer Frequenz (z.B. Sonnenlicht mit IR-Anteil) filtern. Dein Datenstrom muss dann mit einer deutlich langsameren Frequenz auf die Sende-Frequenz aufmoduliert werden. Bit = 1 heißt dann z.B. Signal mit 38 kHz ein, Bit = 0 Signal aus. Als Protokoll verwendest du am besten etwas abgeleitetes von der seriellen Schnittstelle.
Eine sehr gute Lektüre um alles zu verstehen ist sich das RC-5 Protokoll anzusehen. Dafür gibt es auch fertigen Code für Senden und Empfang.
Zu deiner letzten Frage: Zeiten misst man im ATmega mit einem Timer. Du konfigurierst einen und setzt diesen bei deinem Signal (INT0) auf den Wert 0. Wenn dann dein zweites Signal kommt, kannst du den Wert des Timer auslesen und damit die verstrichene Zeit berechnen. Dafür empfehle ich als Lektüre das Datenblatt des ATmegas zum Thema Timer.
Viele Grüße
Andreas
Lesezeichen