Salut à tous, me voilà de retour sur le forum ..
Après avoir fini mon projet de PPE, il ne me tarde qu'une seule chose : refaire un autre projet (c'est vrai qu'on y prend goût à ces choses la)
Voici donc mon nouveau projet : nommé handibot, qui serait en fait un robot, ou plus exactement un bras pour attraper les livres dans les bibliothèques (très utile pour un handicapé en fauteuil roulant par exemple) .. L'utilisateur entrerait le nom du livre via un clavier USB, relié à une arduino, et en fonction du livre, faire déplacer de tant en x et tant en y, puis attraper, mais j'ai un souci : le programme : je vois à peu près comment tout faire, mais un endroit ou je bloque : comment fait t'on pour que le programme enregistre toutes les touches, qu'il les regroupe en une variable des que l'on appuie sur "entrez" ?
Donnez moi votre avis sur le projet et si quelqu'un a une idée sur cette partie de programme, je suis tout ouïe !!
Merci d'avance
- Robot Maker
- → Affichage d'un profil : Sujets: Valent81320
Statistiques de la communauté
- Groupe Membres
- Messages 60
- Visites sur le profil 8 177
- Titre Membre
- Âge 29 ans
- Date de naissance Juillet 31, 1994
-
Gender
Homme
Sujets que j'ai initiés
HandiBot
24 mai 2012 - 10:06
Besoin d'aide pour langage Arduino
08 avril 2012 - 02:34
Bonjour à tous !!
Je viens de finir mon projet de PPE à l'instant, mais je souhaiterai ajouter un petit quelque chose à mon programme : mon programme s'exécute impécable, et à la fin, il ne se redémarre pas tout seul, il faut éteindre l'arduino pour que le programme recommence ce qui est normal. Or je voudrai que dès que le programme se termine, il se redémarre tout seul, sans avoir a éteindre à chaque fois l'arduino.
Merci par avance
ps : voila le programme :
Je viens de finir mon projet de PPE à l'instant, mais je souhaiterai ajouter un petit quelque chose à mon programme : mon programme s'exécute impécable, et à la fin, il ne se redémarre pas tout seul, il faut éteindre l'arduino pour que le programme recommence ce qui est normal. Or je voudrai que dès que le programme se termine, il se redémarre tout seul, sans avoir a éteindre à chaque fois l'arduino.
Merci par avance
ps : voila le programme :
#include <stdlib.h> #include <stdio.h> #include <Metro.h> #include <LiquidCrystal.h> const int RS=12; const int E=11; const int D4=5; const int D5=4; const int D6=7; const int D7=6; LiquidCrystal lcd(RS, E, D4, D5, D6, D7); Metro ledMetro = Metro(3000); int pos_rad_BP; int pos_deg_BP; int pos_rad1_BP; int pos_deg1_BP; int vitesse_BP; int vitesse; int pos_rad; int pos_deg; int pos_deg1; int pos_rad1; int nbre_impulsion; int nbre_impulsion1; int nbre_impulsion_vitesse; volatile int front_montant = LOW; int BPState = 8; void setup() // fonction setup - début de l'exécution du programme { Serial.begin(9600); lcd.begin(20,4); attachInterrupt(0, counter, RISING); attachInterrupt(1, positionBP, RISING); pinMode(BPState, INPUT); lcd.setCursor(0,0); lcd.print(" PROJET DE PPE "); lcd.setCursor(0,1); lcd.print(" 2011 - 2012 "); lcd.setCursor(0,2); lcd.print(" PUJOL-STOECKLIN "); lcd.setCursor(0,3); lcd.print(" SYLVAIN-WOZNIAK "); delay(4000); lcd.clear(); delay(10); } void counter() { ++nbre_impulsion; ++nbre_impulsion1; ++nbre_impulsion_vitesse; } void positionBP() { pos_rad_BP = pos_rad; pos_deg_BP = pos_deg; vitesse_BP = vitesse; pos_rad1_BP = pos_rad1; pos_deg1_BP = pos_deg1; } void loop() { lcd.clear(); int BP = digitalRead(8); if (BP == HIGH) { while (pos_deg <= 90) { lcd.clear(); if (ledMetro.check() != 1) { vitesse = ((nbre_impulsion_vitesse*(3.14/2)/90)/2)*1000; pos_rad = (nbre_impulsion*(3.14/2)/90)*1000; pos_deg = nbre_impulsion; lcd.setCursor(0,0); lcd.print("POS DEG: "); lcd.setCursor(10,0); lcd.print(pos_deg); lcd.setCursor(0,1); lcd.print("POS MRAD: "); lcd.setCursor(10,1); lcd.print(pos_rad); lcd.setCursor(0,2); lcd.print("vitesse :"); lcd.setCursor(10,2); lcd.print(vitesse); } if (ledMetro.check() == 1) { nbre_impulsion_vitesse = 0; lcd.clear(); delay(100); } } while (pos_deg >= 90) { lcd.setCursor(0,0); lcd.print("POS DEG BP: "); lcd.setCursor(14,0); lcd.print(pos_deg_BP); lcd.setCursor(0,1); lcd.print("POS MRAD BP: "); lcd.setCursor(14,1); lcd.print(pos_rad_BP); lcd.setCursor(0,2); lcd.print("vitesse BP:"); lcd.setCursor(14,2); lcd.print(vitesse_BP); delay (100); lcd.clear(); lcd.setCursor(0,0); lcd.print("POS DEG BP: "); lcd.setCursor(14,0); lcd.print(pos_deg_BP); lcd.setCursor(0,1); lcd.print("POS MRAD BP: "); lcd.setCursor(14,1); lcd.print(pos_rad_BP); lcd.setCursor(0,2); lcd.print("vitesse BP:"); lcd.setCursor(14,2); lcd.print(vitesse_BP); delay (15000); lcd.clear(); } } if(BP == LOW) { pos_deg1 = 90-(nbre_impulsion); while (pos_deg1 > 0) { lcd.clear(); if (ledMetro.check() != 1) { vitesse = ((nbre_impulsion_vitesse*(3.14/2)/90)/2)*1000; pos_rad1 = ((3.14/2)-(nbre_impulsion*(3.14/2)/90))*1000; pos_deg1 = 90-nbre_impulsion; lcd.setCursor(0,0); lcd.print("POS DEG: "); lcd.setCursor(10,0); lcd.print(pos_deg1); lcd.setCursor(0,1); lcd.print("POS MRAD: "); lcd.setCursor(10,1); lcd.print(pos_rad1); lcd.setCursor(0,2); lcd.print("vitesse :"); lcd.setCursor(10,2); lcd.print(vitesse); } if (ledMetro.check() == 1) { nbre_impulsion_vitesse = 0; lcd.clear(); delay(100); } } while (pos_deg1 <= 0) { lcd.setCursor(0,0); lcd.print("POS DEG BP: "); lcd.setCursor(14,0); lcd.print(pos_deg1_BP); lcd.setCursor(0,1); lcd.print("POS MRAD BP: "); lcd.setCursor(14,1); lcd.print(pos_rad1_BP); lcd.setCursor(0,2); lcd.print("vitesse BP:"); lcd.setCursor(14,2); lcd.print(vitesse_BP); delay (100); lcd.clear(); lcd.setCursor(0,0); lcd.print("POS DEG BP: "); lcd.setCursor(14,0); lcd.print(pos_deg1_BP); lcd.setCursor(0,1); lcd.print("POS MRAD BP: "); lcd.setCursor(14,1); lcd.print(pos_rad1_BP); lcd.setCursor(0,2); lcd.print("vitesse BP:"); lcd.setCursor(14,2); lcd.print(vitesse_BP); delay (15000); lcd.clear(); } } }
Problème avec Bouton Poussoir
23 février 2012 - 11:17
Salut à tous,
Bon je rencontre un problème avec mon système, mais je ne sais pas si l'erreur viens du code, ou du branchement, c'est pourquoi je vais vous fournir les 2 (schéma + code).
Tout d'abord, mon problème : sur mon système, j'ai intégré des boutons poussoir (2 bouton qui sont a l'état 1, et quand j'appuie, ils passent à 0 : BP1 & BP3 et 2 boutons de types interrupteur : BP4 & BP5), et lorsque j'appuie dessus, cela ne change strictement rien à mon système. Normallement, un message devrai s'afficher. Ce que je trouve bizarre, c'est que j'ai intégré un encodeur rotatif (acheté sur gotronic : encodeur 3530), mais lui marche très bien, puisque j'arrive à avoir la vitesse et la position. Je ne sais donc pas du tout d'ou viens l'erreur ! HELP ME PLEASE !!
Voila le montage :
montage_electronique_ppe.jpg 143,66 Ko 205 téléchargement(s)
Bon je rencontre un problème avec mon système, mais je ne sais pas si l'erreur viens du code, ou du branchement, c'est pourquoi je vais vous fournir les 2 (schéma + code).
Tout d'abord, mon problème : sur mon système, j'ai intégré des boutons poussoir (2 bouton qui sont a l'état 1, et quand j'appuie, ils passent à 0 : BP1 & BP3 et 2 boutons de types interrupteur : BP4 & BP5), et lorsque j'appuie dessus, cela ne change strictement rien à mon système. Normallement, un message devrai s'afficher. Ce que je trouve bizarre, c'est que j'ai intégré un encodeur rotatif (acheté sur gotronic : encodeur 3530), mais lui marche très bien, puisque j'arrive à avoir la vitesse et la position. Je ne sais donc pas du tout d'ou viens l'erreur ! HELP ME PLEASE !!
Voila le montage :
montage_electronique_ppe.jpg 143,66 Ko 205 téléchargement(s)
souci de programmation
14 février 2012 - 12:26
Bonjour, je suis en train de finir mon projet de ppe, mais il reste une chose sur laquelle je bloque : une partie du programme. Je code avec une Arduino uno, relié a un écran lcd et a un codeur (http://www.gotronic.fr/art-encodeur-rotatif-3530-12123.htm). En fait, j'ai branché le codeur sur une entrée analogique (jusque-là, pas de souci) et je dois l'incrémenter dans mon programme : a chaque foi que son état est 1, je dois incrémenter, et afficher cette valeur sur le lcd, mais sa ne marche pas. Je met le programme si dessous :
#include <stdlib.h>
#include <stdio.h>
#include <Metro.h>
#include <LiquidCrystal.h>
const int RS=12;
const int E=11;
const int D4=5;
const int D5=4;
const int D6=3;
const int D7=2;
LiquidCrystal lcd(RS, E, D4, D5, D6, D7);
Metro ledMetro = Metro(2000);
void setup() // fonction setup - début de l'exécution du programme
{
Serial.begin(9600);
lcd.begin(20,4);
lcd.print("LCD OK");
delay(2000);
lcd.clear();
delay(10);
}
void loop()
{
int nbre_impulsion;
int pos_rad;
int pos_deg;
lcd.clear();
while (pos_deg != 90)
{
lcd.clear();
if (ledMetro.check() != 1)
{
int front_montant = digitalRead(7);
for (int nbre_impulsion = 0; nbre_impulsion < 90;++nbre_impulsion)
{
++nbre_impulsion;
}
pos_rad = nbre_impulsion*(3.14/2)/90;
pos_deg = nbre_impulsion;
lcd.setCursor(0,0);
lcd.print("POS DEG: ");
lcd.setCursor(9,0);
lcd.print(pos_deg);
lcd.setCursor(0,1);
lcd.print("POS RAD: ");
lcd.setCursor(9,1);
lcd.print(pos_rad);
}
if (ledMetro.check() == 1)
{
lcd.clear();
delay(100);
}
}
voila, je précise que la librairie metro.h sert a gérer le temps (tant que le temps est différent de 5 secondes, Faire ...)
Merci par avance pour vos réponses
#include <stdlib.h>
#include <stdio.h>
#include <Metro.h>
#include <LiquidCrystal.h>
const int RS=12;
const int E=11;
const int D4=5;
const int D5=4;
const int D6=3;
const int D7=2;
LiquidCrystal lcd(RS, E, D4, D5, D6, D7);
Metro ledMetro = Metro(2000);
void setup() // fonction setup - début de l'exécution du programme
{
Serial.begin(9600);
lcd.begin(20,4);
lcd.print("LCD OK");
delay(2000);
lcd.clear();
delay(10);
}
void loop()
{
int nbre_impulsion;
int pos_rad;
int pos_deg;
lcd.clear();
while (pos_deg != 90)
{
lcd.clear();
if (ledMetro.check() != 1)
{
int front_montant = digitalRead(7);
for (int nbre_impulsion = 0; nbre_impulsion < 90;++nbre_impulsion)
{
++nbre_impulsion;
}
pos_rad = nbre_impulsion*(3.14/2)/90;
pos_deg = nbre_impulsion;
lcd.setCursor(0,0);
lcd.print("POS DEG: ");
lcd.setCursor(9,0);
lcd.print(pos_deg);
lcd.setCursor(0,1);
lcd.print("POS RAD: ");
lcd.setCursor(9,1);
lcd.print(pos_rad);
}
if (ledMetro.check() == 1)
{
lcd.clear();
delay(100);
}
}
voila, je précise que la librairie metro.h sert a gérer le temps (tant que le temps est différent de 5 secondes, Faire ...)
Merci par avance pour vos réponses
Présentation Valent81320
07 janvier 2012 - 09:26
Bonjour à tous, bon ben je faire faire comme bcp de monde le fait : me présenter
Nom / Prénom : Sylvain Valentin
Age : 17 ans
Ville : Murat sur Vèbre (Tarn 81)
Formation : Terminale S-SI à La Borde Basse (Castres 81)
Métier envisagé : ingénieur (en mécatronique si possible)
Passions : Tennis de Table, piano, musique et sport en général
Robot que je possède : le célèbre robot "Roby" (fait à l'occasion de mon TPE)
Concours Robotique : Aucun pour le moment
Ce que j'aime dans la Robotique : matière très diversifiée, amusante, utile, intéressante
Ce que je n'aime pas dans la robotique : la suppression de certains emplois à cause de la robotique
Films que j'aime : 8 Mile, Green Street Hooligans, Get Rich or Dye Tryn'
Roman que j'aime : Les Arpenteurs du Monde (actuellement en train de le lire, mais très bon livre)
Ce que je voudrai faire dans le domaine de la robotique : si possible des projets utilitaires, comme la bio-mécatronique
La robotique plus tard : de plus en plus indispensable
Musique que j'aime : rap (IAM, NTM, Sinik, Shurik'n, Furax ...)
Nom / Prénom : Sylvain Valentin
Age : 17 ans
Ville : Murat sur Vèbre (Tarn 81)
Formation : Terminale S-SI à La Borde Basse (Castres 81)
Métier envisagé : ingénieur (en mécatronique si possible)
Passions : Tennis de Table, piano, musique et sport en général
Robot que je possède : le célèbre robot "Roby" (fait à l'occasion de mon TPE)
Concours Robotique : Aucun pour le moment
Ce que j'aime dans la Robotique : matière très diversifiée, amusante, utile, intéressante
Ce que je n'aime pas dans la robotique : la suppression de certains emplois à cause de la robotique
Films que j'aime : 8 Mile, Green Street Hooligans, Get Rich or Dye Tryn'
Roman que j'aime : Les Arpenteurs du Monde (actuellement en train de le lire, mais très bon livre)
Ce que je voudrai faire dans le domaine de la robotique : si possible des projets utilitaires, comme la bio-mécatronique
La robotique plus tard : de plus en plus indispensable
Musique que j'aime : rap (IAM, NTM, Sinik, Shurik'n, Furax ...)
- Robot Maker
- → Affichage d'un profil : Sujets: Valent81320
- Privacy Policy