![carton rouge :cartonrouge:](./images/smilies/vincent344.gif)
Module Arduino
- Oldtimer42
- .
- Messages : 7287
- Enregistré le : 30 avr. 2014, 16:22
- Région : France - Rhône-Alpes
- année : 1951
- Serie speciale : Ben ça dépend, ça change tout le temps
Re: Module Arduino
T'as oublié les femmes, recommences depuis le début ! ![carton rouge :cartonrouge:](./images/smilies/vincent344.gif)
![carton rouge :cartonrouge:](./images/smilies/vincent344.gif)
Re: Module Arduino
je suis pas pour les histoires, tu me connais, mais Rachel risque de pas aimer quand je vais lui direOldtimer42 a écrit :T'as oublié les femmes, recommences depuis le début !
![lol :lol:](./images/smilies/lol.gif)
-
- .
- Messages : 9093
- Enregistré le : 30 nov. 2013, 12:04
- Région : France - Pays de la Loire
Re: Module Arduino
Au rique de passer pour un vieux réac, je note que dans les 2 cas ça fait tout aussi mal!la sodomie, les impôts,
![triste :(](./images/smilies/triste.gif)
Re: Module Arduino
ça dépendMG O1->B69 a écrit :Au rique de passer pour un vieux réac, je note que dans les 2 cas ça fait tout aussi mal!la sodomie, les impôts,
![Razz :P](./images/smilies/icon_razz.gif)
![Razz :P](./images/smilies/icon_razz.gif)
j'ai l'impression que tu dois être du mauvais côté
![MDR :mdrx:](./images/smilies/hdaigre.gif)
- gillesmgb
- .
- Messages : 1425
- Enregistré le : 07 nov. 2014, 21:29
- Région : France - Rhône-Alpes
- Type : B
- année : 1973
Re: Module Arduino
Bonjour,korrignu a écrit :héhé ! Salut les gens !
Si tu commences à mettre tes doigts dans l'arduino, tu pourrais songer à ce qu'il faut pour monter une sonde pour un tripmaster DIY
...
un petit bout de code pour récupérer l'info d'un capteur inductif (ou magnétique) en procédant par interruption.
Attention quand même, l'Arduino c'est pas du multiprocesseur, pendant qu'il compte il ne fait rien d'autre
![Smile :)](./images/smilies/icon_smile.gif)
Dans cet exemple, lorsqu'on ne compte pas, on pilote un petit moteur électrique (ce moteur me sert à "étalonner" mon compteur smiths)
Code : Tout sélectionner
// ------------------------------------------------------------------------------------------
// declaration partie poussoirs pilotage moteur
//-------------------------------------------------------------------------------------------
// arrêt moteur par bouton poussoir sur pin 7
#define Capt7 7
int etatCapt7;
int etatprecCapt7=HIGH;
// ------------------------------------------------------------------------------------------
// declaration partie capteur inductif de rotation
//-------------------------------------------------------------------------------------------
#define Capt2 2 //num entree numerique (num 2) pour la sortie capteur inductif rotation (fil noir)
int vitessecomptage=0; //vitesse de rotation entree tr/mn avec capt 2 impuls/tr
int compteCapt=0; //compteur impulsions capteur
unsigned long T0=0; // date de debut de comptage des impulsions
unsigned long currentms; // date en cours dans la boucle principale
long interval=1000; // duree de comptage des impulsions en ms (1s)
unsigned long Tcapt=0; //date du dernier changement d'etat du capteur
long intervalcapt=5; // tempo en ms (5ms) pour eviter le rebond de comptage capteur
unsigned long currentcaptms; //date en cours dans la routine d'interruption de lecture du capteur
// ------------------------------------------------------------------------------------------
// declaration partie moteur (pour carte MotorShield)
//-------------------------------------------------------------------------------------------
const int
PWM_A = 3, //constante sortie vitesse moteur A
DIR_A = 12, //constante canal moteur A
BRAKE_A = 9, //constante canal frein A
SNS_A = A0, //constante sens rotation moteur A
consignemoteur = 195; //consigne de vitesse moteur 0-255
int vitessemoteur=0; //consigne moteur courante
int etatmoteur= 0 ; // 1 si phase de mise en route, 0 si phase stop;
// ------------------------------------------------------------------------------------------
// declaration partie Vitesse et Transmission
//-------------------------------------------------------------------------------------------
const int tpkTransmission = 814; //tours/Km du cable compteur
int vitessevoiture=0; //vitesse calculée voiture
// ------------------------------------------------------------------------------------------
// Sous-programme d'initialisation (reset ou mise sous tension carte)
//-------------------------------------------------------------------------------------------
void setup() {
// Configuration da la sortie A MotorShield (moteur)
pinMode(BRAKE_A, OUTPUT); // Brake pin pour canal A
pinMode(DIR_A, OUTPUT); // Direction pin pour canal A
// Configuration rotation moteur
digitalWrite(BRAKE_A, LOW); // brake LOW = frein desactive
digitalWrite(DIR_A, LOW); // direction LOW = rotation moteur sens - (sens horaire vu cote arbre moteur)
// Configuration input (capteur rotation)
pinMode(Capt2,INPUT_PULLUP); // Capteur declare sur entree numerique num 2
attachInterrupt(0,Compter,FALLING); //declaration du sous-programme fonctionnant sur interruption port 0 (=entree num2) sur front descendant
// Configuration boutons poussoirs pilotage moteur
pinMode(Capt7,INPUT_PULLUP);
// affichage moniteur sorie pour debuggage
Serial.begin(9600);
Serial.println("Motor shield DC motor Test:\n");
}
// ------------------------------------------------------------------------------------------
// Sous-programme de calcul de la vitese en fonction de l'info capteur de rotation
//-------------------------------------------------------------------------------------------
int calculvitesse(int entree) {
float result;
double vcpt;
vcpt = float(entree)*60/float(tpkTransmission);
result = vcpt;
return int(result);
}
// ------------------------------------------------------------------------------------------
// Sous-programme de comptage des impulsions capteur, fonctionne sur interruption
//-------------------------------------------------------------------------------------------
void Compter()
{
currentcaptms = millis();
if(currentcaptms-Tcapt > intervalcapt) compteCapt ++ ;
else {};
Tcapt = millis();
}
// ------------------------------------------------------------------------------------------
// Sous-programmes de modification de la vitesse du moteur
//-------------------------------------------------------------------------------------------
void lancemoteur(){
etatmoteur =1;
while (vitessemoteur < consignemoteur)
{
vitessemoteur ++;
analogWrite(PWM_A,vitessemoteur); // envoi consigne de vitesse au moteur
if (vitessemoteur < 20) {delay(10);} else {delay(50);}
}
}
void stopmoteur(){
etatmoteur = 0;
while (vitessemoteur >0)
{
vitessemoteur --;
analogWrite(PWM_A,vitessemoteur); // envoi consigne de vitesse au moteur
delay(50);
}
}
// ------------------------------------------------------------------------------------------
//--------------------------------- PGM PRINCIPAL -------------------------------------------
// ------------------------------------------------------------------------------------------
void loop() {
currentms = millis();
//--- action sur front descendant bouton poussoir -----
etatCapt7 =digitalRead(Capt7);
if ((etatCapt7 == LOW) and (etatprecCapt7 == HIGH))
{
etatprecCapt7 = LOW;
if (etatmoteur == 0) {lancemoteur();} else {stopmoteur();}
}
if ((etatCapt7 == HIGH) and (etatprecCapt7 == LOW)) {etatprecCapt7 = HIGH;}
// -----------------------------------------------------
if(currentms-T0 > interval)
{
// ------Calculs vitesse ----
vitessecomptage = 30 * compteCapt; // en tr/mn (2 impulsions/tr)
vitessevoiture = calculvitesse(vitessecomptage);
Serial.print("vitesse comptage (tr/mn) : ");
Serial.println(vitessecomptage);
Serial.print("Vitesse voiture : ");
Serial.println(vitessevoiture);
// ----------------------------
compteCapt=0;
T0 = millis();
}
}
Re: Module Arduino
Bonjour,
Je découvre ton sujet.
Pourquoi ne pas remplacer le LCD par un module bluetooth et mettre l'affichage sur ton smartphone.
Comme cela tu peux mettre ton arduino où tu veux.
cdt
Je découvre ton sujet.
Pourquoi ne pas remplacer le LCD par un module bluetooth et mettre l'affichage sur ton smartphone.
Comme cela tu peux mettre ton arduino où tu veux.
cdt
- Oldtimer42
- .
- Messages : 7287
- Enregistré le : 30 avr. 2014, 16:22
- Région : France - Rhône-Alpes
- année : 1951
- Serie speciale : Ben ça dépend, ça change tout le temps
Re: Module Arduino
A part ça tu la fais rouler de temps en temps cette MGA Loulou ?
Re: Module Arduino
rouler ? noooooooon fait trop froid et j'ai pas encore été au CT
mais le moteur ronronne tout les jours
me reste qql petits détails, dont l'étalonnage de la jauge à essence, le réglage du train avant et des phares et fixer les ouies latérales
mais le moteur ronronne tout les jours
![lol :lol:](./images/smilies/lol.gif)
me reste qql petits détails, dont l'étalonnage de la jauge à essence, le réglage du train avant et des phares et fixer les ouies latérales
- Oldtimer42
- .
- Messages : 7287
- Enregistré le : 30 avr. 2014, 16:22
- Région : France - Rhône-Alpes
- année : 1951
- Serie speciale : Ben ça dépend, ça change tout le temps
Re: Module Arduino
Et le problème de pont que tu trouvais bruyant sans la caisse ?
Re: Module Arduino
non, je ne l'entends plus, mais bon, on verra à 180 sur l'anneau à Belchamp
- Oldtimer42
- .
- Messages : 7287
- Enregistré le : 30 avr. 2014, 16:22
- Région : France - Rhône-Alpes
- année : 1951
- Serie speciale : Ben ça dépend, ça change tout le temps
Re: Module Arduino
Tu l'entendais probablement parce que t'étais pratiquement assis dessus quand il n'y avait qu'un châssis sans coque.
C'est pour quand le CT ? ...t'avais déjà fait l'immat avant de la désosser ou t'es toujours en papiers US ?
C'est pour quand le CT ? ...t'avais déjà fait l'immat avant de la désosser ou t'es toujours en papiers US ?
Re: Module Arduino
suis en papier US, mais t'as raison, j'aurais du l'immat avant
normalemant, si le temps se réchauffe un poil ... d'ici la fin du mois le CT sera fait
normalemant, si le temps se réchauffe un poil ... d'ici la fin du mois le CT sera fait
Qui est en ligne
Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 0 invité