Etape 49 :
Programmation
Entrez ce code dans votre éditeur et appuyez sur F5 pendant que le robot est branché :
principal :
readadc 0, b0
débogage
Goto principal
Maintenant, prenez votre main devant la tête robot´s et remarquez comment le b0 variable prend la valeur. Vous pouvez utiliser ses connaissances pour décider ce qui doit arriver quand (comment fermer choses devraient obtenir avant..)
Vous pouvez remarquer comment les choses commencent à aller « incorrect » si le truc est trop près aux « yeux » ; Le Sharp est fait pour travailler avec des trucs qui est absent de 10 à 80 CM. Les choses qui sont plus proches apparaît comme moyen supplémentaire, qui peut être un véritable défi au programme.
Vous pouvez obtenir de nombreux autres capteurs de distance qui n’ont pas ce problème. Cependant, la forte est la moins chère et easiset au programme, c’est pourquoi j’ai fait un tel choix « mauvais » pour vous, désolé;) Regarder autour et voir que tout le monde en utilisant, avant de vous décider pour une mise à niveau.
Maintenant je vous conseille de mettre votre robot vers le haut sur une boîte d’allumettes ou similaires, comme les roues vont commencer à tourner.
Entrez ce code dans votre éditeur et appuyez sur F5 pendant que le robot est branché :
4 haute
5 bas
Une des roues doit tourner dans un sens. Vos roues tournent vers l’avant ? Dans l’affirmative, c’est l’instruction pour que la roue de tourner vers l’avant.
Si la roue tourne en arrière, vous pouvez essayer ceci :
4 bas
High 5
Pour activer l’autre roue, vous devez entrer
6 haute
7 bas
(ou l’inverse pour le sens inverse.)
Ce qui se passe ici est qu’en utilisant uniquement les options disponibles pour le microcontrôleur ; Power on ou off (High / Low) allumé il est pins, il est commandant du contrôleur de moteur pour mettre moteur A ou B en mode avancer ou reculer.
4 bas
5 bas
6 basse
7 bas
arrête tous les moteurs
Le servo que vous avez déjà essayé.
Complètement d’un côté est :
servo de 0, 75 attendre 2
l’autre côté est :
servo 0, 225 attendre 2
- Centre :
servo de 0, 150 attendre 2
Voici un petit programme qui sera (devrait, si tout va bien et que vous insérez les bons paramètres pour haut/bas convenir à votre câblage des moteurs) faire le robot conduire autour, arrêter devant les choses, regarder de chaque côté pour décider quel est le meilleur, cette façon de tourner et conduire vers de nouvelles aventures. Dans le code, j’ai fait des remarques socalled : choses écrites pour vous expliquer ce qui se passe.
Vous pouvez écrire ces commentaires ou observations que vous-même dans le code, c’est une bonne idée de garder la trace.
Ils sont écrits avec un "signe. Toutefois, la copie de ce texte d’ici qui peut-être altérer à autre chose, et vous devrez corriger ça manuellement, Désolé. Votre éditeur de programmation a des codes de couleur, qui vont aideront à vous montrer ce qu’il reconnaît comme commentaires et quoi comme code.
Symbole dangerlevel = 70' a quelle distance chose soit, avant que nous réagissions ?
symbole de tour = 300', cette commande définit la quantité doit être tourné
symbole servo_turn = 700', cette commande définit pour combien de temps nous devons attendre pour le servo de tourner (en fonction de la vitesse d’it´s) avant de nous mesurer à distance
principal: ' la boucle principale
readadc 1, b1 ' lire combien distance avant
Si b1 < dangerlevel puis
GoSub aucun "si rien n’avance, rouler en marche avant
d’autre
GoSub whichway ' si obstacle devant alors décide de quelle manière est meilleure
fin si
Goto principal ' Ceci termine la boucle, les autres sont seulement des sous-programmes
aucun: "ce doit être votre combinaison pour rendre le robot drive vers l’avant, ceux-ci vous très probablement besoin d’ajuster pour s’adapter à la façon dont vous avez filaire vos moteurs de robots
High 5: 6 haut : bas 4: bas 7
retour
whichway :
GoSub totalhalt ' abord arrêter !
"Une façon de regarder :
GoSub lturn ' attends un côté
faire une pause servo_turn ' attendez le servo à finir en tournant
readadc 1, b1
GoSub totalhalt
« Regarder ailleurs :
GoSub rturn ' attends une autre facette
faire une pause servo_turn ' attendez le servo à finir en tournant
readadc 1, b2
GoSub totalhalt
"Décider quelle est la meilleure façon :
Si b1
GoSub body_lturn
d’autre
GoSub body_rturn
fin si
retour
body_lturn :
6 haute : faible 5: faible 7: haute 4' ce doit être votre combinaison qui transforme le robot une façon
tour de pause : gosub totalhalt
retour
body_rturn :
High 5: faible 6: basse 4: haut 7' ce doit être votre combinaison qui transforme le robot l’inverse
tour de pause : gosub totalhalt
retour
rturn :
servo de 0, 100' Regardez sur le côté
retour
lturn :
servo 0, 200' regarder de l’autre côté
retour
totalhalt :
bas 4: faible 5: 6 à faible : faible sur tous les 4 7' faible stoppe le robot !
Servo 0,150' face vers l’avant
attendre 1' gel tous pour une seconde
retour
Avec certains astucieux de programmation et de les retravailler, vous pouvez faire le disque robot, tourner la tête d’it´s, prendre des décisions, faire de petits ajustements, tourner vers « trous intéressants » tels que portes, travaillent tous dans le même temps, pendant que vous conduisez. Il est plutôt cool si vous faites tourner la robot alors que la tête tourne;)
Moment de plaisir
Vous pouvez également fixer une lampe ou LED à broche 2 & sol et écrire (n’oubliez pas LED´s faut faire demi-tour le droit chemin)
2 haute
pour allumer la lampe, et
2 faible
pour l’éteindre;)