Étape 4: Programmation du PIC
La grande chose au sujet de programmation le Picaxe est la quantité minimale d’argent que vous avez besoin d’entrer à leur utilisation et la simplicité de la langue. Pour mon programme, j’ai utilisé environ 1/2 douzaine commandes de base. Experts peuvent probablement faire plus pour moins, mais je suis un hack et obtenir un résultat qui me convient ! Pour programmer la puce elle-même vous besoin d’une puce (évidemment) un câble de téléchargement - série ou parallèle vous pourriez même faire un serial votre auto presque rien, vous devez également le logiciel de programmation gratuit disponible sur le site Picaxe.Le Picaxe que j’ai utilisé était un 18 X, cette puce a 9 broches de sortie et 5 broches d’entrée et peut contenir jusqu'à 600 lignes de code. At ce stade je fais seulement utiliser des 6 les broches de sortie. 5 pour faire fonctionner les LED et 1 pour activer et désactiver le module de sons. À un stade ultérieur, je pourrais casser les LED vers le haut en 8 blocs pour une résolution plus élevée, n’oubliez pas mon pilote de darlington peut fonctionner jusqu'à 8 sorties en même temps. Ou sinon je pourrais composent la lame de 4 blocs (comme une autre marque) et contrôler chaque lame individuels
Tout ce que dit et fait, je peux assez bien faire les lames légères, de haut en bas, avec environ 20 lignes de code. Alors qu’en est-il des autres 580 ? Cela semble un gaspillage donc j’ai ajouté quelques modes supplémentaires 1. Mode normal, 2. Mode normal sain non 3. Mode de nuit Rider 5. Mode de cochon. Pour changer de mode que vous maintenez enfoncée la touche pendant 5 secondes que le sabre clignote deux fois pour signifier le mode programme et selon la façon dont plusieurs fois, vous frappez le bouton de commande avec en préceptes 5 secondes votre nouveau mode. Si vous n’appuyez sur le bouton ou appuyez sur la touche trop de fois, il revient à mode normal.
Voici le code que j’ai commencé avec quand même...
B5 = % 00000001' Intiallise variable mode sabre
B1 = 0' Intialise mode changement variable de compteur
B0 = 0' ne sais pas pourquoi je l’ai fait
B2 = 1' définir le mode par défaut à la normale de Saber
Laissez les épingles = % 00100000' Set pin 6 HIGH, LOW s’allume le module de sons
Réinitialisation: ' réinitialise toutes les quilles après un changement de mode
Laissez les épingles = % 00100000
pause 100
Goto boucle
boucle: "boucle principale contrôle bouton poussoir
Si broche 2 = 0 then mode??? sauter à flsh si pin0 est élevée
Goto boucle
mode :
Si b1 > 5 puis mode_change ' si le compteur à 5 changement de mode de goto
pause de 20
Si broche 2 = 1 puis de décider "si l’interrupteur est en place goto, sélectionner un mode de
Si broche 2 = 0 then count_t ' compteur de goto
count_t: ' ce compteur comptera cinq
Pause 10
B1 = b1 + 1
mode de Goto
mode_change: "sabre de clignote deux fois pour signifier le changement de mode
B2 = 0
Laissez les épingles = % 00111111
faire une pause 300
Laissez les épingles = % 00100000
faire une pause 300
Laissez les épingles = % 00111111
faire une pause 300
Laissez les épingles = % 00100000
faire une pause 300
comte 2, 5000, b2 ' compte bush bouton actions avec en 5 secondes et il enregistre en b2
Laissez les épingles = % 00111111
faire une pause 300
Laissez les épingles = % 00100000
faire une pause 300
B1 = 0
Goto boucle
Décider: « décision prise en fonction de valeur b2
B1 = 0
Si b2 = 1 puis sabre
Si b2 = 2 then silent_saber
Si b2 = 3 then Knight_rider
Si b2 = 4 alors les porcs
Si b2 > 4 puis sabre
Si b2 < 1 puis sabre
Goto boucle
Sabre: ' mode de base sabre
B1 = 0
Si b5! = % 00000001 puis p_down
Si b5 = % 00000001 puis p_up
Goto boucle
p_up :
Laissez les épingles = % 00110000
faire une pause 200
Laissez les épingles = % 00010000
pause 100
Laissez les épingles = % 00011000
pause 100
Laissez les épingles = % 00011100
pause 100
Laissez les épingles = % 00011110
pause 100
Laissez les épingles = % 00011111
B5 = % 00000000
Goto boucle
p_down :
Laissez les épingles = % 00111111
faire une pause 200
Laissez les épingles = % 00011111
faire une pause 400
Laissez les épingles = % 00011111
pause 100
Laissez les épingles = % 00011110
pause 100
Laissez les épingles = % 00011100
pause 100
Laissez les épingles = % 00011000
pause 100
Laissez les épingles = % 00010000
pause 100
Laissez les épingles = % 00000000
B5 = % 00000001
Goto boucle
silent_saber: "il dit tout vraiment
B1 = 0
Si b5! = % 00000001 puis p_down_s
Si b5 = % 00000001 puis p_up_s
Goto boucle
p_up_s :
Laissez les épingles = % 00110000
pause 100
Laissez les épingles = % 00111000
pause 100
Laissez les épingles = % 00111100
pause 100
Laissez les épingles = % 00111110
pause 100
Laissez les épingles = % 00111111
B5 = % 00000000
Goto boucle
p_down_s :
Laissez les épingles = % 00111111
pause 100
Laissez les épingles = % 00111110
pause 100
Laissez les épingles = % 00111100
pause 100
Laissez les épingles = % 00111000
pause 100
Laissez les épingles = % 00110000
pause 100
Laissez les épingles = % 00100000
B5 = % 00000001
Goto boucle
Knight_rider :
Si pin2 = 0 puis reset
Laissez les épingles = % 00100000
pause 100
Laissez les épingles = % 00110000
pause 100
Laissez les épingles = % 00101000
pause 100
Laissez les épingles = % 00100100
pause 100
Si pin2 = 0 puis reset
Laissez les épingles = % 00100010
pause 100
Laissez les épingles = % 00100001
pause 100
Laissez les épingles = % 00100010
Si pin2 = 0 puis reset
pause 100
Laissez les épingles = % 00100100
pause 100
Laissez les épingles = % 00101000
pause 100
Laissez les épingles = % 00110000
Si pin2 = 0 puis reset
Goto Knight_rider
porcs :
Si pin2 = 0 puis reset
Laissez les épingles = % 00100000
pause 100
Laissez les épingles = % 00110000
pause 100
Laissez les épingles = % 00101000
pause 100
Laissez les épingles = % 00100100
pause 100
Si pin2 = 0 puis reset
Laissez les épingles = % 00100010
pause 100
Laissez les épingles = % 00100001
Si pin2 = 0 puis reset
porcs de Goto
Finalement, je pense que ce serait cool d’utiliser un microphone ou quelque chose et utiliser le sabre comme un VU-mètre - apporter la couleur tri LED !