- Kompakt vízhűtés
- Milyen billentyűzetet vegyek?
- Fejhallgató erősítő és DAC topik
- Azonnali alaplapos kérdések órája
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- Házi hangfal építés
- Nvidia GPU-k jövője - amit tudni vélünk
- Vezetékes FEJhallgatók
- Nyaralás előtti hardverszemle
- HiFi műszaki szemmel - sztereó hangrendszerek
-
PROHARDVER!
Arduino hardverrel és szoftverrel foglakozó téma. Minden mikrovezérlő ami arduinoval programozható, és minden arduino program, board, és hardverrel kapcsolatos kérdések helye.
Új hozzászólás Aktív témák
-
Tomika86
senior tag
Kibogaráztam egy példaprogramot, ez impulzusokat számol:
const int hallPin = 2; // pin 2 = int 0
volatile unsigned long cntTime = 0;
volatile unsigned long cnt = 0;
void doCount()
{
cnt++;
cntTime = millis();
}
void setup()
{
Serial.begin(9600);
attachInterrupt(digitalPinToInterrupt(hallPin), doCount, FALLING); // hall pin on interrupt 0 = pin 2
cntTime = millis();
}
volatile unsigned long rpm = 0;
unsigned long measureTime = 0, curTime, startTime = 0;
int dispCnt = 0, measureCnt = 0;
const int resetTime = 2000;
const int minRotNum = 1; // 1 - calc after every rotation
void loop()
{
curTime = millis();
if ( curTime - cntTime > resetTime) // reset when less than 30RPM (dt>2s)
{
cnt = measureCnt = 0;
rpm = 0;
}
if (cnt == 1) startTime = cntTime;
if (cnt - measureCnt >= minRotNum) {
rpm = 60000L * (cnt - measureCnt) / (cntTime - measureTime);
measureCnt = cnt;
measureTime = cntTime;
}
}60000L itt mi az L?
Új hozzászólás Aktív témák
- Asus Rog Strix G16
- Bomba ár! Lenovo ThinkPad Yoga 260 - i5-G6 I 8GB I 256SSD I 12,5" Touch I W10 I Cam I Gari!
- BESZÁMÍTÁS! Gigabyte B550M R7 5700X 32GB DDR4 512GB SSD RX 7700 XT 12GB DeepCool CC560 Seasonic 650W
- LG 32GS95UE - 32" OLED / UHD 4K / 240Hz - 480Hz & 0.03ms / 1300 Nits / NVIDIA G-Sync / AMD FreeSync
- Honor Pad X8 64GB, Wi-Fi, 1 Év Garanciával
Állásajánlatok
Cég: Liszt Ferenc Zeneművészeti Egyetem
Város: Budapest
Cég: CAMERA-PRO Hungary Kft
Város: Budapest