Eenvoudige multi-mode 4wd Rover JR-001 (13 / 15 stap)

Stap 13: Code details - Switch ontdendering


Hier zullen we bespreken enkele van de meer interessante aspecten van de code.

Behandeling van de Switch-modus:

Mechanische schakelaars, zoals drukknoppen en aan-uitschakelaars zijn erg mooi en handig om te gebruiken met een micro-controller, maar heb een groot probleem... Zij genereren een heleboel elektrische ruis wanneer overgeschakeld of ingedrukt (Zie de afbeelding voor details). Deze "ruis" ravage aanrichten met uw code te lezen van een knop of schakelaar en kan leiden tot de code verkeerd lezen een verandering in de switch staat. Om dit te verhelpen, voegen we enkele logica om te "debounce" de schakelaar.

Een ontdendering is net een beetje extra code voor het bijhouden van de laatste keer dat een verandering in de schakelaar staat gebeurde. Wanneer de schakelaar van een knevel gevoorzid of overgeschakeld, de functie die de digitale pin leest voor, bespaart de tijd die de verandering opgetreden. Wanneer een andere verandering wordt opgemerkt, wordt die opgeslagen tijd gecontroleerd om te zien of het buiten het bereik van de nieuwe tijd. Als de nieuwe verandering minder dan 20ms van de laatstgenoemde is, is de wijziging genegeerd en uitgegaan van lawaai. Als het was groter dan 20ms, vervolgens de verandering wordt genomen en een nieuwe verandering tijd wordt opgeslagen. Dit voorkomt dat de code krijgen meerdere wijzigingen per schakelaar flip.

 // From the Global section.... #define DEBOUNCE_TM 20 // 20ms . unsigned long last_pin_change; . . . // function to handle the mode switch with debounce void checkMode ( ) { byte mode_val = digitalRead (MODE_PIN); if ((long)(millis ( ) - last_pin_change) >= DEBOUNCE_TM) { last_pin_change = millis ( ); // Changes the Mode the bot is in. if (mode_val == LOW) mode = MODE_AVOID; if (mode_val == HIGH) mode = MODE_FORCE; mode_change == true; } } 

Gerelateerde Artikelen

Arduino 4WD rover bluetooth gecontroleerd door Android telefoon/tablet

Arduino 4WD rover bluetooth gecontroleerd door Android telefoon/tablet

Arduino 4WD bluetooth gecontroleerde roverDit is een eenvoudige 4WD rover die ik heb met Arduino gemaakt.de rover is aangestuurd met een android telefoon of tablet via bluetooth. Met deze app kunt u snelheid (met behulp van de Arduino pwm), voeren me
Zeer eenvoudige Tft mod...

Zeer eenvoudige Tft mod...

Dit is een "eenvoudige" Instructable mod een Tft-of LCD-scherm zeer eenvoudig en zeer goedkoop. Het niet gepaard gaat met elektronica voor degenen die niet ervaren, en het kan worden gedaan door bijna iedereen.Ik begon mijn Tft/Lcd mod vanwege d
5 eenvoudige slaapkamer Mods voor onder $100 en gratis advies

5 eenvoudige slaapkamer Mods voor onder $100 en gratis advies

ik heb een rolstoel gebruikt voor het grootste deel van mijn leven. Ik heb ook een huurder voor het grootste deel van mijn leven. Die twee dingen samen te stellen en limieten zullen worden getroffen. Verhuurders zijn niet gewoonlijk open voor grote w
Een "Eenvoudige" multi materiële 3D afgedrukt Ornament met Proto-pasta, TinkerCAD en het eenvoudige metaal Printrbot

Een "Eenvoudige" multi materiële 3D afgedrukt Ornament met Proto-pasta, TinkerCAD en het eenvoudige metaal Printrbot

' Tis het seizoen voor het maken en 3D printen is een geweldige manier om te vieren! Verken het snijpunt van de kunst en ambacht met deze eenvoudige maar techniek-kritische methode voor het maken van prints van de multi materiaal van een single hot e
Eenvoudige schakelaar mod gemeenschappelijk drukknop laseraanwijzer

Eenvoudige schakelaar mod gemeenschappelijk drukknop laseraanwijzer

onlangs mijn kamergenoot en ik speelden met laser pointers voor zijn optica klasse experimenten en gegiechel en we ontdekken dat de push-knop ingedrukt te houden op een conventionele laserpointer een zeer vervelend poging is. Dus we begonnen gewoon t
Arduino multi-mode lamp met soft-touch schakelaar

Arduino multi-mode lamp met soft-touch schakelaar

In dit project van Arduino gebaseerde, zullen we bouwen een lamp met meerdere licht beeldschermen: kleur sequencer, dimmen van licht, kleur chaser, firelight - alle geselecteerd door een touch-bar op de printplaat.Alle functies worden gedaan in softw
Hoe maak je een eenvoudige multi strand ketting

Hoe maak je een eenvoudige multi strand ketting

Beading. Het is een eenvoudige maar complexe manier jezelf te uiten en aanspraak maken op uw individualiteit. Een eenvoudig onderdeel van parels kan vertellen mensen te "watch out" of "chat".  Soms moet je die finishing touch van een o
Multi-mode belangrijke leiband

Multi-mode belangrijke leiband

Dagelijks dragen is een veel besproken onderwerp - wat en hoe u essentials moet uitvoeren. Ongeacht hoe mijn dragende scenario veranderingen, de nummer een ding ik nooit verlaten zonder is mijn sleutels--ten minste met hen, ik nog terug kan krijgen i
ATTiny2313 multi-mode LED Matrix Clock

ATTiny2313 multi-mode LED Matrix Clock

Dit is een mutli-modus klok project gebaseerd op attiny2313. het maakt gebruik van een 8 x 8 led matrix als vertoning. met de beperkte resolutie toont deze klok 12 uur tijd in 6 verschillende modi.het circuit wordt gebruikgemaakt van rij en kolom mul
Eenvoudige Hat Mod

Eenvoudige Hat Mod

ik maakte deze hoed voor mijn vriend aan de cosplay als van Homestuck.Dit is een gewijzigde versie van mijn magische hoed patroon. De onderste band was aangepast aan het patroon dat ik heb in de laatste foto gemaakt. Toen ik maakte de hoorns uit mode
Hoe te schilderen van een X-Box - eenvoudige xbox mod

Hoe te schilderen van een X-Box - eenvoudige xbox mod

dit is een snelle tutorial over hoe verf je xbox.
DIY Rc Offroad FPV Rover

DIY Rc Offroad FPV Rover

Ik was van plan over het gebruik van mijn vliegtuig zender en de ontvanger met de geborsteld ESC voor het maken van een eenvoudige off-road RC Rover. Ik was mijn tx-signalen kalibreren wanneer mijn ontvanger was gebakken:-(.Dan maakte ik een paar rf-
NES leidde & venster mod. Kosten onder $5.

NES leidde & venster mod. Kosten onder $5.

Gereedschap hiervoor:VeiligheidsbrilMultimetersoldeerbouthete lijmpistoolPhilips schroevendraaierDremel rotary tool met boor bits en fiberglas cutoff wielmes te strippen van draadPlatrondbektang met scharenBenodigde materialen:glazen fotolijst ($1 do
Goedkoop en eenvoudig platenspeler

Goedkoop en eenvoudig platenspeler

een goedkope en eenvoudige platenspeler modStap 1: Controleer de versterker en de naald Voor deze stap moet u een stuk van kopie papier of bouw papier, sommige tape en een inzaai pinEerste worp het papier in een kegel tape is zodat het blijft samenTe