Toezicht op Load Feedback van een bedieningssleutel (3 / 5 stap)

Stap 3: Geavanceerde codering

Nu dat je de code hebt gezien, gaan we over afzonderlijke secties om diepere uitleg te geven.

Eerst zullen we kijken naar een sectie met code in de functie latchButtons(). We gaan om te kijken naar de knop debouncing. Wanneer de linker knop wordt gedrukt, de tijd sinds de laatste druk op de knop moet worden berekend. Dit wordt gedaan met behulp van de laatste waarde die is opgeslagen, en het aanroepen van de functie millis() om te controleren van de huidige tijd. Zodra we weten dat de tijd groter dan onze ontdendering tijd is, controleert de functie vervolgens als de bedieningssleutel is toegestaan uit te breiden. Als aan beide voorwaarden wordt voldaan, kan de functie blijven en doen al de dingen met betrekking tot de druk op de knop.

Dit volgende gedeelte is de while lus binnen de motorForward() functie. Het deel te kijken hier is de twee vertragingen. De lus begint met het inschakelen van de motorcontroller en starten van de motor. Als het de eerste lopen al de lus, is er een grotere vertraging. Deze grotere vertraging is negeren de huidige piek die wordt geleverd bij de opstart van een motor. Bij de vaststelling van deze vertraging, wees voorzichtig niet om het te groot, omdat er helemaal geen controle tijdens het. Als de motor vast voor welke reden dan ook zit, zal het niet kunnen worden gestopt totdat deze vertraging voorbij is. Als het niet het eerste punt is, is er een veel kleinere vertraging.

Zodra de motor in beweging is, wordt getFeedback() gebruikt voor het controleren van de huidige sensor. firstRun is uitgeschakeld, zodat de volgende keer door de lus de kleine vertraging, eerder dan het grote één duurt. En tot slot de knoppen worden gecontroleerd om te zien welke nieuwe maatregelen moeten worden genomen.

De volgende secties zijn allemaal in de getFeedback()-routine. De routine begint door lezing de analoge pin op de sensor aangesloten, vervolgens dienovereenkomstig handelt.

Het eerste ding dat is uitgecheckte is als de motor op zijn grenzen. De code weet wanneer de motor is aan de limieten als de huidige lezing 0 is. Soms, is er een valse lezen, dus we een teller, instellen moeten zodat de motor alleen stopt wanneer het is eigenlijk aan de grenzen. Dit stukje code heeft te tellen tot aan de hitLimitsmax voordat de motor stopt. Als het telt minder dan dat, de teller opnieuw ingesteld.

Dit volgende deel is net na de hit grenzen. Als de motor voorwaarts verplaatst wordt wanneer het de limiet bereikt, wordt hij de rightlatch uitgeschakeld. Als het achteruit beweegt was, blijkt uit de leftlatch. De code is hetzelfde voor leftlatch.

Tot slot, de huidige limiet wordt vergeleken met het maximum. Het is voorbij, de leftlatch is uitgeschakeld als de motor is niet langer toegestaan om uit te breiden. Als u wilt inschakelen van extensie, moet de motor worden omgekeerd.

Nu dat we zijn gegaan over de code, kunnen we het voor uw behoeften aanpassen.

Gerelateerde Artikelen

Controle van de positie van een Actuator met een analoge Sensor

Controle van de positie van een Actuator met een analoge Sensor

In dit Instructable, zullen we leren hoe met een analoge sensor de positie van een actuator bepalen. In dit voorbeeld zullen we met behulp van een potentiometer, maar u kunt een analoge sensor. U kunt een lichtsensor om te verplaatsen van een actuato
Ontwerpen van een Step-Up DC-naar-DC Boost Converter

Ontwerpen van een Step-Up DC-naar-DC Boost Converter

Een Step-Up converter is geschikt voor het stimuleren van een lage ingangsspanning, zeggen 1,5 V tot een veel hogere spanning zoals, 5 V. Aangezien macht moet worden behouden, terwijl het opvoeren van de spanning, is de uitgangsstroom verlaagd. Nemen
Hoe te laden van een kogel met behulp van de Lee Classic Loader.

Hoe te laden van een kogel met behulp van de Lee Classic Loader.

The Lee Classic Loader gereedschap is een kleine kit gemaakt door Lee tools waarmee u gemakkelijk eneconomisch herladen kogels van elk kaliber. In dit Instructable zal ik laten zien hoe de tool gebruiken om te ladeneen.30-06 Springfield patroon, maar
Het gebruik van een 35mm film bulk loader

Het gebruik van een 35mm film bulk loader

hoe bulk uw eigen 35mm film laden en opslaan.Stap 1: spullen Hier is een lijst van de dingen die je goed moet:-Film Bulk Loader, hier ik ben met behulp van een vintage daglicht eenheid, of kan je een nieuwe transactie van plaatsen zoals FreeStyle fot
Vervangen van een slot bedieningssleutel in een 2001 Ford F150

Vervangen van een slot bedieningssleutel in een 2001 Ford F150

mijn eenvoudige manier ter vervanging van de bedieningssleutel vergrendelen in een 2001 Ford F150, Driverside.Dit is wellicht niet de "juiste" manier, maar het heeft gewerkt op zowel mijn passagierszijde, en nu de kant van de bestuurder. En kan
Hoe te verminderen van feedback in een geluidssysteem met een grafische equalizer

Hoe te verminderen van feedback in een geluidssysteem met een grafische equalizer

deze video beschrijft de basisprincipes van het wegwerken van brullende feedback in een concert sound-systeem.
Bouwen van een Tactor om te experimenteren met haptische Feedback

Bouwen van een Tactor om te experimenteren met haptische Feedback

Experiment met een interface feedback haptische (touch) door het bouwen van uw eigen "tactor" (tactiele stimulator).  Hoewel commerciële tactors honderden dollars kost, kan dit één (Fig. 1) worden gebouwd voor onder tien dollars.Afkomstig van Ac
Hoe het bouwen van een Robotic Hand met haptische Feedback

Hoe het bouwen van een Robotic Hand met haptische Feedback

voor wetenschap fair dit jaar, ik voelde me zoals het bouwen van iets in plaats van het doen van een experiment. Alles wat ik moest doen was Instructables rondkijken voor een idee van het project. Ik was geïnspireerd door njkl44 van robotic hand aang
Save The World een druppel op een moment, deel 2: Toezicht op uw Main van Water (loodgieter gratis)

Save The World een druppel op een moment, deel 2: Toezicht op uw Main van Water (loodgieter gratis)

Om een alomvattend idee waar uw water gaat, ik dacht dat het zou een goed idee om het zowel bij de verkooppunten en de inlaat te controleren. Ik kwam over een geweldige instructable door Gregory0. Het neemt een hall effect sensor en pakt delicate mag
Bouwen van een robotachtig wapen voor de wetenschap Olympiade

Bouwen van een robotachtig wapen voor de wetenschap Olympiade

voor degenen die om te worstelen de juiste onderdelen vinden, proberen te achterhalen hoe samen te stellen hen, of moeite hebt met code, dit de juiste plaats is! Dit instructable is een volledige documentatie van Newton South High School Science Team
Het maken van een middeleeuwse staal Gauntlet - plaatwerk (WIP)

Het maken van een middeleeuwse staal Gauntlet - plaatwerk (WIP)

Hallo, crafty mensen, ik dacht dat ik zou deelnemen aan de familie door het delen van een ambachtelijke item van mij om te helpen de dingen die ik heb leren als een maker document. Ik ben een aspirant crafter die wil om te beginnen maken van historis
Maken van een webserver met behulp van W5500-EVB

Maken van een webserver met behulp van W5500-EVB

Ik zal introduceren Web Server & W5500-EVBHet is maken van WIZnet en zeer gemakkelijk maken webserver.Hieronder de beschrijving is W5500-EVB overzicht.Overzicht-W5500 chip ontwikkelingsplatform voor net ingeschakeld microcotroller toepassingen-Ethern
Controle van een grote Lineaire servomotor met Arduino

Controle van een grote Lineaire servomotor met Arduino

Deze Arduino Lineaire Actuator Tutorial laat zien hoe om te doen basic handmatige bediening van een grote Lineaire servomotor met behulp van een Arduino en twee knoppen. In de eerste set van code, de eerste knop breidt de bedieningssleutel en het twe
Met behulp van een ACS712 en Arduino actuator grenzen

Met behulp van een ACS712 en Arduino actuator grenzen

Ik ben bezig met een project dat maakt gebruik van een kracht van 400 pond, 30-inch gooien actuator die heeft ingebouwde, niet-verplaatsbare eindschakelaars maar niet feedback geven positionering. Allermeest naar de (betaalbare) grote actuators vond