Jag hade tänkt att göra en enkel larmcentral baserad på en PIC 16F690, men faller på det mest grundläggande; att känna av om t.ex. en rörelsedetektor ser något..
De sensorer jag har fungerar så att det är kontakt mellan två punkter när den inte "ser" något, och ingen kontakt när den ser något.
Jag kopplade upp en enkel koppling på kopplingsdäck, och blev överaskad när den delvis gjorde det jag ville. Kod(MikroC):
Kod: Markera allt
void main() {
ANSEL = 0;
ANSELH = 0;
TRISC=0; //PORTC = utgångar
PORTC = 0b11000000; //Tänder Grön och Röd LED
TRISC=0b00000100; //Hela PORTA är utgångar förutom bit 2 som är ingång
while(1) { // oänlig loop
PORTC.F0=1; //Gör PORTC bit0's pinne hög
Delay_us(50); //en kort pause
if(PORTA.F2=1) //om PORTA bit 2 = 1
{
PORTC=0b10000000; //Tänd Grön LED, gör även PORTC bit 0 låg
}
else //Annars
{
PORTC=0b01000000; //Tänd Röd LED, gör samtidigt PORTC bit 0 låg
}
Delay_ms(50); //En pause för att sega ner hela processen, ej nödvändig
}
}Nåja, det som händer är följande:
När de två pinnarna är sammankopplade lyser LEDen stadigt grönt och fint
Nu när ni vet lite grann av vad jag vill göra och vad jag har gjort så har jag en fråga:
Hur bör jag göra för att få önskad funktion?
Klaga/rätta/beröm/kritisera gjärna, om det kan hjälpa mig!
Som ni säkert redan märkt är jag nybörjare, Men det är väl alla i början, inte sant?
Tack på förhand!
/Andreas
