Pomiar prędkości z Arduino i czujnikiem Halla A3144
Elementa listów:
- Arduino Nano
- Wyświetl i2c 0.96 ″
- Czujnik Halla A3144
- Płytka Stykowa
- Przewody
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 |
#include <SPI.h> #include <Wire.h> #include <Adafruit_GFX.h> #include <Adafruit_SSD1306.h> Adafruit_SSD1306 display(4); float value=0; float rev=0; int rpm,count=0; int oldtime=0; int time; void isr() //interrupt service routine { rev++; count++; } void setup() { display.begin(SSD1306_SWITCHCAPVCC,0x3C); display.clearDisplay(); attachInterrupt(0,isr,RISING); //attaching the interrupt } void loop() { delay(1000); detachInterrupt(0); //detaches the interrupt time=millis()-oldtime; //finds the time rpm=(rev/time)*60000; //calculates rpm oldtime=millis(); //saves the current time rev=0; attachInterrupt(0,isr,RISING); display.clearDisplay(); display.setTextSize(2); display.setCursor(0,0); display.println("COUNT"); display.setCursor(70,0); display.println(count); display.setTextSize(3); display.setTextColor(WHITE); display.setCursor(34,20); display.println("RPM:"); display.setTextSize(2); display.setCursor(40,48); display.println(rpm); display.display(); } |