Artımsal Enkoder ile Uzunluk Ölçümü
  • Merhaba Arkadaşlar, Çalıştığım fabrikada kullandığımız şerit testere için tekerlekli encoder yaptım. Belki geliştirmek isteyen veya kullanmak isteyen olur diye aşağıda kodları paylaşıyorum. //Encoder Kütüphanesi #include <Encoder.h> //http://www.pjrc.com/teensy/arduino_libraries/Encoder.zip //Encoder Tanımı Encoder enkoder(2,4); // Kesme Pinleri //LCD Kütüphanesi #include <Wire.h> #include <LiquidCrystal_I2C.h> //https://github.com/fdebrabander/Arduino-LiquidCrystal-I2C-library //LCD Tanımı LiquidCrystal_I2C lcd(0x27, 16, 2); //Değişkenler float cap =26.4; // Enkoder Üzerindeki Şaft veya Tekerlek Çapı(mm) int pulse=1600; // Enkoder Pulse Adedi float uzunluk=0; // Uzunluk Olcumu long ilkPulse; // Enkoder Pozisyonu const float pi=3.141592; // Çevre hesabı için kullanılacak sabit void setup() { lcd.begin(); // LCD Başlatılıyor //Serial.begin(9600); // SeriPort lcd.backlight(); lcd.print("UZUNLUK OLCUMU"); // LCD Giriş Mesajı } void loop() { long sonPulse = enkoder.read(); if (sonPulse != ilkPulse) { ilkPulse = sonPulse; float cevre = cap*pi; // Çevre Hesabı float hesap = cevre/pulse; // Hesaplanan çevreyi Pulse adedine bölünüyor uzunluk = sonPulse*hesap; // Elde edilen pulse ile hesaplanan 1 pulse uzunluğunu çarpılıyor. //Serial.print(sonPulse); // Pulse Sayısı //Serial.print(" -- "); //Serial.print(uzunluk); // Milimetre cinsinden uzunluk ölçüsü //Serial.println(" mm"); lcd.clear(); // LCD Ekran Siliniyor lcd.setCursor(0,0); // Cursor Ayarlanıyor lcd.print("Pulse"); // LCD Ekrana Yazdırma lcd.setCursor(0,1); lcd.print(sonPulse); lcd.setCursor(7,0); lcd.print("Uzunluk"); lcd.setCursor(7,1); lcd.print(uzunluk)+lcd.print("mm"); } }
  • çok guzel çalışma
  • Teşekkür ederim okoman.

    Bendeki enkoder 1600 pulse olduğundan hassas ölçüm yapılabiliyor. Eğitim setlerinde olanlar 20 pulse sanırım.

    Ayrıca aynı üründen bir adet daha yapacağım. Profil veya boru üzerinde kaydırarak/sürerek delik merkezlerini hassas noktalayabilmek için.

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Açık kaynak kültürü gereği, çözdüğünüz problemlerin çözümlerini paylaşmayı lütfen unutmayın.