Show Posts
Pages: 1 ... 109 110 [111] 112 113 ... 229
1651  International / Français / Re: EasyVR, avant de me lancer on: May 01, 2013, 06:22:15 am
Là : http://www.veear.eu/products/easyvr/
Ils disent
Quote
The EasyVR module can be used with any host with an UART interface powered at 3.3V – 5V, such as PIC and Arduino boards
Le module Easy VR peut être utilisé avec n'importe quel système possédant un port série ...
Donc Il n'y a pas besoin de PC pour l'exploitation de la carte.

Là:http://www.veear.eu/faq/
Ils expliquent que même pour l'apprentissage de la reconnaissance des locuteurs un PC n'est pas indispensable (c'est peut être pas simple non plus faudrait approfondir)
1652  International / Français / Re: calcul d'amplification avec un transistor on: April 30, 2013, 03:13:09 pm
Je t'avoue que j'ai toujours mis en émetteur commun pour ce genre de montage.
Qu'il soit en EC ou en CC, change quelque chose si on utilise le transistor en amplificateur linéaire, non ?
(J'ai un doute j’essaie de trouver une réponse.)


Le problème en collecteur commun c'est qu'il faut une tension plus élevée pour saturer le transistor. En fait en mode saturé/bloqué la tension sur la base doit quasiment être la même que celle au collecteur. Ce qui n'est pas évident à obtenir dans la mesure ou les sorties logiques ne sortent pas toujours un niveau 1 égale à la tension d'alimentation. C'est pourquoi le montage émetteur commun est préféré.
1653  International / Français / Re: [HELP] Capteur IR ne fonctionne pas on: April 30, 2013, 05:14:49 am
En fait le capteur n'est pas adapté au besoin.
Ce type de capteur est utilisé pour recevoir les messages d'une télécommande pas pour faire des barrières infrarouge.
Si tu as besoin d'une barrière infrarouge tu ferais mieux d'utiliser des LED infrarouge et des phototransistors.
1654  International / Français / Re: résistance de gate pour mosfet on: April 29, 2013, 01:49:34 pm
chez moi sur la doc vgs mini: 2.0 maxi: 4.0v
C'est le Vgs threshold voltage la tension à partir de laquelle il commence à conduire. Si tu regardes la figure 3, tu vois qu'il faut en mettre un peu plus pour le faire suffisamment conduire afin de tirer du courant. En plus comme je le disais dans la première réponse la jonction gate-source présente une forte charge capacitive. remarque j'ai supposé que c'était pour faire du PWM. Peut être t'en sers-tu en statique.
1655  International / Français / Re: résistance de gate pour mosfet on: April 29, 2013, 10:08:50 am
Le problème c'est que la capacité vue de la gate est de 4nF. Avec une telle valeur l'ATmega va pas pouvoir suivre.
Si on considère un temps de monté de l'ordre de 100ns (ce qui n'est pas énorme pour une sortie logique) il faut pouvoir fournir 200mA dans la gate du transistor.
I= C dU/dT ==>  4e-9 * 5/100e-9= 0.2

En plus en admettant même que la sortie de l'ATmega délivre bien 5V, tu es un peu dans la limite basse pour le Vgs de ton transistor. Je pense que si tu as choisis celui-là, c'est pour lui faire cracher du courant. Si tu regardes ses caractéristiques, tu vois que pour lui faire sortir le maximum il vaut mieux attaquer sa gate avec au moins 6V.

Si tu veux bien profiter de ton transistor, il va peut falloir regarder du coté des drivers de MosFET.
1656  International / Français / Re: Comparer string on: April 25, 2013, 05:52:45 am
Voir là: http://arduino.cc/en/Tutorial/StringComparisonOperators
et là : http://arduino.cc/en/Reference/StringObject

La petite phrase suivante, extraite du lien ci-dessus, peut expliquer ton problème:
Quote
Note that constant strings, specified in "double quotes" are treated as char arrays, not instances of the String class
Les chaines entre quotes ne sont pas considérées comme des instances de String, donc la comparaison ne fonctionne pas.
== ou .equals ne fonctionnent qu'avec des instances de String voir l'exemple cité au début de ma réponse.
1657  International / Français / Re: [Résolue]Remplacee le cable USB par du bluetooth. on: April 24, 2013, 04:28:55 am
Quote
Le temps de latence des modules bluetooth série est trop grand pour permettre la programmation à distance
Il existe une carte Arduino officielle avec un bootloader adapté que je site dans ma première réponse. Elle permet la programmation par l'intermédiaire du bluetooth.
1658  International / Français / Re: Mesurer la durée d'une impulsion on: April 24, 2013, 04:26:13 am
Quote
En fait, on lance le moteur en appuyant sur un bouton et on le coupe en rappuyant sur ce même bouton.
Puisque tu parles de sécurité, c'est beaucoup plus sûr d'avoir un bouton spécifique pour l'arrêt.

Pour ton problème de surintensité, il faut échantillonner le temps lorsque ta surintensité est détectée
Code:
debutImax = millis()
et ensuite si la surintensité se poursuit vérifier si le temps actuel est supérieur à debutImax + TEMPS_MAX_ADMISSIBLE.
Code:
if (debutImax + TEMPS_MAX_ADMISSIBLE > millis){
   couper le moteur
}


Tout cela est à placer judicieusement dans ta boucle principale en veillant a y passer suffisamment souvent pour ne pas risquer de cramer ton moteur.
Il faut bien vérifier ton code pour t'assurer qu'il n'y a pas de fonctions bloquantes qui risqueraient de ruiner tes sécurités.
1659  International / Français / Re: Comparer string on: April 24, 2013, 01:35:42 am
Quote
Apres plusieurs tentative
Quelles tentatives.
Bernardino t'avais proposé une solution.

Maintenant est-ce que le problème c'est la comparaison de chaines ou est-ce autre chose?
Parce que le bout de code que tu montres donnes à penser que tu ne gères peut être pas bien la réception de ta chaine.
As-tu fait imprimer la chaine reçue pour voir si tu stockes et compares bien la chaine complète?

En plus comme le fait remarquer skywodd il faut se méfier de String qui n'est pas très économe en ressources et peut jouer des tours en bouffant ta mémoire.
1660  International / Français / Re: Besoin d'aide pour programmation moteur pas à pas on: April 23, 2013, 11:03:36 am
Quote
je viens de m’apercevoir que le serial lit le code ASCII

Petite erreur d'interprétation.
Le Serial lit ce qu'on lui envoi.
Un terminal (le Serial Monitor est un terminal) envoie le code ASCII des caractères que l'on entre au clavier.
Si tu utilises un programme coté PC pour piloter ton arduino rien ne t'empêche d'envoyer des valeurs directement sous forme d'octets signés. Ou bien en utilisant un codage qui t'arrange.
Il faut adapter le programme dans ton Arduino en fonction de ce qu'il y a en face et aussi de ce que tu veux faire. Ne jamais oublier que lorsqu'on développe un application qui utilise un moyen de communication il est toujours bon de connaitre le fonctionnement des 2 extrémités pour ne pas se tromper.
1661  International / Français / Re: Remplacee le cable USB par du bluetooth. on: April 23, 2013, 09:45:32 am
Rien n'empêche d'utiliser un module bluetooth pour assurer la liaison série.
D'ailleurs il existe une carte qui le fait nativement: http://arduino.cc/en/Main/ArduinoBoardBluetooth
Maintenant sur une carte standard le module bluetooth étant connecté sur RX TX va poser des problèmes lors du téléchargement du code. Il faut soit le retirer pour faire le chargement du code par les voies naturelles (USB), soit adapter le bootloader en partant de ce qui est fait dans la carte citée plus haut.
1662  International / Français / Re: Besoin d'aide pour programmation moteur pas à pas on: April 23, 2013, 09:40:51 am
Ce qui me dérange par contre c'est qu'il n'y a rien dans ton programme pour lire ce que tu envoies sur le port série par le biais du serial monitor....  smiley-mr-green
Si il y a ce code
Code:
   {Deplacement = Serial.read();}
FaireUnPas(Deplacement);
Le problème je crois c'est qu'il y a un amalgame entre le code ascii du caractère reçu et sa valeur.
Ou alors les valeurs envoyées ne le sont pas à partir du serial monitor.

@tazzzbass
Qu'est-ce que tu envoies et qu'est-ce que tu t'attends à recevoir?
J'ai l'impression que tu confonds caractère et valeur
1663  International / Français / Re: splitter un signal RS485 sur plusieurs arduinos RX ? passer un tableau en i2C ? on: April 22, 2013, 05:50:53 am
Quote
splitter le signal au sortir du MAX485 ? si oui combien d'arduino peut on mettre en sortie d un même signal ? y a t il des protections à faire, une amplification éventuelle ?
Si tu dois dupliquer le signal du MAX485, autant dupliquer l'entrée plutôt que la sortie. Au moins du bénéficie du fait que le RS485 c'est un bus et qu'il supporte plusieurs charge et en plus il est robuste aux perturbations.

Franchement on commence un peu à se perdre dans ton installation. Tu pourrais pas nous faire un synoptique?
1664  International / Français / Re: Ecran, longueur de fil et interférences on: April 21, 2013, 09:01:21 am
Quote
Mais voilà, pour des raison de place, de température, d'isolation, d'humidité et d'accessibilité je voudrais que l'arduino soit placé sous la selle.
Au moins pour les points température, isolation et humidité l'afficheur est aussi sensible voir plus que l'arduino.
Le registre à décalage c'est une solution satisfaisante pour l'esprit, mais d'un point de vue technique c'est pas génial. Le principe même rend le système sensible. La moindre perturbation (et c'est pas ce qui manque sur un véhicule) crée des fronts d'horloge parasites qui entraînent des perturbations d'affichage comme c'est une solution sans intelligence locale (près de l'afficheur) il n'y a aucune chance que les erreurs soient vues et corrigées.
Tout ça pour dire qu'il y a peut être d'autres solutions plus robustes.
  - utiliser une arduino mini logée sous l'afficheur à la place d'une uno.
  - utiliser un afficheur intelligent avec une liaison série (de type UART). C'est moins sensible qu'un registre à décalage.

Pour ce qui concerne la température prévoir un réglage du contraste de l'afficheur par ce que entre l'hiver et l'été la température sur un tableau de bord peut facilement s'étaler de -15°C à +50°C autant dire que l'afficheur va souffrir. La réponse des cristaux liquides est assez dépendante de la température. Certaines familles de cristaux liquides n'aiment d'ailleurs pas du tout les températures négatives.
1665  International / Français / Re: Comment fait-on pour arrêter la boucle ? on: April 21, 2013, 04:24:37 am
Quote
j'aimerais qui ne tienne compte que du changement d'état ( comme un front montant ou front descendant )
Pour détecter un front, il faut tester l'état de l'entrée à 2 instants différents. Par exemple l'état à l'instant présent et l'état lors du passage précédent dans la boucle. Ensuite on compare si l'état actuel est l'état précéddent sont différents. Si c'est le cas alors il y a eu un front.

Code:
byte monEntree=2;

byte actuel;
byte precedent;

void setup(void){
  Serial.begin(9600);
  pinMode(monEntree, INPUT);
  precedent=digitalRead(monEntree);  // pour initialiser la variable dans un état connu
}

void loop(void){
  actuel=digitalRead(monEntree);    // Lit l'état de l'entrée
  if (actuel!=precedent){           // Si différent il y a eu changement d'état
    Serial.print("il y a eu une transition "); // Cette condition teste toutes les transitions
  }
  
  if ((actuel==0) && (precedent==1)){ // si precedent à 1 et actuel à 0 front descendant
    Serial.println("descendante");         // Cette condition teste les fronts descendants
  }
  if ((actuel==1) && (precedent==0)){ // si precedent à 0 et actuel à 1 front descendant
    Serial.println("montante");         // Cette condition teste les fronts montants
  }
  precedent = actuel;                // mémorise l'état actuel pour la prochaine itération
  delay(500);                          // pour les besoins de la démonstration mettre ici le reste du code
}
Pages: 1 ... 109 110 [111] 112 113 ... 229