JimmyAndersson skrev:
Har sett att 99% av alla använder IR-mottagare för att ta emot signalerna. Vad sitter det för något i dessa?
Förutom det som Henry redan räknat upp kan man lägga till demodulator och filterglas, som filtrerar bort en del dagsljus. Gör säkert en hel del nytta också.
$tiff:
Jepp. Den enda magiska hårdvara är de avstämda mottagarna. Fast de är ju inte så exotiska precis, 11 kr på Elfa, typ.
Det viktiga är att generera pulser som är lagom långa så att mottagarna reagerar på dem, står i databladet. Oftast behöver man inte ens tänka på att matcha våglängden på IR-LED och mottagare.
Okajj! Tack
Du har möjligtvis inte en liten kodsnutt på hur man får fram 38Khz pulser ?
Helst i C , men assembler duger bra det med.
Jag kör för övrigt med en 4Khz kristall (den interna. Duger den eller ska jag koppla på en extern 4Khz istället?). Det var 4Khz ni hade i projektarbetet va?
#define LED PORTB.F0
void main(){
TRISB = 0;
do{
LED = 1;
Delay_us(13);
LED = 0;
Delay_us(13);
}while(1);
}
Blinkar min IR-LED med 38Khz(38,4Khz) nu?
Men nu kommer väl inte PIC.en kunna göra något annat samtidigt ? så då kommer jag väl behöva ha en extra PIC dom genererar 38Khz medan en annan "arbetar" med resten ? går det inte göra på annat sätt? snälla hjälp mig
Beroende på vilken PIC du använder så bör det nog finnas någon timer som är kopplad till en extern pinne (dit du kopplar IR-dioden). Vet inte så mycket om PIC eftersom jag bara kör AVR men där VET jag att det går att sätta upp en timer med något som kallas "Output Compare".
Timern är en hårdvara som är inbyggd i mikrokontrollern som räknar upp till ett visst inställt värde. När den uppnått värdet kan olika saker hända (beroende på konfigurering), antingen genereras ett avbrott eller så händer något på en utgång. På AVR kan man ställa in funktionen 'toggle', vilket är lämpligt om man vill generera en frekvens.
När en timer väl är startad så stör den inte huvudprogramslingan alls!