Commutateur du SIP & PUFF Arduino (5 / 6 étapes)

Étape 5: Le schéma et le CODE

J’ai inclus une partie du schéma Arduino Duemilinove pour illustrer les liens que j’ai utilisé pour mon projet. Vous pouvez utiliser les broches disponible vous souhaitez pour votre conception et modifiez le code en conséquence.

Lier les connexions courantes à la terre signifie que vous mettra en oeuvre logique négative. C’est à dire qu’un commutateur Active est indiqué par un faible (GND) sur la broche de Signal de ce commutateur.

Mon exemple de code illustre activant les résistances de pull-up pour les tiges de SIPinput et PUFFinput, donc vous ne serait pas nécessaire d’ajouter des résistances de pull-up dans votre conception. Simplement laisser les commutateurs à conduire leur signal faible pour indiquer qu’il a été activé.

Voici le Segment de Code qui est pertinente à mettre en œuvre cette SIP & PUFF interrupteur dans ma conception :

// ----------------------------------------------------------------
SIP & SEGMENT de CODE pour le contrôle PUFF
Mark Theobald - www.DisabledAdventurers.com
Libre d’utilisation de quelque façon que vous aimez !
// ----------------------------------------------------------------

// ----------------------------------------------------------------
AFFECTATION DES BROCHES
// ----------------------------------------------------------------
int PUFFinput = 9 ;
int SIPinput = 10 ;

// ----------------------------------------------------------------
CONSTANTES de temps - pour oscillateur 16MHz
// ----------------------------------------------------------------
VeryLongCt long = 100000 ;   Environ 2 secondes
MinLongCt long = 20000 ;     Environ 0,6 seconde
DebounceCt long = 4000 ;       Environ 0,1 seconde

// ----------------------------------------------------------------
// ----------------------------------------------------------------
void setup() {}

pinMode (entrée, SIPinput) ;
pinMode (entrée, PUFFinput) ;

digitalWrite (SIPinput, élevé) ;    Tourner sur 20k pullup résistances
digitalWrite (PUFFinput, élevé) ;  } //to simplifier commutateur entrée

// ----------------------------------------------------------------
// ----------------------------------------------------------------
void loop() {}
int GotCmd ;
long comptoir ;

Compteur = 0 ;     Commencez chaque boucle avec le compteur remis à 0
GotCmd = 0 ;

tandis que (! digitalRead (SIPinput)) {//Negative logique est utilisée !

Ajoutez le code ici pour surveiller le monde extérieur et réagir selon les besoins

Si (compteur ++ > VeryLongCt) {}
GotCmd ++ ;
Ajoutez du code au RespondToVeryLongSip() ; sans attendre les sortie Sip

tandis que (! digitalRead (SIPinput)) //then attendez la libération de Sip

Ajoutez le code ici pour surveiller le monde extérieur et réagir selon les besoins

}   }

if (!. GotCmd) {//There n’est pas un très Long SIP...
Si (compteur > MinLongCt) //but il a été un Long SIP
Ajoutez du code au RespondToLongSip() ;

ElseIf (compteur > DebounceCt) / / ou, il y avait un Sip court valide
Ajoutez du code au RespondToShortSip() ;   }

Compteur = 0 ;
GotCmd = 0 ;

tandis que (! digitalRead (PUFFinput)) {}

Ajoutez le code ici pour surveiller le monde extérieur et réagir selon les besoins

Si (compteur ++ > VeryLongCt) {}
GotCmd ++ ;
Ajoutez du code au RespondToVeryLongPuff() ; sans attendre Puff sortie

tandis que (! digitalRead (PUFFinput)) //then attendez la libération de Puff

Ajoutez le code ici pour surveiller le monde extérieur et réagir selon les besoins

}   }

if (!. GotCmd) {}
Si (compteur > MinLongCt) //Long FEUILLETÉE
Ajoutez du code au RespondToLongPuff() ;

ElseIf (compteur > DebounceCt)
Ajoutez du code au RespondToShortPuff() ; } } }

// ----------------------------------------------------------------
FIN DU SEGMENT DE CODE
// ----------------------------------------------------------------

Notez que les Segments de Code pour les sections SIP et le souffle sont identiques.

Quand un SIP ou FEUILLETÉE est maintenue pendant une longue période (2 + secondes), le code suppose que certaines mesures doivent être prises signaler sans délai sans attendre le SIP ou FEUILLETÉE être libéré. Dans le cas contraire, le code s’exécutera "RespondTo... () "fonctions issu des gorgées très court (0,1 à 0,6 seconde) et bouffées et quelque peu gorgées de Longer (0,6 à 2 secondes) et bouffées. Les constantes de temps peut être ajustées comme le sent concepteur est nécessaire.

Articles Liés

Parmoteur SIP & PUFF commandé par Kayak

Parmoteur SIP & PUFF commandé par Kayak

Un fortement handicapé (tétraplégique) peut contrôler totalement ce kayak via un SIP & PUFF interrupteur !Ma conception est un appareil autonome comprenant une plaque de pont qui peut être fixé sur n'importe quel kayak.   Chaque extrémité de la plaqu
Régulateurs de tension de commutation basée sur Arduino

Régulateurs de tension de commutation basée sur Arduino

Convertisseurs DC-DC sont utilisés pour convertir efficacement les tensions continues. Ils ont une efficacité de conversion jusqu'à 95 %, ce qui les rend utiles pour LED bandes, feux de vélo, chargeurs de piles et appareils électriques solaires. Un c
Un commutateur capacitif pour Arduino

Un commutateur capacitif pour Arduino

Il s'agit d'un moyen simple de réaliser et d'utiliser des commutateurs capacitifs avec un Arduino ou un dispositif similaire comme un Pi de framboise. Ces commutateurs sont toucher sensible, peuvent être n'importe quel forme ou taille et peuvent être
Comment utiliser un commutateur de bouton poussoir avec arduino

Comment utiliser un commutateur de bouton poussoir avec arduino

Il s'agit d'une Instructable qui vous indique comment connecter un commutateur de bouton poussoir 4 broches avec l'Arduino.L'engin permet une LED pour être mis en marche lorsque vous appuyez sur le bouton poussoir.Étape 1: Ce que vous devez : Vous av
L’utilisation de télécommandes IR avec Arduino (actuels et mis à jour)

L’utilisation de télécommandes IR avec Arduino (actuels et mis à jour)

Je suis fatigué de ces tutoriels de programmation compliquées sur l'utilisation de certaines choses. J'aime simple, facile à comprendre, étape par étape les instructions. Mon plus gros problème était avec IR et de POV. J'ai enfin maîtrisé comment con
Comment faire le plus simple Breadboard Arduino Uno... JAMAIS ! -Le Breduino ! (& Comment télécharger croquis directement à elle!!) With Additional Hardware Options - UPDATED - JULY 2013

Comment faire le plus simple Breadboard Arduino Uno... JAMAIS ! -Le Breduino ! (& Comment télécharger croquis directement à elle!!) With Additional Hardware Options - UPDATED - JULY 2013

Étape 1: Section 1 - bâtiment l'alimentation régulée 5 volts ! Okay now before i start, something about my notes for my step-by-step PICTURE instructables that i Love to create:"J'ai utilisé pour étiqueter toutes mes photos dans mon instructables, ma
Contrôler vos décorations d’Halloween avec Arduino

Contrôler vos décorations d’Halloween avec Arduino

Animation Halloween accessoires sont beaucoup de plaisir. Mais les accessoires que vous achetez au magasin ont certaines limites importantes.Un des problèmes est que chaque pilier est activé par son propre capteur. Il est donc difficile de les amener
Mesure de distance (et plus) dispositif utilisant Arduino et GPS

Mesure de distance (et plus) dispositif utilisant Arduino et GPS

dans mon précédent Instructable, j'ai ai montré comment obtenir des données essentielles d'un GPS portable, Holux M-1000 et convertir l'heure UTC en heure locale.  Ce matin (3 novembre), l'heure d'été a pris fin.  J'ai allumé l'appareil dès que je me
Arduino Powered Home

Arduino Powered Home

J'ai fait quelques mises à jour à cette instructable depuis août 2014 ***J'ai décidé de partager ces informations afin que cela pourrait aider d'autres personnes qui ont eu du mal à faire des choses semblables avec leur Arduino. J'ai récemment obtenu
Commencer avec GearBest Starter Kit pour Arduino

Commencer avec GearBest Starter Kit pour Arduino

Si vous êtes nouveau dans le « monde Arduino » ce tutoriel vous aidera à faire vos premiers pas avec des produits électroniques et les cartes Arduino.Pour cela, nous utiliserons le « GearBest Starter Kit pour Arduino » ! Pourquoi ? Parce qu'est un ki
Arduino ultrasons télémètre, avec affichage à cristaux liquides I²C !

Arduino ultrasons télémètre, avec affichage à cristaux liquides I²C !

Salutdans ce projet, je veux montrer et vous expliquer un capteur de gamme avec ultrasons et un écran à cristaux liquides 20 x 04. J'ai écrit le code pour ce projet moi-même et ajouté beaucoup de commentaires, afin que tout le monde peut le comprendr
« Smart Shield » - système d’alarme portatif en utilisant Arduino

« Smart Shield » - système d’alarme portatif en utilisant Arduino

détecteur est relié à la carte arduino. Lorsqu'un mouvement est détecté, une alarme sonore et clignotante LED volonté commencent à agir. Les temps des détections de mouvement sont enregistrées et peuvent être consultés plus tard sur un petit écran LC
Arduino + WiFi, musique réactive LED luminaire

Arduino + WiFi, musique réactive LED luminaire

cette instructable donne des instructions pour construire un Saiko5 WiFi activé appareil d'éclairage LED basé sur la plate-forme d'amateur Arduino . Il inclut des instructions étape par étape de conception de carte pour brasure sur l'affaire intégrat
Arduino rgb led watch

Arduino rgb led watch

RGB led arduino montreComment savoir le temps que vous vous poseriez ?sombre bleu vif est l'aiguille des heuresbleu clair est l'aiguille des minutesblanche est l'aiguille des secondesbleu pâle est la 1/12 de seconde main pour saisir plus d'importance