Arduino-baserad optiska varvräknare (4 / 6 steg)

Steg 4: programmering



Programmet för att beräkna VARVTALET på motorn är ganska enkelt. Jag anpassade det från en Hall effekt varvtal kalkylator på utmärkta Arduino Playground webbplats.

Du kan hämta den "skissen" för programmet nedan.

Funktionen rpm_fun är funktionen avbrott som kommer att anropas när data på pin 2 ändras från hög till låg (en fallande puls). Det uppdaterar den globala rpmcount, sedan växlar status-LED.

void rpm_fun() {//Each rotation, detta avbrott //function körs två gånger, så beakta //that för //calculating RPM //Update greve rpmcount ++; //Toggle status ledde om (status == låg) {status = hög;} annat {status = låg;} digitalWrite (statusPin, status);}

Setup initierar variabler, konfigurerar seriella parametrar, anger pin lägen och ställer in funktionen avbrott.

void setup() {Serial.begin(9600); //Interrupt 0 är digital stift 2, så det är där //the IR detektor är anslutna //Triggers på fallande (ändra från hög till låg) attachInterrupt (0, rpm_fun, faller); //Turn på IR-LED pinMode (ledPin, produktionen), digitalWrite (ledPin, hög), //Use statusPin att blinka tillsammans med avbryter pinMode (statusPin, produktionen); rpmcount = 0; rpm = 0; timeold = 0; status = låg;}

Loop funktion, är som namnet antyder, den huvudsakliga behandlingen loop som "går för alltid" medan styrelsen drivs upp. De första uttalande förseningarna under en sekund (1000 millisekunder), men observera att avbryta funktionen kommer att bryta i varje gång värdet av stift 2 ändras och köra funktionen rpm_fun. Efter 1 sekund försening, avbrottet är tillfälligt inaktiverad (detta inte kanske är nödvändigt, men verkar säkrare) då RPM beräknas baserat på antalet avbrott och förfluten tid mellan nu och förra gången beräkningen uppstått. Resultatet skickas tillbaka till datorn via den seriella porten, då avbrottet är återställd.

void loop() {//Update RPM varje andra delay(1000); //Don't process avbryter under beräkningar detachInterrupt(0); rpm = 30*1000/(millis() - timeold) * rpmcount; timeold = millis(); rpmcount = 0; //Write det ut till seriell port Serial.println(rpm,DEC); //Restart avbryta bearbetning attachInterrupt (0, rpm_fun, faller);}

Observera att sättet motorn och IR-detektorn har konfigurerats, varje enskild tur av spolen kommer att resultera i två övergångar, så beräkningen tar det i kraft. Samma sak skulle inträffa för två bladig fläkt eller propeller. Om bara ett ljust avbrott per varv inträffade, såsom en svängande arm, skulle beräkningen vara:

RPM = 60*1000/(millis() - timeold) * rpmcount;

För en tre bladig fläkt, skulle beräkningen vara:

RPM = 20*1000/(millis() - timeold) * rpmcount;

Se Steg
Relaterade Ämnen

Läst RPM från Arduino-baserad IR-varvräknare med MATLAB GUI

Hej igen, ett par dagar jag postat tillbaka en instructable av IR varvräknare med arduino, då insåg jag att snarare än läsning av RPM värdet i Arduino IDE seriell monitor, presentera RPM i en ordentlig ram skulle se mer hi-tech. Så försökte jag att g...

Åtgärd RPM - optisk varvräknare

Detta Instructable visar dig hur man gör en Bärbar Digital optisk varvräknare med hjälp av en Arduino Uno.I stället för en slitsad sensor har den en reflektion baserad sensor. Så:1. du behöver inte oroa dig för tjockleken på rotorn2. antal blad komme...

Infraröd varvräknare med Arduino

Hej, är detta bara ännu en varvräknare som du kan också hitta många tutorials ute. Det finns olika synsätt på att mäta rpm, vad jag använder här är baserad på analogRead metod som skrivet i arduino playground lärande sida (http://playground.arduino.c...

DIY Digital RPM varvräknare | RPM Counter med Arduino

Hej gott folk, jag skriver denna artikel för att dela mitt senaste projekt DIY RPM varvräknare eller du kan säga RPM counter. När du skapar ett projekt många gånger vi måste kontrollera varvtal och vi behöver RPM varvräknare som kan räkna runt Per mi...

DIY cykel varvräknare

Jag kommer att visa dig hur man bygger en cykel hastighetsmätare. Det visar din hastighet,medelhastigheten, temperaturen, restid och det totala avståndet. Du kan ändra det med knappen. Dessutom visas hastigheten på en varvräknare. Jag byggde det efte...

Arduino-baserad byta spänningsregulatorer

DC till DC omvandlare används effektivt konvertera DC-spänningar. De har en verkningsgrad på upp till 95% vilket gör dem användbara för LED strips, CYKELLYSEN, batteriladdare och solar powered enheter. En spänningsomvandlare kräver en PWM källa som e...

Rengör och Smörj en varvräknare kabel

I denna instructable video försöker jag fixa en studsande varvräknare nålen genom rengöring och smörjning av varvräknare kabeln på min Honda Nighthawk CB450SC motorcykel. Varvräknare skulle studsa på både tomgång och hastighet.Verktyg:Verktyg och del...

Hur man öppnar en Honda CB/CX/GL stil varvräknare och hastighetsmätare

en dag medan ridning min 1981 Honda GL500 hade jag miss-lyckan av att ha skruvarna som håller ratten inför min varvräknare FN-tråd sig efter 29 år av vibrationer och orsaka ansiktet för att snurra runt fritt i fodralet. Tyvärr så är inte helt enkelt...

Spåra din bil med en Arduino-baserad Lojack

Bilstölder är en verklig dra! Öka dina chanser att få tillbaka din bil genom att installera denna enkla Arduino-baserad tracker i bilen.Detta projekt är ganska enkel, och skulle vara ett bra projekt för nya Arduino programmerare letar efter något lit...

Att införa Climaduino - Arduino-baserad termostaten du styr från din telefon!

Uppdatering:Det finns en ny version av Climaduino och Climaduino Controller med några mycket väsentliga ändringar.Stöder flera zonerAnvänder Arduino YúnFungerar med Central luftkonditioneringKommunicerar med MQTT protokoll (kan integrera med andra sy...

Hard Drive varvräknare för en stationär dator

trött på den gamla tråkiga hårddisk indikatorn LED, en puney LED.Då är ett val att lägga till en HDD (hårddisk) varvräknare.Här tach visar aktivitetens HDD på en stationär dator. Inte för fordonsindustrin.Byggd med 555 och 4017 kombinationen. Men "In...

Arduino-baserad Bi-color LED Matrix Flappy fågeln spel

Vi har byggt en hel del projekt med Bi-färg (rött och grönt) LED Matrix drivrutinsmodulen Kit från jolliFactory och har publicerat dem som instructables här. Var och en av dessa moduler använder två MAX7219 Display Driver ICs för att driva en Bi-colo...

Arduino-baserad skugga larm

Shadow larm används vanligen för skydd mot stöld. En skugga larm är en enhet som avger ett larm när en skugga faller på den. Beskrivs här är en enkel krets larm arduino baserade skugga. Denna kompakta skugga larm enhet kan avkänning en rörlig skugga...

Låg höjd miljöövervakning med en Arduino baserade väder Instrument och Aeropod Remote Sensing plattform

ProjektöversiktStudenter på New Lothrop High School i Michigan har arbetat tillsammans för att bygga en plattform för remote sensing låg höjd som kallas en "Aeropod" och rummen har det med ett "Arduino" baserade väder instrument att sa...

Linkit en bärbara varvräknare Noncontact

Vi använder varvräknare i vår bransch. Så vilja göra vissa varvräknare att kontrollera det i hem med tillgängliga resurser.Steg 1: Tillbehör krävs 1) Linkit en bräda med batteri.2) infra röd LED och fotodiod - 1Det.3) 16 x 2 seriella LCD-display.4) 2...

Varvräknare

Mitt projekt här är en varvräknare som kontrolleras av MSP430 mikrokontroller, jag dokumentera min process eftersom när man utformar denna varvräknare jag uppskattade varje resurs-gränssnitt för msp430 och LCD 16 x 2 jag kunde hitta.Steg 1: Beskrivni...

Reparera en Motor cykel varvräknare nålen

jag köpte en billig motorcykel för tillfälliga transporter och konvertera till en elektrisk cykel senare i år. Varvräknare saknade nålen så det var omöjligt att se vilka varvtal du gjorde. Samtidigt som man arbetar på instrumentet Nakterhus konverter...

Hur man installerar en varvräknare

i detta instructable jag kommer att visa dig hur jag installerat en eftermarknad varvräknare på min 91 Chevy S-10. Takometrar är ett bra verktyg för din bil om du njuta av övervakning din varvtal eller idle. I själva verket är de nästan en nödvändigh...

Varvräknare från en cykel hastighetsmätare (cykeldator)

ibland bara måste man veta hur snabbt ett hjul eller axel eller motor vänder.Mätanordning för rotationshastigheten är en varvräknare. Men de är dyra och inte lätt att hitta.Dess billigt och lätt att göra en med hjälp av en cykel hastighetsmätare (cyk...