Sända IR, modulera 38kHz?
Sända IR, modulera 38kHz?
Ska bygga både sändare och mottagare själv, så behöver inte följa någon standard. Hur ser modulationen ut? Kan man t.ex. ta en AND-gate och koppla 38kHz bärvåg på ena ingången och utgången från UART på andra? Är det så enkelt?
Re: Sända IR, modulera 38kHz?
Man brukar använda en duty-cycle på 10%. Detta gör att IR-LED'n kan få rejält med ström men under så kort tid att den inte skadas (kolla databladet!) och därmed nå längre.
Men annars är svaret ja.
Men annars är svaret ja.
Re: Sända IR, modulera 38kHz?
För uppföljning, ja så enkelt var det.
Med AVR, OC1A till anod på IR-dioden, TXD till katoden för att få rätt polaritet.
Följande kod för test med Mega16:
Med AVR, OC1A till anod på IR-dioden, TXD till katoden för att få rätt polaritet.
Följande kod för test med Mega16:
Kod: Markera allt
#include "avr/io.h"
#include "stdio.h"
#include "string.h"
#include "util/delay.h"
void setup(void)
{
DDRD = 0xff;
UCSRB = 1<<TXEN;
UCSRC = 1<< URSEL | 1<<UCSZ1 | 1<<UCSZ0;
UBRRL = 190; //1200bps@3686400
OCR1A = 10;
TCCR1A = 1<<COM1A1 | 1<<WGM11;
TCCR1B = 1<<CS10 | 1<<WGM13 | 1<<WGM12;
ICR1 = 97;
}
void uart_sendstring(char *data)
{
unsigned char i = 0;
while(data[i]){
UDR = data[i];
i++;
while(!(UCSRA & 1<<UDRE));
}
}
int main(void)
{
char str[20];
setup();
while(1){
_delay_ms(1000);
sprintf(str, "Hello!\n");
uart_sendstring(str);
}
}
Re: Sända IR, modulera 38kHz?
Sidospår: Om man synkar pulsbreddsmoduleringen med uart-klockan så hälsar captain obvious att det går lättare att få bra funktion vid högre baudrate.
