Bonjour à tous,
Voila j'ai équipé mon quadricopter d'un petit systeme de led. Pour cela j'ai utilisé un pic 16f88 que j'alimente directement avec le rouge et le noir d'un voie de mon recepteur radio (5v regulé)
Sur ce montage j'ai mis un petit poussoir pour pouvoir changé l'animation des leds. J'aimerais maintenant recuperé le signal de cette voie via le Fil Blanc de ma voie pour pouvoir changer le mode via ma radio.
Donc je suppose que je dois recuperé le signal et le mettre sur une entrée de mon pic mais au niveau du code sous MikroC je n'ai pas encore utilisé les entrées ...
Voila est ce que qq'un pourrait m expliquer comment on utilise les entrée sous miKroC sachant que je recupere un pwm de mon recepteur.
Ma radio est programmable donc je peux faire varier mon pwm sur une plage standard de servo.
J'ai fait ce code pour l'instant qui fonctionne bien :
Code:int i; void main() { ANSEL = 0; OSCCON = 0b01111000; TRISA = 0b00000000; ; TRISB = 0b00000001; i=1; PORTB.B2 = 1 ; Delay_ms(100) ; PORTB.B2 = 0 ; Delay_ms(100) ; while(1) { if (portb.b0==1) { PORTB.B2 = 1 ; Delay_ms(100) ; PORTB.B2 = 0 ; Delay_ms(100) ; i++; if (i==5) { i=1; } } if (i==1) { PORTA.B0 = 1 ; PORTA.B1 = 1 ; PORTA.B3 = 1 ; PORTA.B4 = 1 ; PORTA.B2 = 1 ; PORTB.B1 = 1 ; PORTA.B6 = 1 ; PORTA.B7 = 1 ; } if(i==2) { PORTA.B0 = 0 ; PORTA.B1 = 0 ; PORTA.B3 = 0 ; PORTA.B4 = 0 ; PORTA.B2 = 0 ; PORTB.B1 = 0 ; PORTA.B6 = 0 ; PORTA.B7 = 0 ; } if(i==3) { PORTA.B0 = 1 ; PORTA.B1 = 1 ; PORTA.B3 = 1 ; PORTA.B4 = 1 ; PORTA.B2 = 1 ; PORTB.B1 = 1 ; PORTA.B6 = 1 ; PORTA.B7 = 1 ; Delay_ms(1000) ; PORTA.B0 = 0 ; PORTA.B1 = 0 ; PORTA.B3 = 0; PORTA.B4 = 0 ; PORTA.B2 = 0 ; PORTB.B1 = 0 ; PORTA.B6 = 0 ; PORTA.B7 = 0 ; Delay_ms(50) ; PORTA.B0 = 1 ; PORTA.B1 = 1 ; PORTA.B3 = 1 ; PORTA.B4 = 1 ; PORTA.B2 = 1 ; PORTB.B1 = 1 ; PORTA.B6 = 1 ; PORTA.B7 = 1 ; Delay_ms(100) ; PORTA.B0 = 0 ; PORTA.B1 = 0 ; PORTA.B3 = 0 ; PORTA.B4 = 0 ; PORTA.B2 = 0 ; PORTB.B1 = 0 ; PORTA.B6 = 0 ; PORTA.B7 = 0 ; Delay_ms(10) ; PORTA.B1 = 0 ; Delay_ms(30) ; PORTA.B1 = 1 ; Delay_ms(30) ; PORTA.B1 = 0 ; Delay_ms(30) ; PORTA.B1 = 1 ; Delay_ms(30) ; PORTA.B1 = 0 ; Delay_ms(30) ; PORTA.B0 = 0 ; Delay_ms(30) ; PORTA.B0 = 1 ; Delay_ms(30) ; PORTA.B0 = 0 ; Delay_ms(30) ; PORTA.B0 = 1 ; Delay_ms(30) ; PORTA.B0 = 0 ; Delay_ms(30) ; PORTA.B4 = 0 ; Delay_ms(30) ; PORTA.B4 = 1 ; Delay_ms(30) ; PORTA.B4 = 0 ; Delay_ms(30) ; PORTA.B4 = 1 ; Delay_ms(30) ; PORTA.B4 = 0 ; Delay_ms(30) ; PORTA.B3 = 0 ; Delay_ms(30) ; PORTA.B3 = 1 ; Delay_ms(30) ; PORTA.B3 = 0 ; Delay_ms(30) ; PORTA.B3 = 1 ; Delay_ms(30) ; PORTA.B3 = 0 ; Delay_ms(30) ; PORTA.B7 = 0 ; Delay_ms(30) ; PORTA.B7 = 1 ; Delay_ms(30) ; PORTA.B7 = 0 ; Delay_ms(30) ; PORTA.B7 = 1 ; Delay_ms(30) ; PORTA.B7 = 0 ; Delay_ms(30) ; PORTA.B6 = 0 ; Delay_ms(30) ; PORTA.B6 = 1 ; Delay_ms(30) ; PORTA.B6 = 0 ; Delay_ms(30) ; PORTA.B6 = 1 ; Delay_ms(30) ; PORTA.B6 = 0 ; Delay_ms(30) ; PORTB.B1 = 0 ; Delay_ms(30) ; PORTB.B1 = 1 ; Delay_ms(30) ; PORTB.B1 = 0 ; Delay_ms(30) ; PORTB.B1 = 1 ; Delay_ms(30) ; PORTB.B1 = 0 ; Delay_ms(30) ; PORTA.B2 = 0 ; Delay_ms(30) ; PORTA.B2 = 1 ; Delay_ms(30) ; PORTA.B2 = 0 ; Delay_ms(30) ; PORTA.B2 = 1 ; Delay_ms(30) ; PORTA.B2 = 0 ; Delay_ms(30) ; } if(i==4) { PORTA.B0 = 0 ; PORTA.B1 = 0 ; PORTA.B3 = 0 ; PORTA.B4 = 0 ; PORTA.B2 = 0 ; PORTB.B1 = 0 ; PORTA.B6 = 0 ; PORTA.B7 = 0 ; Delay_ms(1000) ; PORTA.B0 = 1 ; PORTA.B1 = 1 ; PORTA.B3 = 1 ; PORTA.B4 = 1 ; PORTA.B2 = 1 ; PORTB.B1 = 1 ; PORTA.B6 = 1 ; PORTA.B7 = 1 ; Delay_ms(1000) ; PORTA.B0 = 0 ; PORTA.B1 = 0 ; PORTA.B3 = 0 ; PORTA.B4 = 0 ; PORTA.B2 = 0 ; PORTB.B1 = 0 ; PORTA.B6 = 0 ; PORTA.B7 = 0 ; PORTA.B0 = 1 ; Delay_ms(500) ; PORTA.B1 = 1 ; Delay_ms(500) ; PORTA.B3 = 1 ; Delay_ms(500) ; PORTA.B4 = 1 ; Delay_ms(500) ; PORTA.B2 = 1 ; Delay_ms(500) ; PORTB.B1 = 1 ; Delay_ms(500) ; PORTA.B6 = 1 ; Delay_ms(500) ; PORTA.B7 = 1 ; Delay_ms(500) ; } } }
Cordialement,
bypbop
-----