Cu ajutorul senzorului Hall puteți măsura viteza de rotație.
RPM (revoluții pe minut) - numărul de rotații pe minut. Revoluțiile pe minut - unitatea de măsură a vitezei de rotație: numărul de rotații complete efectuate de corp (ax, roată, scripete etc.) în jurul axei fixe. Folosit pentru a caracteriza viteza de rotație a componentelor mecanice în mașini și mașini.
Conectarea senzorului Hall în Arduino este prezentată în figura 1 (S (date) -> pin 2, GND -> Arduino GND, VCC -> Arduino + 5V, rezistor 1 kΩ).
Figura 1 - Conectarea unui senzor digital Hall la Arduino
Pentru a măsura viteza de rotație, pe disc trebuie atașat un magnet care va afecta senzorul Hall după fiecare rotire completă a discului. Astfel, după fiecare revoluție a discului, obținem un impuls, care poate fi tratat ca o singură revoluție.
Programul pentru Arduino, care citește citirile senzorului Hall și numără numărul de rotații pe minut și viteza de rotație. În prezența unui câmp magnetic, LED-ul se aprinde.
void setup () Serial.begin (9600);
attachInterrupt (0, rpm_fan, FALLING); // întrerupe cero (0) este pe pinul doi (2).
>
dacă (millis () - lastmillis == 1000)*Uptade every one second, this will be equal to reading frecuency (Hz).*/
detachInterrupt (0); // Dezactivați întreruperea calculării
rpm = rpmcount * 60; / * Conversia frecuency la RPM, nota: aceasta funcționează pentru o întrerupere pe rotație completă. Pentru două interrube pe rotație completă folosiți rpmcount * 30. * /
Serial.print ("RPM = \ t"); // tipăriți cuvântul "RPM" și fila.
Serial.print (rpm); // tipăriți valoarea rpm.
Serial.print ("\ t Hz = \ t"); // tipăriți cuvântul "Hz".
Serial.println (rpmcount); / * imprimarea revoluțiilor pe secundă sau Hz. Și imprimați o nouă linie sau introduceți. * /
rpmcount = 0; // Reporniți contorul RPM
lastmillis = milis (); // Uptade lasmillis
atașațiInterrupt (0, rpm_fan, FALLING); // permite întreruperea
>
>