msp430 utilisant le bouton comme commutateur

Cagurtay

msp430 utilisant le bouton comme commutateur


J’essaie de faire cela ( http://www.arduino.cc/en/Tutorial/Switch ) sans utiliser de pièces externes car j’ai pu utiliser l’exemple de bouton du même site avec ce code: http: //en.textsave .org / VjL ) avec mon msp430g2553 utilisant Energia mais cela ne fonctionne pas, une aide?

 const   int  buttonPin =  PUSH2 ;       // the number of the pushbutton pin 
 const   int  ledPin =  GREEN_LED ;     // the number of the LED pin 

 int  state =  HIGH ;        // the current state of the output pin 
 int  reading ;             // the current reading from the input pin 
 int  previous =  LOW ;      // the previous reading from the input pin 

 // the follow variables are long's because the time, measured in miliseconds, 
 // will quickly become a bigger number than can be stored in an int. 
 long  time =   0 ;           // the last time the output pin was toggled 
 long  debounce =   200 ;     // the debounce time, increase if the output flickers 

 void  setup (){ pinMode ( buttonPin ,  INPUT ); pinMode ( ledPin ,  OUTPUT );} 

 void  loop (){ reading =  digitalRead ( ledPin ); 

 // if the input just went from LOW and HIGH and we've waited long enough 
 // to ignore any noise on the circuit, toggle the output pin and remember 
 // the time 
 if   ( reading ==  HIGH &&  previous ==  LOW &&  millis ()   -  time >  debounce )   { 
 if   ( state ==  HIGH ){ state =  LOW ; 
 } 
 else state =  HIGH ; time =  millis ();      } digitalWrite ( ledPin ,  state ); previous =  reading ;} 

lilSebastian

Qu’est-ce qui ne fonctionne pas, avez-vous un schéma de circuit?

Ignacio Vazquez-Abrams

Avez-vous réussi à faire fonctionner Debounce?

DrRobotNinja

Le bouton Pin est-il double en tant qu’entrée analogique? Si oui, est-il défini comme un port numérique? La fiche technique suggère que si elle est configurée comme analogique, l’entrée numérique ne fonctionnera pas.

Cagurtay

la led verte est juste allumée et rien ne se passe quand j’appuie sur le bouton, il y a quelques schémas après la page 18: ti.com/lit/ug/slau318d/slau318d.pdf

Cagurtay

j’ai essayé ceci: energia.nu/Tutorial_Debounce.html mais rien ne se passe, si je change pinMode (buttonPin, INPUT); comme pinMode (buttonPin, INPUT_PULLUP); cela fonctionne comme cet exemple de bouton, je n’ai même pas remarqué que c’est la même chose que j’essayais de faire.

Réponses


 Passant

Eh, vous utilisez probablement un Launchpad rev1.5. La broche de rappel externe pour le bouton p1.3 n’est pas remplie. Puisqu’il n’est pas rempli, il n’y a pas de changement d’état stable. Vous devez activer le pullup interne.

Au lieu de pinMode(buttonPin); utiliser pinMode(buttonPin, INPUT_PULLUP);

En outre, vous essayez de lire la mauvaise broche.

Au lieu de reading = digitalRead(ledPin); use reading = digitalRead(buttonPin);

Cagurtay

rien ne se passe quand je le change en pinMode (buttonPin, INPUT_PULLUP); et lecture = digitalRead (ledPin); est le même dans mon code.

Cagurtay

et oui j’utilise rev 1.5

Passant

@Cagurtay la partie lecture est erronée. Pensez- y …

Cagurtay

Bah … Je suis désolé, j’ai changé de variable dans mon kit mais j’ai accidentellement mis la sortie au lieu de l’entrée. lecture = digitalRead (buttonPin); , Je vous remercie.

 

bouton, comme, commutateur, Le, MSP430, utilisant

 

google

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *