Arduino gecontroleerd SIP & PUFF Switch (5 / 6 stap)

Stap 5: Het schema en CODE


ik heb ook een deel van het schema van de Arduino Duemilinove ter illustratie van de verbindingen die ik voor mijn project gebruikte. U kunt een van de beschikbare pennen u wenst voor uw ontwerp en de code aanpassen.

Koppelverkoop de gemeenschappelijke verbindingen op grond houdt in dat u zal worden negatieve logica. Dat wil zeggen dat een actieve schakelaar wordt aangegeven door een lage (GND) op het signaal Pin van die Switch.

Mijn codevoorbeeld illustreert de pull-up weerstanden voor de SIPinput en PUFFinput pinnen activeren zodat u niet zou moeten toevoegen pull-up weerstanden in uw ontwerp. Laat gewoon de switches te rijden hun signaal laag om aan te geven dat ze zijn geactiveerd.

Hier volgt de Code-Segment dat relevant is voor de uitvoering van deze SIP & PUFF Switch in mijn ontwerp:

// ----------------------------------------------------------------
SIP & PUFF controle CODESEGMENT
Mark Theobald - www.DisabledAdventurers.com
Vrij om te gebruiken op elke manier je wilt!
// ----------------------------------------------------------------

// ----------------------------------------------------------------
PIN-TOEWIJZINGEN
// ----------------------------------------------------------------
int PUFFinput = 9;
int SIPinput = 10;

// ----------------------------------------------------------------
CONSTANTEN van de tijd - voor 16MHz Oscillator
// ----------------------------------------------------------------
lange VeryLongCt = 100000;   Ongeveer 2 seconden
lange MinLongCt = 20000;     Ongeveer 0,6 seconde
lange DebounceCt = 4000;       Ongeveer 0.1 seconde

// ----------------------------------------------------------------
// ----------------------------------------------------------------
VOID Setup {}

pinMode (SIPinput, INPUT);
pinMode (PUFFinput, INPUT);

digitalWrite (SIPinput, hoge);    Inschakelen van 20k pullup resistors
digitalWrite (PUFFinput, hoge);  } //to vereenvoudigen switch input

// ----------------------------------------------------------------
// ----------------------------------------------------------------
void loop {}
int GotCmd;
lange teller;

Counter = 0;     Begin van elke lus met de teller opnieuw ingesteld op 0
GotCmd = 0;

terwijl (! digitalRead (SIPinput)) {//Negative logica wordt gebruikt!

Hier code toevoegen om te controleren van de buitenwereld en reageren zo nodig

Als (teller ++ > VeryLongCt) {}
GotCmd ++;
Voeg code toe aan RespondToVeryLongSip(); zonder te wachten tot de release van de Sip

terwijl (! digitalRead (SIPinput)) //then wachten voor Sip-versie

Hier code toevoegen om te controleren van de buitenwereld en reageren zo nodig

}   }

if (!. GotCmd) {//There was niet een zeer lange SIP...
Als (teller > MinLongCt) //but er was een lange SIP
Voeg code toe aan RespondToLongSip();

anders als (teller > DebounceCt) / / of, er was een geldige korte Sip
Voeg code toe aan RespondToShortSip();   }

Counter = 0;
GotCmd = 0;

terwijl (! digitalRead (PUFFinput)) {}

Hier code toevoegen om te controleren van de buitenwereld en reageren zo nodig

Als (teller ++ > VeryLongCt) {}
GotCmd ++;
Voeg code toe aan RespondToVeryLongPuff(); zonder te wachten tot de release van bladerdeeg

terwijl (! digitalRead (PUFFinput)) //then wachten voor bladerdeeg release

Hier code toevoegen om te controleren van de buitenwereld en reageren zo nodig

}   }

if (!. GotCmd) {}
Als (teller > MinLongCt) //Long bladerdeeg
Voeg code toe aan RespondToLongPuff();

anders als (teller > DebounceCt)
Voeg code toe aan RespondToShortPuff(); } } }

// ----------------------------------------------------------------
EINDE VAN CODESEGMENT
// ----------------------------------------------------------------

Merk op dat de Code segmenten voor de SIP sectie en de sectie PUFF identiek zijn.

De code als een SIP of PUFF wordt gehouden voor een lange tijd (2 + seconden), wordt ervan uitgegaan dat sommige maatregelen moeten worden genomen immmediately zonder te wachten tot de SIP of PUFF worden vrijgegeven. Anders loopt de code "RespondTo... () "functies gebaseerd op zeer korte (0,1 tot 0,6 seconde) SIP's en de soezen, en enigszins langer (0.6-2 seconden) SIP's en de soezen. De tijd-constanten kan worden aangepast als de ontwerper voelt nodig is.

Gerelateerde Artikelen

Dual-Motor SIP & PUFF gecontroleerd kajak systeem

Dual-Motor SIP & PUFF gecontroleerd kajak systeem

Een zeer (quadriplegic) gehandicapte kunt volledig deze kajak via een SIP & PUFF Switch!Mijn ontwerp is een zelfstandige armatuur dat bestaat uit een dek-plaat die kan worden bevestigd aan een kajak.   Van elk uiteinde van de plaat is een ponton die
Arduino gecontroleerd kookwekker

Arduino gecontroleerd kookwekker

U allen moet heb meegemaakt dat je iets wordt gekookt op uw gasfornuis terwijl aan de andere kant u get drukke TV kijken of krijgen een diepe gesprek hebt dat je je realiseert op het opsporen van een geur die het was volledig verwend alleen vanwege u
Huisdier Curfew: Een Arduino gecontroleerde huisdier deur

Huisdier Curfew: Een Arduino gecontroleerde huisdier deur

Het probleem: U wilt beperken van de tijd wanneer uw huisdier mee mag naar buiten te gaan. Dit kan zijn omdat de buurt niet veilig voor uw kat of kleine hond in de nacht is (plunderende coyotes voor de geest komt). Maar u wilt uw huisdier te kunnen t
Arduino gecontroleerd licht dimmer

Arduino gecontroleerd licht dimmer

Waarschuwing: Sommige mensen proberen om dit met een optocoupler met zerocrossing coz rechts "dat is beter"? Sommigen horen zelfs in elektronicawinkels, het is beter om te gebruiken dergelijke een optocoupler. VERKEERDE. Dit werkt alleen met een
Digitale venster Sticker (Arduino gecontroleerde)

Digitale venster Sticker (Arduino gecontroleerde)

een bumpersticker formaat L.E.D. matrix waarin afbeeldingen worden weergegeven in volgorde van een SD-kaart, voor de productie van een geanimeerde teken of "venster sticker." Arduino gecontroleerd! Ook bevat Windows, Mac en Linux code voor .xbm
Galvo - Laser Arduino gecontroleerd

Galvo - Laser Arduino gecontroleerd

Arduino gecontroleerd galvo laser. De servo aangedreven spiegels sturen de verlaten een fosforescerende parcours op het blad van de glow-in-the-dark vinyl UV-laser.Oorspronkelijk Gepost op notes.robives.comStap 1:Beginnen met een blad van lichtgevend
Arduino gecontroleerd CNC / 3D Printer hybride

Arduino gecontroleerd CNC / 3D Printer hybride

Moeder natuur maakt... Wij bouwen.BuildersBot zekeringen 3D printen & CNC frezen in één Builder's droom "3dprintingindustry.com"De BuilderBot is een Open ontwerp machine, die gebruik maakt van OpenSoftware en Open Hardware. Het is een produc
Arduino-gecontroleerde Wolf staart

Arduino-gecontroleerde Wolf staart

groeten, of moet ik zeggen, "Aaaaaooooooooooooh!" Maken van uw bekende collega wolf liefhebber graag. Je hebt een innerlijke wolf geest dat zo graag bekend maken dat u mij om te leren hoe om uw zeer eigen animatronic wolf staart, zodat u kunt ec
Arduino-gecontroleerde gordijn

Arduino-gecontroleerde gordijn

In dit nieuwe project, we gecombineerd van elektronica en mechanica, en maakte een Arduino-gecontroleerde gordijn roller.Veel plezier met maken!Stap 1: Planning van het CircuitVoor dit circuit u hebt nodig:1. de roterende Potentiometer2. de Arduino U
Draadloos Arduino gecontroleerde Tank (nRF24L01)

Draadloos Arduino gecontroleerde Tank (nRF24L01)

Hallo!Vandaag zal ik u tonen how to build een Arduino gecontroleerde tank en een afstandsbediening. De 3d afgedrukt delen van de tank (met uitzondering van de controller, bijhouden gids en tank cover) werden ontworpen door timmiclark en kan worden ge
Arduino gecontroleerd Servo Robot (SERVISCH)

Arduino gecontroleerd Servo Robot (SERVISCH)

wat een betere manier om te experimenteren met opensource micro-controllers ( Arduino ) dan door het bouwen van uw eigen bron robot open ( CC (SA-door))?Wat te doen met uw Servische?(hier) - hoe uw Servische verbinden met het internet en het rijden o
Arduino gecontroleerde auto volgsysteem op basis van SMS

Arduino gecontroleerde auto volgsysteem op basis van SMS

Hi ik een Arduino gecontroleerde auto volgsysteem op basis van SMS voor mijn vaders auto maakte.De gebruikte modules zijn;Arduino nano V3.0SkyLab GPS-moduleWaveCom GSM moduleDe SoftwareSerial bibliotheek, TinyGPS worden gebruikt om te communiceren me
Arduino-gecontroleerde Smart Home

Arduino-gecontroleerde Smart Home

Dit Instructable werd geschreven door PubNub Evangelist Ian Jennings . Ian's verhaal doorloopt zijn proces van het opbouwen van een Arduino-gecontroleerde smart home model van kras.--Terug in September, onze stichter Stephen en ik spraken over manier
Arduino gecontroleerd vuurtoren

Arduino gecontroleerd vuurtoren

Overzicht:Ik heb vaak gedacht dat een vuurtoren zou een groot project voor een Arduino, en dus heb ik besloten om het eens te proberen met behulp van een van de lokale vuurtorens hier in Erie, Pennsylvania als inspiratie. Ik koos voor de North Pierhe