Arduino ile Takometre Yapımı
Uygulama İçeriği
Takometre, herhangi bir cihazın dönme hızını ölçmek için kullanılan cihazdır. Genellikle 1 dakikadaki devir adedini gösteren analog bir göstergedir ancak bu uygulamada yapacağımız üzere dijital göstergeler de günümüzde yaygın olarak kullanılmaktadır.DC motorumuzun hızını potansiyometre ile kontrol edeceğiz ve hız değerini artırdığımızda anlık olarak ekrana yansıtacağız.
Malzemeler
-
1 Adet Arduino UNO
-
1 Adet LCD 16×2
-
1 Adet Motor Sürücü
-
1 Adet DC Motor
-
1 Adet Potansiyometre
-
Jumper kablo
Elektronik Devre Şeması
Arduino yazılımı
#include <LiquidCrystal.h> #include <Wire.h> #include <LiquidCrystal_I2C.h> LiquidCrystal_I2C lcd(0x27, 16, 2); int in1 = 9; int in2 = 5; int ena = 6; const int dataIN = 2; unsigned long prevmillis; unsigned long duration; unsigned long lcdrefresh; int rpm; boolean currentstate; boolean prevstate; void setup() { Serial.begin(9600); lcd.begin(); lcd.backlight(); pinMode(in1, OUTPUT); pinMode(in2, OUTPUT); pinMode(ena, OUTPUT); digitalWrite(in1, HIGH); digitalWrite(in2, LOW); pinMode(dataIN,INPUT); prevmillis = 0; prevstate = LOW; } void loop() { currentstate = digitalRead(dataIN); if( prevstate != currentstate) { if( currentstate == HIGH ) { duration = ( micros() - prevmillis ); rpm = (6000000/duration); prevmillis = micros(); } } prevstate = currentstate; if( ( millis()-lcdrefresh ) >= 100 ) { lcd.clear(); lcd.setCursor(0,0); lcd.print("Motor Hizi"); lcd.setCursor(0,1); lcd.print("RPM = "); lcd.print(rpm); lcdrefresh = millis(); } int pot_deger = analogRead(1); int motor_hizi = map(pot_deger, 0, 1023, 255, 0); analogWrite(ena, motor_hizi); }
merhaba
resimdeki 7 .elaman nedir
Arkadaşlar devre kurulumu doğru devre çalışıyor ama tek yanlış kodlarda Serial.begin yerine serial.init olcak