İçindekiler:

CNC Router'a Arduino Tabanlı Optik Takometre Ekleme: 34 Adım (Resimlerle)
CNC Router'a Arduino Tabanlı Optik Takometre Ekleme: 34 Adım (Resimlerle)

Video: CNC Router'a Arduino Tabanlı Optik Takometre Ekleme: 34 Adım (Resimlerle)

Video: CNC Router'a Arduino Tabanlı Optik Takometre Ekleme: 34 Adım (Resimlerle)
Video: Patron görmesin :) 2024, Temmuz
Anonim
Image
Image
CNC Router'a Arduino Tabanlı Optik Takometre Ekleyin
CNC Router'a Arduino Tabanlı Optik Takometre Ekleyin

Bir Arduino Nano, bir IR LED/IR Fotodiyot sensörü ve bir OLED ekran ile CNC yönlendiriciniz için 30 dolardan daha düşük bir fiyata optik bir RPM göstergesi oluşturun. eletro18'in Measure RPM - Optical Tachometer Instructable'ından ilham aldım ve CNC yönlendiricime bir takometre eklemek istedim. Sensör devresini basitleştirdim, Sienci CNC router'ım için özel bir 3D baskılı braket tasarladım. Sonra bir OLED ekranda hem dijital hem de analog kadranı görüntülemek için bir Arduino taslağı yazdım.

Birkaç basit parça ve birkaç saat zamanınız ile CNC router'ınıza dijital ve analog bir RPM ekranı ekleyebilirsiniz.

İşte 2 günlük sevkiyat için mevcut olan parça listesi. Daha uzun süre beklemeye istekliyseniz, parçaları muhtemelen daha ucuza temin edebilirsiniz.

Parça listesi

$6.99 Arduino Nano

$5.99 IR LED/IR Fotodiyot (5 çift)

7,99 $ OLED ekran 0,96 sarı/mavi I2C

4,99 $ Atlama telleri

1,00 $ 30 inç (75 cm) 3 iletkenli çok telli tel. Ayaktan satın alma bölümünde yerel ev gereçleri mağazanızdan (Home Depot, Lowes) satın alınabilir

0,05 $ 220 ohm direnç (750 çeşitli direnç istiyorsanız 6,99 $)

0,50 ABD doları daralan makaron (tam bir ürün yelpazesi istiyorsanız 5,99 ABD doları)

3D Baskılı parantez

Arduino IDE (ücretsiz)

Not: Tüm kabloları sabitledikten ve CNC hareket ederken bazı düzensiz RPM değerleri fark ettikten sonra başlangıçta 0,01μF'lik bir kapasitör ekledim. Kondansatör, daha düşük RPM'ler <20K için iyi çalıştı, ancak daha yüksek herhangi bir şey için sinyali çok fazla yumuşattı. Nano'ya güç sağlamak ve doğrudan CNC kalkanından görüntülemek için gürültüyü takip ettim. Tüm RPM için ayrı bir besleme çalışır. Adımları şimdilik bıraktım, ancak ayrı bir USB güç kaynağı kullanmalısınız.

1. Adım: 3D Braketi yazdırın

3D Braketi Yazdır
3D Braketi Yazdır

IR LED ve IR Fotodiyotları tutmak için 3B desteği yazdırın. 3D dosyalar burada ve Thingiverse'de.

www.thingiverse.com/thing:2765271

Sienci Mill için, sensörü alüminyum köşebentlere monte etmek için açılı montaj kullanılır, ancak projeniz için düz montaj daha iyi olabilir.

2. Adım: İsteğe bağlı olarak OLED Ekran Tutucuyu ve Elektronik Muhafazayı 3D olarak Yazdırın

İsteğe bağlı olarak OLED Ekran Tutucuyu ve Elektronik Muhafazayı 3D Bastırın
İsteğe bağlı olarak OLED Ekran Tutucuyu ve Elektronik Muhafazayı 3D Bastırın

OLED'i bir Sienci Elektronik Muhafazasının üstüne vidaladığım açılı bir ekran tutucusuna takmayı seçiyorum.

İşte kullandığım 3D baskılı parçalara bağlantılar.

Sienci Electronics Muhafaza 3D Parçası

0.96 OLED Ekran Montaj Braketi

Muhafaza, OLED ekran braketini monte etmek için güzel bir yerdi ve Arduino Nano'yu güzel bir şekilde tutuyor, ayrıca Sienci Mill'in arkasına da uyuyor. OLED braketini takmak için kasanın üstüne birkaç delik açtım.

Ayrıca kablo demetini sıkıca takmak için küçük bir fermuarlı bağ yapmak için altta birkaç delik açtım.

3. Adım: Kızılötesi Sensör Kablo Düzeneğini Oluşturun

Kızılötesi Sensör Kablo Düzeneğini Oluşturun
Kızılötesi Sensör Kablo Düzeneğini Oluşturun

Sensörü bağlamak için 3 iletkenli kablo kullanılacaktır. Bir kablo, hem IR LED hem de IR Fotodiyot için ortak bir toprak olacaktır ve diğer ikisinin her biri kendi bileşenlerine gidecektir.

Adım 4: IR LED'i için Akım Sınırlama Direnci ekleyin

IR LED için Akım Sınırlama Direnci ekleyin
IR LED için Akım Sınırlama Direnci ekleyin

IR LED, bir akım sınırlama direnci gerektirir. En kolay yol, direnci tel tertibatına dahil etmektir.

Her birinin uçlarını U şeklinde bükün ve kenetleyin. Bir pense ile kıvırın ve sonra bunları birbirine lehimleyin.

Adım 5: Jumper Tellerini Birleştirin

Ekleme Jumper Telleri
Ekleme Jumper Telleri
Ekleme Jumper Telleri
Ekleme Jumper Telleri

Bunları Arduino başlık pinlerine bağlamak için jumper kablolarını birleştirebilirsiniz.

Bir parça ısıyla daralan makaron kesin ve bağlamadan önce telin üzerinden kaydırın.

Daralan makaronları bağlantının (veya tüm Direnç) üzerine geri kaydırın ve bir ısı tabancası kullanarak veya büzülene kadar borunun üzerinde hızlı bir şekilde alev vererek boruyu küçültün. Alev kullanıyorsanız, hızlı hareket ettirin yoksa erimeye başlayabilir.

Adım 6: IR LED ve Fotodiyot Uçlarını Belirleyin

IR LED ve Fotodiyot Uçlarını Belirleyin
IR LED ve Fotodiyot Uçlarını Belirleyin

Hem IR LED hem de IR Fotodiyot benzer görünür, her birinin uzun (anot veya pozitif) ucu ve kısa (katot veya negatif) ucu vardır.

Adım 7: Diyotları Tutucuya Yerleştirin

Diyotları Tutucuya Yerleştirin
Diyotları Tutucuya Yerleştirin

IR LED'i (şeffaf diyot) alın ve LED tutucu deliklerinden birine yerleştirin. LED'i, uzun uç dışarıda olacak şekilde çevirin. Fotoğrafta, en üstte uzun ucu ile üst delikte şeffaf LED'i görebilirsiniz.

IR fotodiyodu (karanlık diyot) alın ve diğer deliğe yerleştirin. Fotodiyodu, uzun ucu merkezde olacak şekilde döndürün.

Fotoğrafta gösterildiği gibi, LED'in kısa ucu ve fotodiyotun uzun ucu merkezde olacaktır. Bu iki uç, arduino'ya giden ortak bir kabloya eklenecektir. (Daha fazla ayrıntı istiyorsanız sondaki teknik notlara bakın)

Küçük bir 1.75 filament parçası alın ve diyotların arkasına yerleştirin. Bu, diyotları yerinde kilitleyecek ve dönmelerini veya çıkmalarını önleyecektir.

Buna karar vermeden önce birkaç tasarım yinelemesinden geçtim. Diyotların biraz dışarı çıkması, pens somunu ile hizalanırken toleransı büyük ölçüde iyileştirdi.

Adım 8: Kilitleme Filamentini Tutucuya Sigortalayın

Kilitleme Filamentini Tutucuya Sigortalayın
Kilitleme Filamentini Tutucuya Sigortalayın

Kilitlenen filament parçasını, tutucunun genişliğinden biraz daha uzun olacak şekilde kırpmak isteyeceksiniz.

Bir çiviyi mengenede veya pense ile tutarak birkaç saniye ısıtın.

Adım 9: Isıtılmış Tırnak Başına Karşı Filament Uçlarına Bastırın

Filament Uçlarını Isıtılmış Çivi Başına Bastırın
Filament Uçlarını Isıtılmış Çivi Başına Bastırın

Parmağınızı filamentin karşı ucunda tutun ve tutucudaki kilitleme pimini eritmek ve kaynaştırmak için bastırın.

Adım 10: Bitmiş Diyot Tutucu

Bitmiş Diyot Tutucu
Bitmiş Diyot Tutucu

Temiz ve temiz

Adım 11: Kablo Demetini Diyotlara Takın

Kablo Demetini Diyotlara Takın
Kablo Demetini Diyotlara Takın
Kablo Demetini Diyotlara Takın
Kablo Demetini Diyotlara Takın

Uygulamanız için kabloyu uzunlamasına kesin. Sienci Değirmeni için toplamda yaklaşık 30 inç (~75 cm) (kablo + atlama telleri) ve yönlendiricinin hareket etmesi için gevşeklik gerekir.

Tel ve kurşun uçları birbirine kenetlemek ve lehimlemeyi kolaylaştırmak için U şeklinde bükün.

Biraz ince ısıyla daralan makaron alın ve iki kısa parça ve iki biraz daha uzun parça kesin. Daha kısa parçaları dış diyot uçlarının üzerinden geçirin. Uzun parçaları iki orta ucun üzerinden geçirin.

İki farklı uzunluğa sahip olmak, ek bağlantılarını kaydırır ve daha kalın bağlantıları birbirinden kaydırır, böylece kablolama çapı azalır. Ayrıca farklı tel ek yerleri arasında herhangi bir kısa devre olmasını engeller.

Biraz daha büyük çaplı ısıyla daralan makarondan üç parça kesin ve bunları kablo demetindeki üç kablonun her birinin üzerine yerleştirin.

Kablolar üzerindeki ısıyla daralan makaronun uçları ile ekleme noktası arasında küçük bir boşluk olduğundan emin olmak önemlidir. Teller ısınacak ve ısıyla daralan makaron çok yakınsa, sonunda büzülmeye başlayacak ve potansiyel olarak eklem üzerinde kaymaları için çok küçük hale gelecektir.

Adım 12: Dirençli Telin IR LED'inin Uzun Ucuna Bağlı Olduğundan Emin Olun

Kablo demetine yerleştirilmiş akım sınırlama direncinin (220 ohm), şeffaf IR LED'in uzun (anot) ucuna bağlanması gerekir. İki ortak kabloyu bağlayan kablo toprağa bağlanacaktır, bu nedenle bu bağlantı için siyah veya çıplak kablo kullanmak isteyebilirsiniz.

Bağlantıları kalıcı hale getirmek için lehimleyin.

Adım 13: Isıyla Daralan Makarayı Daraltın

Isıyla Daralan Makarayı Küçültün
Isıyla Daralan Makarayı Küçültün

Eklemler lehimlendikten sonra, önce diyot uçlarındaki boruları küçültmek için bir kibrit veya çakmak kullanın. İlk önce, ısıyla daralan makaronları teller üzerindeki ısıdan mümkün olduğunca uzağa taşıyın.

Alev küçülürken hızlı hareket etmeye devam edin ve tüm tarafları eşit olarak almak için döndürün. Oyalanma, yoksa boru küçülmek yerine erir.

Diyot uçları küçüldükten sonra, biraz daha büyük olan ısıyla daralan makaronları tellerden eklemlerin üzerine kaydırın ve büzülmeyi tekrarlayın.

Adım 14: Montaj Bloğunun Hazırlanması

Montaj Bloğunun Hazırlanması
Montaj Bloğunun Hazırlanması

Uygulamanıza bağlı olarak uygulamanıza uygun montaj bloğunu seçin. Since Mill için, açı montaj bloğunu seçin.

Bir M2 somun ve bir M2 vida alın. Somunu vidanın ucuna çok az vidalayın.

Montaj bloğunu ters çevirin ve M2 somununun deliğe oturmasını test edin.

Somunu bir kibrit veya alevle hafifçe çıkarın ve ısıtın ve ardından hızlı bir şekilde montaj bloğunun arkasına yerleştirin.

Somunu plastik montaj bloğuna gömülü halde bırakarak vidayı sökün. Daha fazla güç için, somunu bloğa güvenli bir şekilde tutturmak için somunun kenarına bir damla süper yapıştırıcı sürün.

Adım 15: M2 Vidasının Uygun Uzunlukta Olduğundan Emin Olun

M2 Vidasının Uygun Uzunlukta Olduğundan Emin Olun
M2 Vidasının Uygun Uzunlukta Olduğundan Emin Olun

Vidanın çok uzun olmadığından veya sensörün montaj bloğuna karşı sıkmayacağından emin olun. Açı montaj bloğu için M2 vidanın 9 mm veya biraz daha kısa olduğundan emin olun.

Adım 16: Montaj Bloğunu CNC Router'a Takın

Montaj Bloğunu CNC Router'a Takın
Montaj Bloğunu CNC Router'a Takın

Sienci Mill için açı montaj bloğunu birkaç damla süper yapıştırıcı ile Z Rayının iç kısmına takın.

Adım 17: Sensörü Montaj Bloğuna Takın

Sensörü Montaj Bloğuna Takın
Sensörü Montaj Bloğuna Takın

Ayarlanabilir kolu montaj bloğuna yerleştirin

M2 vidayı bir pul ile ayarlanabilir montaj kolundaki yuvadan geçirin ve somuna vidalayın.

LED ve Fotodiyotlar yönlendirici halka somunu ile aynı hizaya gelene kadar ayarlanabilir kolu kaydırın

Vidayı sıkıştır

Adım 18: Pens Somununun Bir Tarafına Yansıtıcı Bant Ekleyin

Pens Somununun Bir Tarafına Yansıtıcı Bant Ekleyin
Pens Somununun Bir Tarafına Yansıtıcı Bant Ekleyin

Küçük bir alüminyum bant şeridi kullanın (fırın kanalları için kullanılır) ve bunu pens somununun bir yüzüne yapıştırın. Bu yansıtıcı bant, IR optik sensörünün iş milinin tek bir dönüşünü almasına izin verecektir.

Adım 19: Yansıtıcı Bandın Kenardan Bitişik Yönlere Geçmediğinden Emin Olun

Yansıtıcı Bandın Bitişik Yönlere Kenardan Geçmediğinden emin olun
Yansıtıcı Bandın Bitişik Yönlere Kenardan Geçmediğinden emin olun

Bant, pens somununun yalnızca bir tarafında olmalıdır. Bant, parmak frezeleri değiştirmek veya mil dengesini etkilemek için anahtara müdahale etmeyecek kadar ince ve hafiftir.

Adım 20: Sensör Kablosunu Z Rayının İçinden Geçirin

Sensör Kablosunu Z Rayının İçinden Geçirin
Sensör Kablosunu Z Rayının İçinden Geçirin

Alüminyum koli bandı şeritlerini kullanarak teli Z Rayının içine takın. Kurşun vidalı somun tertibatını temizlemek için bandı köşebent rayının kenarına yakın bir yerden geçirmek en iyisidir.

Adım 21: Sensörü Arduino Nano'ya Takın

Sensörü Arduino Nano'ya Takın
Sensörü Arduino Nano'ya Takın

Kabloları Arduino'ya aşağıdaki gibi bağlayın:

  • IR LED (entegre dirençli) -> Pin D3
  • IR Fotodiyot -> Pin D2
  • Ortak tel -> Pin GND

Adım 22: OLED Ekrana Atlama Kabloları Takın

OLED Ekrana Atlama Kabloları Bağlayın
OLED Ekrana Atlama Kabloları Bağlayın

4 telli bir atlama kablosu setini çıkarın

I2C arayüzü için kabloları 4 pime takın:

  • VCC
  • GND
  • SCL
  • SDA

Adım 23: OLED Ekranı Arduino'ya Bağlayın

OLED Ekranı Arduino'ya Takın
OLED Ekranı Arduino'ya Takın
OLED Ekranı Arduino'ya Takın
OLED Ekranı Arduino'ya Takın

Atlama kablolarını aşağıdaki pimlere takın. Not: Bu tellerin tümü bitişik pimlere veya aynı sırada bağlanmaz.

  • VCC -> Pin 5V
  • GND -> GND'yi sabitle
  • SCL -> Pin A5
  • SDA -> Pin A4

Adım 24: OLED Ekranı Tutucusuna Takın

OLED Ekranı Tutucusuna Takın
OLED Ekranı Tutucusuna Takın

Daha önce yazdırdığınız parantezleri kullanarak OLED ekranı tutucusuna takın

Ardından ekranı CNC çerçevesine takın.

Adım 25: Arduino Sketch'i Yüklemek için Arduino IDE'yi Hazırlayın

Arduino Sketch'i Yüklemek için Arduino IDE'yi Hazırlayın
Arduino Sketch'i Yüklemek için Arduino IDE'yi Hazırlayın

Arduino için bir programa eskiz denir. Arduinos için Entegre Geliştirme Ortamı (IDE) ücretsizdir ve sensörü algılamak ve RPM'yi görüntülemek için programı yüklemek için kullanılmalıdır.

Henüz sahip değilseniz, Arduino IDE'yi indirmek için bir bağlantı. İndirilebilir sürüm 1.8.5 veya üstünü seçin.

Adım 26: Gerekli OLED Kitaplıklarını Ekleyin

Gerekli OLED Kitaplıklarını Ekleyin
Gerekli OLED Kitaplıklarını Ekleyin

OLED ekranı çalıştırmak için Adafruit_SSD1306 kitaplığı ve Adafruit-GFX-Library olmak üzere birkaç ek kitaplığa ihtiyacınız olacak. Her iki kütüphane de ücretsiz ve sağlanan bağlantılar aracılığıyla erişilebilir. Bilgisayarınız için kitaplıkların nasıl kurulacağına ilişkin Adafruit eğitimini izleyin.

Kitaplıklar kurulduktan sonra, oluşturduğunuz herhangi bir Arduino çizimi için kullanılabilirler.

Wire.h ve Math.h kitaplıkları standarttır ve IDE kurulumunuza otomatik olarak dahil edilir.

Adım 27: Arduino'yu Bilgisayarınıza Bağlayın

Standart bir USB kablosu kullanarak Arduino Nano'yu Arduino IDE ile bilgisayarınıza bağlayın.

  1. IDE'yi başlatın
  2. Araçlar menüsünden Pano | Arduino Nano
  3. Araçlar menüsünden Bağlantı Noktası |

Artık taslağı yüklemeye, derlemeye ve Nano'ya yüklemeye hazırsınız.

Adım 28: Arduino Sketch'i İndirin

Arduino Sketch kodu ektedir ve ayrıca gelecekteki geliştirmelerin yayınlanacağı GitHub sayfamda da mevcuttur.

OpticalTachometerOledDisplay.ino dosyasını indirin ve aynı ada sahip bir çalışma dizinine yerleştirin (eksi.ino).

Arduino IDE'den Dosya | Açık…

Çalışma dizininize gidin

OpticalTachometerOledDisplay.ino.ino dosyasını açın.

Adım 29: Krokiyi Derleyin

Kroki Derlemek
Kroki Derlemek
Kroki Derlemek
Kroki Derlemek

'Kontrol Et' düğmesini tıklayın veya Çizim | Krokiyi derlemek için menüden Doğrula/Derle.

Derleme alanını altta bir durum çubuğu ile görmelisiniz. Birkaç saniye içinde "Derleme Yapıldı" mesajı ve çizimin ne kadar bellek kapladığına dair bazı istatistikler görüntülenecektir. "Düşük Bellek Kullanılabilir" mesajı hakkında endişelenmeyin, hiçbir şeyi etkilemez. Belleğin çoğu, gerçek çizimin kendisini değil, yazı tiplerini OLED ekranında çizmek için gereken GFX kitaplığı tarafından kullanılır.

Bazı hatalar görürseniz, bunlar büyük olasılıkla eksik kitaplıkların veya yapılandırma sorunlarının sonucudur. Kitaplıkların IDE için doğru dizine kopyalandığını iki kez kontrol edin.

Bu sorunu çözmezse, kitaplığın nasıl kurulacağına ilişkin talimatları kontrol edin ve yeniden deneyin.

Adım 30: Nano'ya Yükleyin

Nano'ya yükleyin
Nano'ya yükleyin

'Ok' düğmesine basın veya Çizim | Krokiyi derlemek ve yüklemek için menüden yükleyin.

Aynı 'Derleniyor..' mesajını, ardından bir 'Yükleniyor..' mesajını ve son olarak bir 'Yükleme Bitti' mesajını göreceksiniz. Arduino, Yükleme tamamlanır tamamlanmaz veya daha sonra güç verilir verilmez programı çalıştırmaya başlar.

Bu noktada, OLED ekranı, kadran sıfırdayken bir RPM: 0 ekranı ile canlanmalıdır.

Yönlendiriciyi tekrar bir araya getirdiyseniz, anahtarı açabilir ve hızı ayarlarken ekranın RPM'yi okuduğunu görebilirsiniz.

Tebrikler!

31. Adım: Özel Bir Güç Kaynağı Kullanın

Özel Bir Güç Kaynağı Kullanın
Özel Bir Güç Kaynağı Kullanın
Özel Bir Güç Kaynağı Kullanın
Özel Bir Güç Kaynağı Kullanın

NOT: Düzensiz RPM ekranlarına neden olan sinyal gürültüsünün kaynağı buydu. Güç atlama tellerine bazı filtre kapakları takmayı araştırıyorum, ancak şimdilik ayrı bir USB kablosuyla çalıştırmanız gerekecek.

Bilgisayarınıza bağlı ekranı USB kablosuyla çalıştırabilirsiniz, ancak sonunda özel bir güç kaynağı isteyeceksiniz.

Birkaç seçeneğiniz var, standart bir USB duvar şarj cihazı alabilir ve Arduino'yu ondan çalıştırabilirsiniz.

Veya Arduino'yu doğrudan CNC yönlendirici elektroniğinizden çalıştırabilirsiniz. Arduino/OLED ekranı yalnızca 0,04 amper çeker, bu nedenle mevcut elektroniklerinizi aşırı yüklemeyecektir.

Arduino/CNC Router Shield elektroniğiniz varsa (Sienci Mill gibi), gerekli 5 voltluk güce erişmek için birkaç kullanılmayan pin kullanabilirsiniz.

CNC router kalkanının sol üst tarafında, 5V/GND etiketli birkaç kullanılmayan pin olduğunu görebilirsiniz. Bu iki pime bir çift atlama kablosu takın.

Adım 32: Arduino'yu Güç Jumper'larına bağlayın

Arduino'yu Güç Jumper'larına bağlayın
Arduino'yu Güç Jumper'larına bağlayın
Arduino'yu Güç Jumper'larına bağlayın
Arduino'yu Güç Jumper'larına bağlayın

Bu kolay, ama güzel etiketli değil.

Arduino Nano üzerinde kartın sonunda 6 adet pin bulunmaktadır. Etiketli değiller, ancak pim çıkış şemasını ekledim ve gösterge LED'lerine en yakın olan iki dış pimin şemada GND ve 5V olarak etiketlendiğini görebilirsiniz.

Jumper'ı CNC blendajındaki 5V pininden VIN etiketli olana en yakın pine bağlayın (VIN'e değil, 6 pinli grubun iç köşe pinine bağlayın). VIN, Nano'ya 7V-12V güç sağlamak içindir.

CNC blendajındaki GND piminden gelen jumper'ı TX1 pimine en yakın pime bağlayın.

Artık CNC router elektroniklerini açtığınızda, OLED RPM ekranı da açılacaktır.

Adım 33: Devre Üzerine Teknik Notlar

Devre Üzerine Teknik Notlar
Devre Üzerine Teknik Notlar

Sensör devresi bir IR LED/IR Fotodiyot çifti kullanır.

IR LED, herhangi bir normal LED gibi çalışır. Pozitif uç (daha uzun veya anot) pozitif voltaja bağlanır. Arduino Nano'da, YÜKSEK olarak ayarlanmış bir çıkış pinidir. Negatif uç (daha kısa veya katot) devreyi tamamlamak için toprağa bağlanır. LED'ler çok fazla akıma duyarlı olduklarından, akım miktarını sınırlamak için LED'e seri olarak küçük bir direnç yerleştirilir. Bu direnç devrenin herhangi bir yerinde olabilir, ancak negatif uç fotodiyot ile toprak bağlantısını paylaştığı için onu devrenin pozitif tarafına yerleştirmek en mantıklısıdır.

IR Fotodiyot, diğer herhangi bir diyot gibi davranır (Işık Yayan Diyot LED'leri dahil), elektriği yalnızca bir yönde ileterek zıt yönde elektriği bloke eder. Bu nedenle, LED'lerin çalışması için polaritenin doğru olması önemlidir.

Fotodiyotlarla arasındaki önemli fark, ışığı algıladıklarında, fotodiyotların elektriğin her iki yönde de akmasına izin vermesidir. Bu özellik, bir ışık dedektörü yapmak için kullanılır (bu durumda Kızılötesi ışık veya IR). IR Fotodiyot, fotodiyotun negatif ucuna bağlı Arduino pinindeki pozitif 5V ile ters polaritede (ters önyargı olarak adlandırılır) bağlanır ve pozitif uç, IR LED ile birlikte ortak bir kablo üzerinden toprağa bağlanır.

IR ışığı olmadan, IR fotodiyot elektriği bloke ederek Arduino pininin dahili pull-up direnci ile YÜKSEK durumda olmasına izin verir. IR fotodiyot IR ışığı algıladığında, elektriğin akmasına izin verir, pimi topraklar ve fotodiyot pimindeki YÜKSEK değerin toprağa doğru düşmesine neden olarak Arduino'nun algılayabileceği bir DÜŞME kenarına neden olur.

Arduino pinindeki bu durum değişikliği, eskizde devirleri saymak için kullanılır.

Pens somunundaki alüminyum bant şeridi, her zaman açık olan IR LED'den gelen IR ışığını, sensörün her dönüşünde IR fotodiyota geri yansıtır.

Adım 34: Arduino Sketch Üzerine Teknik Notlar

Arduino çizimi, OLED ekranı çalıştırır ve aynı anda IR LED/IR Fotodiyot sensörüne tepki verir.

Sketch, I2C (Inter-entegre Devre) protokolü boyunca OLED ekranını başlatır. Bu protokol, birden fazla ekranın/sensörün bir bağlantıyı paylaşmasına izin verir ve minimum kablo (4) ile belirli bir bağlı cihaza okuyabilir veya yazabilir. Bu bağlantı, Arduino ve OLED ekran arasındaki bağlantı sayısını azaltır.

Ardından, LED için gereken 5V'yi sağlayan bu pimi YÜKSEK olarak ayarlayarak IR LED'i açar.

Bir pinin durumunda bir değişiklik tespit ettiğinde çağrılan bir pine bir kesme işlevi ekler. Bu durumda, Pin 2'de bir DÜŞEN kenar algılandığında incrementRevolution() işlevi çağrılır.

Bir kesme işlevi, tam olarak ima ettiği şeyi yapar, şu anda yapılmakta olan her şeyi kesintiye uğratır, işlevi yürütür ve ardından eylemi tam olarak kesildiği yerden devam ettirir. Kesme fonksiyonları mümkün olduğu kadar kısa olmalıdır, bu durumda sadece bir sayaç değişkenine bir tane ekler. Küçük Arduino Nano, saniyede sadece 500 devir olan 30.000 RPM'lik kesintiyi kaldıracak kadar hızlı - saniyede 16 milyon devir - 16Mhz'de çalışır.

Loop() işlevi, herhangi bir Arduino çizimi için birincil eylem işlevidir. Arduino'nun gücü olduğu sürece sürekli olarak tekrar tekrar çağrılır. Geçerli saati alır, belirli bir aralığın geçip geçmediğini kontrol eder (1/4 saniye = 250 milisaniye). Eğer öyleyse, yeni RPM değerini görüntülemek için updateDisplay() işlevini çağırır.

Döngü işlevi ayrıca 1 dakika sonra ekranı karartır ve 2 dakika sonra ekranı kapatır - kodda tamamen yapılandırılabilir.

updateDisplay() işlevleri, hesaplaRpm() işlevini çağırır. Bu işlev, kesme işlevinin sürekli olarak artırdığı devir sayısını alır ve zaman aralığı başına devir oranını belirleyerek ve bunu Dakikadaki Devir sayısına tahmin ederek RPM'yi hesaplar.

Sayısal değeri görüntüler ve bir analog kadran çizmek için bazı Lise trigünü ve aynı değerleri yansıtmak için gösterge kolunu kullanır.

Farklı majör ve minör değerlere sahip bir RPM kadranı istiyorsanız, çizimin üstündeki sabitler değiştirilebilir.

Güncelleme aralığı ve ortalama aralık da değiştirilebilir.

Önerilen: