Bisikletle giderken lcd ekrandan hızımızı ve devir sayısını gösteren bir uygulama yapacağız.Arduino kullanarak hızımızı nasıl ölçebileceğimizden bahsedeceğim.Hızımızı ölçmek için tekerleğin dönüş hızını bilmemiz gerekecek.Bunu öğrenmek için de manyetik anahtardan faydalanacağız.
Manyetik Anahtarla Hızımızı Nasıl Ölçeriz?
Manyetik anahtar adından da anlaşılacağı gibi manyetik ortamda anahtarın açılıp kapanması sağlanır.Biz de tekerlek cantına bir adet mıknatıs yerleştireceğiz.Manyetik anahtarımızı ise mıknatısın karşısına gelecek şekilde demir çatala yerleştiriyoruz.Bu sayede tekerlek her bir dönüşte mıknatısı manyetik anahtarın önünden geçirecek ve anahtarın açılıp kapanması sağlanacak.Anahtardaki durum değişimleri sayılarak hız ve devir sayısına dönüştürülecek.Projemizin genel çalışma mantığı bu şekildedir.Hız ve devir ölçer yapımı projemizin aşama aşama yapımına başlayabiliriz.
Malzemeler:
- Arduino
- Manyetik anahtar
- Mıknatıs
- Lcd ekran(16×2)
- 10k ve 47ohm direnç
- 10k potansiyometre
- 9v pil ve adaptör
Elektronik Kısım Devre Şeması:
Yukarıdaki devre şemasını kullanarak bağlantıları yapıyoruz.
Manyetik anahtarı aşağıdaki şekildeki gibi yerleştiriyoruz.
Mayetik sensörün denemesini yaptığımızda mıknatısı yaklaştırınca 1023, uzaklaştırınca 0 analog değeri verecektir.
Yazılım Kısmı:
#include <LiquidCrystal.h> int val; long last=0; int stat=LOW; int stat2; int contar=0; int displayrpm; int sens=75; int nPalas=1; int milisegundos=500; LiquidCrystal lcd(12,11,5,4,3,2); void setup() { Serial.begin(9600); pinMode(13,OUTPUT); lcd.begin(16,2); } void loop() { val=analogRead(0); if(val<sens) stat=LOW; else stat=HIGH; digitalWrite(13,stat); if(stat2!=stat){ contar++; stat2=stat; } if(millis()-last>=milisegundos){ double rps=((double)contar/nPalas)/2.0*1000.0/milisegundos; double rpm=((double)contar/nPalas)/2.0*60000.0/(milisegundos); displayrpm=rpm; Serial.print((contar/2.0)); Serial.print("RPS"); Serial.print(rps); Serial.print("RPM"); Serial.print(rpm); Serial.print("VAL"); Serial.println(val); contar=0; last=millis(); Serial.print("MPH"); Serial.print(rpm*0.0080622311); LCDPrint(); } } void LCDPrint() { lcd.clear(); lcd.setCursor(0,0); lcd.print("MPH"); lcd.setCursor(0,1); lcd.print(displayrpm*0.0080622311); lcd.setCursor(8,0); lcd.print("RPM"); lcd.setCursor(8,1); lcd.print(displayrpm); return; }
Hız devir ölçer yazılımını buradan indirebilirsiniz >> hız devir ölçer
Kaynak : Arduino Bike Speedometer
Potansiyometre nerede ne için kullanılıyor acaba bilgi verebilecek olan var mı?
Değerli hocam ben şu an evde bisikletimi trainere çevirdim ve aslında fayda sağlamak ve antrenman gelişimimi takip etmek için cadans(pedalı kaç tur çeviriyorum) hızım ve kateddiğim yol ne kadar süre bindim ve imkan varsa power metre yi aynı anda görmeliyim. Bu yazı beni çok heyacanlandırdı yapabilirmiyiz diye hatta bluetoodh ile aktarsa onuda androidde görsek. Böyle bir cihaz ciddi paralara satılıyor evdeyiz ihtiyaç var pahalı alamıyoruz peki yapabilirmiyiz
STAD2 DEĞERİ OLMADAN KARŞILAŞTIRMA YAPTIRMANIZ DOĞRU OLMAMIŞ.
hocam manyetik anahtar ve mıknatısı nasıl bulabilirim?
kodların açıklamasını yapabilir misiniz,rpm nasıl hesaplanıyor,değişkenlerin görevleri neler
lcd ekran yerine 7 segmentli katot display olurmu
Sezgin Bey öncelikle proje için çok teşekkür ederim. Buradaki hız bilgisini (örneğin: “12.3”m/dak) şeklinde.
ya da devir bilgisini (“500″d/dak)(sadece numerik kısmı) 4’lü 8×8 dot matrix’e yazdırmak istiyorum. Fakat dot matrix kodlaması konusunda başarılı olamadım. Konu ile alakalı yardımcı olabilir misiniz?
merhaba, reed switchten gelen bilgiyi kablo kullanmadan göndermek mümkün mü acaba?
Hayırlı Günler Sezgin bey, ardunio kullanarak bir rüzgar hızı ölçer (anemometre) yapmak istiyorum manyetik kart yerine encoder veya analog rüzgar hızı sensörü kullanmam gerekiyor. Bu programı projeme uygulamam mümkün müdür acaba ?
merhaba lise son sınıf öğrencisiyim bu benim proje ödevim yazılımı arduıno ya yüklerken LCDPrint hatası alıyorum yardımcı olursanıız sevinirim
merhabalar , programı ve devreyi kurdum lcd ekranda değişen değerlerde görüyorum fakat bu değerler çok çabuk değişiyor ve stabil değil 5mph ken anında 1 mph a düşüp yine anında 3 mph a çıkıp tekrar 1 e falan düşüyor şemadaki devreden tek fark olarak manyetik röle değil ky-003 arduino için manyetik sensör kullandım ve a0 ile ground arasına direnç bağlayınca değer almadığım için o direnci bağlamadım sorunumun çözümü için cevaplarsanız çok makbule geçer
öncelikle merhaba ben arduıno uno ile turmetre yaptım ama lcd ekranda tur çalisiyyor ama tur döndükçe metre ninde çalişması lazım ama çalışmıyor.Metrenin çalışması gereken program kodunu verebilirmisin
Teşekkürler.
Merhaba biz elektrikli araç yapıyoruz.Tekerimizin yarıçapı 16 inç.Biz bu yarıçapa uygun kodu nasıl değiştirebiliriz.Ayrıca bunu km/h veya m/s cinsine yapmak istiyoruz hangi kod değiştirmemiz gerekiyor.0,0080622311 sayısındaki matematik formülü nedir ve yarıçapı kaç aldınız yardımcı olabılır mısınız
Pardon özür dilerim, yorumlarda metal dedektör linkini vermişsiniz orada manyetik anahtarı gördüm, yalnız sizin sensör 3 pinli, ben 4 pinli olanlarından siparariş vereceğim fark eder mi? Teşekkürler.
Kullanabilirsin sorun olmaz.
Şu manyetik anahtar nasıl bir şey, bir görsel veya link kullansaydınız daha kolay temin etmez miydik?
potansiyometreyi nerde kullanıcaz
Ben devir ölçmek istiyorum ama buna ek olarak 50. turda röleyi kapatmam gerek yardımcı olur musunuz ?
Arduino duede hata alıyorum çözümünü bilen varmı
Bir sorum daha olacak sens değerinin karşılığı tam olarak ne acaba?
sens değeri manyetik cismin olup olmadığını anlamak için referans alınan bir değerdir. Eğer manyetik alan değeri bu değer üstünde olursa ki mıknatıs olduğunu anlayacak ve pin durumunu high yapacak. Bu sayede tekerleğin bir tur attığını anlayarak gerekli işlemleri yapacak.
sezgin bey mümkün olduğunca cevaplamaya çalıştığınız için öncelikle tebrik ve teşekkür ederim 0.0080622311 sayısının tam olarak nerden geldiğini açıklayabilirmisiniz acaba ve sanki 3.6 ile çarptımızda ortaya çıkan sayı sanırım çok küçük kilometre hızı olarak acaba matematiksel izahı tam olarak nedir.
oradaki sabit değer rpm ile yani dakikadaki tur sayısı ile çarpılıp mph değerini verir. Yani o değer tekerleğin çevresinin mil cinsinden olan değerinden gelen bir hesaplamadır.
bu mil cinsinden olan değer her bisiklette değişikliklik göstermezmi peki
mıknatısı bağladıktan sonra karşısına gelen şey reed role mi yoksa reed role kartı mı ?
iyi çalışmalar
manyetik anahtar gelecek aynı şey dediğin.
Peki başka bir sistemde bunu kullandığımda yani tekerlek yerine başka bir nesne kullandığımda çap ın değişmesi hızı etkiler mi
devir sayısını etkilemez fakat aldığı yolu etkiler.
öncelikle verdiğiniz cevaplar ve projeyi ayrıntılı bir şekilde paylaştığınız için teşekkür ediyorum. Yanlı bana çapı farklı olan bir nesne konduğunda devir etkilenip aldığı yol etkilenmez gibi geldi. Mesela yarı çapı yarıya indirirsek hızı 2 katı okuyup alınan yol değişmez gibi geldi.
şöyle düşün aynı devire sahip iki farklı çapta tekerleğin aldığı yol farklı olur. çünkü aynı tur sayısında olacağından tekerleklerin çevresi farklı olduğu için birisi daha çok yol kat edecektir. hız ve devir birbiriyle tabiki de ilişkilidir.
İyi günler manyetik kart yerine encoder kullansam neleri değiştirmem gerekiyor
manyetik encoder kullanırsanız sistemi değiştirmenize gerek kalmaz aynı şekilde bağlantıları yapıp çalıştırabilirsiniz.
hız devir ölçer yazılımı ile diğer açık yazılımı nasıl kullanıcaz ?
Sorunuzu anlayamadım ?
merhabalar. teker yarıçapını nerden değiştirebiliriz ?
hız ve devir ölçme işlemi tekerlek çapından yapılmıyor. burada cant üzerindeki magnet her bir turda manyetik sensörün önünden geçip röleyi açıp kapatıyor ve bu açıp kapama sayısına göre hesaplanıyor. Aldığın yolu hesaplamak istiyorsan koda tekerleğin çevresini gir ve devir ile çarptığında aldığın yolu verecektir.
hızlı cevabınız için teşekkür ederim. bir sorum daha olacaktı bu programdaki hız ölçme işlemi matematiksel olarak nasıl biraz açıklayabilirmisiniz. biz bunu okula proje olarak yaptık o yüzden açıklamamız lazım matematiksel olarak nasıl hesapladığını. programı okumayı da bilmediğimiz için anlayamadık ordaki hesaplamayı.biraz açıklarsanız sevinirim.
magnet sensörün önünden her geçişinde buton görevinde açılıp kapanır. Geçtiği sayı rpm ve rps ye yani saniyedeki ve dakikadaki tur sayısını hesaplamada kullanılır. Daha sonra rps değeri mph değerini yani saatteki hıza çevirmek için rps mph ilişkisinden hesaplanır. 1 mph = 0.44704 m / s olduğuna göre ölçülen mph değerini m/S cinsinden de hesaplayabilirsiniz.
merhabalar .öncelikle paylaşımınız için teşekkür ederim. ben devreyi reed anahtar ile kurdum yalnız şemadakş gibi kurunca ekrandaki yazıyı siliyor. reed anahtarın bağlantısını nasıl yapabilirim.
sinyal pinini analog 0 pinine tak vcc 5v gnd yi gnd ye takman yeterlidir
Merhabalar. Manyetik anahtar olarak kullandıgınız malzemenin nasıl bir sey oldugunu resim olarak gösterirmisiniz.
Bu projedeki manyetik sensörü kullanabilirsin http://www.robimek.com/arduino-ile-manyetik-dedektor-yapimi/
Rica ederim takıldığınızı noktada çekinmeden sorabilirsiniz iyi çalışmalar
Bir sorum daha olucaktı. Devreyi kurdum lcd üzerinde yazılar gözüküyor ve tüm değerler sıfır gözüküyor. Ben reed manyetik anahtar kullandım. Anahtarın önünden mıknatısı geçirince lcd üzerinde herhangi bir değer oynaması olmadı. Ayrıca reed röle kartında 3 bacak var reed manyetik anahtarda ise 2 bacak var .
ikiside aynı şeyler 3 bacak olanın biri sinyal diğerleri artı eksi. 2 bacak olanlarda birisi gnd diğeri sinyal pini. Reed manyetik anahtar kullandıysanız sinyal pinini analog 0 pinine artı ucu 5v ve eksiyi gndye bağlamanız gerekir
Merhaba tekerleğin çapı önemli mi? Farklı tekerlekler olabilir. Eğer çap önemli ise bisikletin tekerleğinin çapını hangi sensörle bulabiliriz
Proje için çok teşekkür ederim. Fotodan devre tam olarak anlaşılmıyor. Sizden ricam bu projeyi bana pdf dosyası olarak mail adresinden atabilirmisiniz acaba ?
7kardesmehmet@gmail.com mail adresim
Pdf olarak devre şemamız malesef mevcut değil.
Sadece devre şemasının olduğu resim mevcut mu acaba? Sayfadaki şema tam olarak okunmuyor ne yazık ki bende.
Buradan bakabilirsiniz http://www.robimek.com/wp-content/uploads/devirolcerdevre.jpg
Çok teşekkür ederim. İyi çalışmalar.
teşekkür ederim,iyi çalışmalar…
Rica ederim iyi çalışmalar size de
manyetik anahtar olarak ne kullandığınızı öğrenebilir miyim
Reed Röle Kartı kullanıldı.
Bir sorum daha olacak, bozuk para geçişinde bu sensör aynı şekilde görür mü…bir sistemdeki bozuk paranın hızını kontrol etmek için kullanılabilir mi ,bilgilendirirseniz çok memnun olurum
bozuk para manyetik özellik göstermesi gerekmektedir. Ayrıca metalik olan malzemeler az da olsa manyetik bir etki gösterebilirler. Bu sensör için uygun olmayabilir. Hız kontrolünü lazer ile yapabilirsiniz.
Sizden bir ricam var ,ben km/h ölçmek istiyorum kodda nasıl bir değişiklik yapmam gerekiyor acaba?
1m/s = 3.6 km/h yapıyor.Buna göre Serial.print(rpm*0.0080622311*0.44704); ifadesini Serial.print(3.6*rpm*0.0080622311*0.44704); şeklinde yaparsanız km/h cinsinden okursunuz.Bir de LCDPrint() tanımlamasınıdaki aynı kısmı değiştirmen gerekecek.
Biraz uğraştırsada yaptım gayet güzel çalışıyor,fakat yapacak arkadaşlar kodlarda görünen quot yazı dizisi aslında bir karaktere (“) eşdeğer,düzeltilmiş kodları paylaşıyorum izninizle
int val;
long last=0;
int stat=LOW;
int stat2;
int contar=0;
int displayrpm;
int sens=75;
int nPalas=1;
int milisegundos=500;
#include
LiquidCrystal lcd(12,11,5,4,3,2);
void setup()
{
Serial.begin(9600);
pinMode(13,OUTPUT);
lcd.begin(16,2);
}
void loop()
{
val=analogRead(0);
if(val=milisegundos){
double rps=((double)contar/nPalas)/2.0*1000.0/milisegundos;
double rpm=((double)contar/nPalas)/2.0*60000.0/(milisegundos);
displayrpm=rpm;
displayrpm=rps;
Serial.print((contar/2.0));
Serial.print(“;RPS”);
Serial.print(rps);
Serial.print(“RPM”);
Serial.print(rpm);
Serial.print(“;VAL”);
Serial.println(val);
contar=0;
last=millis();
Serial.print(“HIZ(m/s)”);
Serial.print(rpm*0.0080622311*0.44704);
LCDPrint();
}
}
void LCDPrint()
{
lcd.clear();
lcd.setCursor(0,0);
lcd.print(“HIZ(m/s)”);
lcd.setCursor(0,1);
lcd.print(displayrpm*0.0080622311*0.44704);
lcd.setCursor(10,0);
lcd.print(“RPM”);
lcd.setCursor(10,1);
lcd.print(displayrpm);
return;
}
Yapmanız güzel tebrikler.O kısımlar sayfaya atınca öğle görünüyor.Kodu dosya halinde atmaya çalışacağım.Siz de şuan attığınız kodda tırnaklar yanlış görünüyor.
Yazılım dosyası eklendi.
Tekrar merhaba hızlı cevabınız için teşekkürler,demek istediğim videonun 7. sn sinde ekranda sadece speed 20.58 mph yazarken fotodaki ekranda hem hız hemde devir bölümleri var onu merak etmiştim,lcd ekran modeline gelince elimde linkte verdiğim ekran var bunu kullanabilir miyim?lcd ekranları hep picli devrelerde kullanıyordum ,Ardu da lcd kullanmadığım için kararsız kaldım.
direnc.net/2×16-Lcd-Display-TC1602B-Mavi,PR-18311.html
Rica ederim.Proje videosundakine ek olarak devirölçer de eklendi.Linktekini kullanabilirsiniz
Merhaba ,öncelikle faydalı paylaşımlarınız için çok teşekkür ederim,bu projede videodaki lcd ekran görüntüsü ile alt kısımdaki lcd ekran görüntüsü farklı birde şemada lcd ekran pin bağlantı numaralarını nerden bulabilirim acaba
Rica ederim.Lcd rengine takılmayın.Lcd bağlantı şemasını ekledim.Lcd datasheetlere bakarsanız orda çıkış pinlerini görürsünüz.
bize hız ölcer devre lazım örneği varmı
sizde