BASIC PIC16F877A [résolu] - Divers - Programmation
Marsh Posté le 20-03-2009 à 13:35:32
Rappel de la charte de ce forum : on fait pas les exo/TP/épreuves de bac !
Donc, poste le code que t'as déjà fait et pose une question précise sur un point de blocage précis...
Marsh Posté le 20-03-2009 à 13:39:48
je ne sais pas comment imbriquer des boucles de tels sortes a lui dire "si cepteur de proximité detecte rien alors avance , si tsop capte quelque chose alors fui , si photorésistance capte lumière alors stop"
program moteur_ldr
dim VLDR as word
inter1, inter2,i as byte
txt as string[8]
sub procedure setup_pwm ' initialisation du pwm sur deux sorties
TRISC = %00000000
PR2 = 250
CCPR1L = 128
CCPR2L = 128
T2CON.2 = 1
CCP1CON.3 = 1
CCP1CON.2 = 1
CCP2CON.3 = 1
CCP2CON.2 = 1
PORTC.3=1
PortC.4=1
end sub
sub procedure marche_avant
CCPR1L = 255
CCPR2L = 255
end sub
sub procedure marche_arriere
CCPR1L = 1
CCPR2L = 1
end sub
sub procedure arret
CCPR1L = 128
CCPR2L = 128
end sub
sub procedure tourner_sens
CCPR1L = 25
CCPR2L = 230
end sub
sub procedure tourner_autresens
CCPR1L = 230
CCPR2L = 25
end sub
main:
setup_pwm
TRISB = %00000011
TRISC = %00000000 ' PORTC en sortie RC1 RC2 RC5 RC6 RC7
debut:
vldr=ADC_read(6) ' Conversion de la tension de la LDR
delay_ms(100)
wordToStr(VLDR, txt)
if VLDR>500 then PORTC.6=1 else PORTC.6=0 end if
if VLDR<500 then PORTC.5=1 else PORTC.5=0 end if
if VLDR>500 then marche_avant else arret end if
If PORTB.1=0 then marche_arriere end if
If PORTB.0=0 then tourner_sens end if
goto debut
end.
Marsh Posté le 20-03-2009 à 23:47:01
c'est bon j'ai trouvé à peu près ce qui ne fonctionnait pas un modérateur pourrait effacer ce topic ?
merci
Marsh Posté le 21-03-2009 à 10:13:19
tu mets [résolu] dans le titre de ton topic (édites ton premier post)
Marsh Posté le 19-03-2009 à 21:10:57
Bonsoir à tous,
Je suis en terminale S-SI et nous avons un projet pour nos PPE (epreuve de BAC !!!) qui est de fabriquer un robot (yipi) seul problème c'est que nous ne savons pas programmer en BASIC(ohhhh)! Si vous savez programmer en BASIC et que vous avez du temps a me consacrer alors lisez la suite s'il vous plait.
Je m'explique , pour programmer ce robot , nous utilisons une carte fabriqué par notre prof (dont je vais vous mettre le shema ) ainsi que le PIC 16F877A ! Nous avons besoin de le programmer en basic! Ce robot doit répondre à une certaine chorégraphie (il va normalement aller a une expo , mais si il marche pas c'est cui :s).
Il est équipé d'un capteur de proximité , d'un TSOP , d'une photo résistanceet ,de led et de deux cerveau moteur (enfin c'est ce qu'il faut piloter a l'aide du PIC).
N'ayant aucune notion de programmation en BASIC ( l'aide du logiciel mikrobasic et exporté à l'aide de icprog) je m'en remet à vous....
Voici comment le programme doit fonctionner :
-le capteur de proximité est devant le robot (il est a 5v par default) si il detecte qlq chose (il passe a 0V) le robot doit faire demi-tour.
-Le tsop (il est a 5v par default) va recevoir un signal et va se mettre a 0V , le robot doit aller faire demi-tour et "peter un cable".
-la photorésistance qui ets dessus , doit faire arreter le robot si elle passe sous un spot.
je vous met les documents dont j edispose :
-la carte du prof : http://img13.imageshack.us/img13/1694/cartepic.jpg
-la carte de puissance (la ou il y a les moteurs et les LED): http://img13.imageshack.us/img13/2 [...] ssance.jpg
-le PIC : http://img19.imageshack.us/img19/9800/pic16f877a.jpg
SI vous pensez pouvoir m'aider dite le moi , et je posterai plus d'information car j'ai deja des bouts de programmes qui marche , mais je ne sais pas comment les assemblez pour faire un tout.
merci pour votre aide
PS: j'ai réaliser le robot , je n'arrive juste pas a faire la programmation , mais la note que j'aurais pour le robot finale sera ma NOTE DE BAC en PPE SI donc a ne pas rater!!
PS2: le projet part mercredi au plus tard pour l'exposition (et apres des dizaines d'heures passé dessus j'ai envie dme pendre >< )
Message édité par halver le 22-03-2009 à 23:11:34