İçindekiler:

Diferansiyel Geri Beslemeli Basit Arduino Tabanlı Ergometre Ekranı: 7 Adım (Resimlerle)
Diferansiyel Geri Beslemeli Basit Arduino Tabanlı Ergometre Ekranı: 7 Adım (Resimlerle)

Video: Diferansiyel Geri Beslemeli Basit Arduino Tabanlı Ergometre Ekranı: 7 Adım (Resimlerle)

Video: Diferansiyel Geri Beslemeli Basit Arduino Tabanlı Ergometre Ekranı: 7 Adım (Resimlerle)
Video: ARDUİNO OPTA PRO | MÜHENDİSLER İÇİN !!! 2024, Kasım
Anonim
Diferansiyel Geri Beslemeli Basit Arduino Tabanlı Ergometre Ekranı
Diferansiyel Geri Beslemeli Basit Arduino Tabanlı Ergometre Ekranı
Diferansiyel Geri Beslemeli Basit Arduino Tabanlı Ergometre Ekranı
Diferansiyel Geri Beslemeli Basit Arduino Tabanlı Ergometre Ekranı
Diferansiyel Geri Beslemeli Basit Arduino Tabanlı Ergometre Ekranı
Diferansiyel Geri Beslemeli Basit Arduino Tabanlı Ergometre Ekranı

Kardiyo egzersizi, özellikle iç mekanda egzersiz yaparken sıkıcıdır. Mevcut birkaç proje, ergometreyi bir oyun konsoluna bağlamak veya hatta VR'de gerçek bir bisiklet yolculuğunu simüle etmek gibi harika şeyler yaparak bunu hafifletmeye çalışıyor. Bunlar heyecan verici olsalar da teknik olarak pek yardımcı olmuyorlar: Antrenman hala sıkıcı. Bunun yerine, antrenman sırasında sadece kitap okuyabilmek veya TV izleyebilmek istiyorum. Ancak daha sonra sabit bir hızda devam etmek zor.

Buradaki fikir, ikinci soruna odaklanmak ve mevcut eğitim seviyenizin yeterince iyi olup olmadığı veya biraz daha çaba sarf etmeniz gerekip gerekmediği konusunda doğrudan geri bildirim sağlamaktır. Bununla birlikte, "yeterince iyi" seviye sadece kişiye göre değil, aynı zamanda zamanla da değişecektir (uzun vadede, iyileştikçe, aynı zamanda bir antrenman seansı içinde: örneğin, tam hızda gitmeniz neredeyse imkansızdır). ısındı). Bu nedenle, bu projenin arkasındaki fikir, a) önceki koşuyu ve b) en iyi koşuyu (en yüksek puan olarak da bilinir) kaydetmek ve ardından o koşulara kıyasla şu anda ne kadar ilerlediğiniz konusunda doğrudan geri bildirim sağlamaktır.

Bu biraz soyut geliyorsa, tamamlanmış ekranın ne göstereceğine ilişkin ayrıntılar için 7. Adıma geçin

Bu projenin bir diğer amacı, işleri gerçekten basit ve ucuz tutmaktır. Parçalarınızı nereden sipariş ettiğinize bağlı olarak, bu projeyi yaklaşık 5 $ 'a (veya premium yerli satıcılardan sipariş verirken yaklaşık 30 $'a) tamamlayabilirsiniz ve daha önce Arduino ortamıyla oynadıysanız, zaten oldukça iyi bir şansınız var. ihtiyacınız olan parçaların çoğuna veya tümüne sahip olun.

Adım 1: Parça Listesi

Parça listesi
Parça listesi

İhtiyacınız olan şeylerin listesini gözden geçirelim:

Arduino uyumlu bir mikroişlemci

Son birkaç yılda satılan Arduino'nun hemen hemen hepsi yapacak. Kesin varyant (Uno / Nano / Pro Mini, 8 veya 16 MHz, 3.3. veya 5V) önemli değil. Ancak ATMEGA328 veya daha iyi bir işlemciye ihtiyacınız olacak çünkü neredeyse 2k RAM ve 1k EEPROM kullanacağız. Arduino dünyasının giriş ve çıkışlarına aşina iseniz, en ucuz ve en verimli pil olacağı için 3.3V'da bir Pro Mini kullanmanızı öneririm. Arduino'da (nispeten) yeniyseniz, daha küçük ve daha ucuz bir pakette "Uno" ile aynı işlevselliği sağladığı için bir "Nano" öneririm.

Bu talimatın size temel bilgilerden bahsetmeyeceğini unutmayın. En azından Arduino yazılımının kurulu olması ve Arduino'nuzu nasıl bağlayacağınızı ve bir çizim yükleyeceğinizi bilmelisiniz. Ne hakkında konuştuğum hakkında hiçbir fikriniz yoksa, önce bu iki kolay öğreticiyi okuyun: Birincisi, ikincisi.

128*64 piksel SSD1306 OLED ekran (I2C varyantı, yani dört pin)

Bu, bugün mevcut olan en ucuz ve en kolay ekranlardan biridir. Kabul, küçük ama yeterince iyi. Tabii ki, zaten benzer veya daha iyi çözünürlüğe sahip bir ekranınız varsa, bunun yerine bunu kullanmak mümkün olacaktır, ancak bu talimat bir SSD1306 için yazılmıştır.

  • Prototipinizi oluşturmak için bir "lehimsiz devre tahtası" ve bir miktar atlama teli
  • 100nF seramik kapasitör (gerekli olabilir veya olmayabilir; 4. Adıma bakın)
  • Ya bazı kros klipsleri ya da bir mıknatıs, bir küçük indükleme anahtarı ve bir kablo (bkz. Adım 4)
  • Her biri bir kırmızı ve bir yeşil LED (isteğe bağlı; bkz. Adım 5)
  • İki 220Ohm direnç (LED'ler kullanılıyorsa)
  • Bir buton (ayrıca isteğe bağlı)
  • Uygun bir pil (bkz. Adım 6)

2. Adım: Ekranı Bağlama

Ekranı Bağlama
Ekranı Bağlama

İlk olarak, ekranı Arduino'ya bağlayacağız. Ayrıntılı talimatlar mevcuttur. Ancak, SSD1306'nın bağlanması gerçekten çok kolay:

  1. Ekran VCC -> Arduino 3.3V veya 5V (ikisi de olur)
  2. Ekran Gnd -> Arduino Gnd
  3. Ekran SCL -> Arduino A5
  4. Ekran SCA -> Arduino A4

Ardından, Arduino ortamınızda Sketch->Include library->Manage Library'ye gidin ve "Adafruit SSD1306"yı kurun. Ne yazık ki, 128*64 piksel varyantı için yapılandırmak için kitaplığı düzenlemeniz gerekecek: arduino "libraries" klasörünüzü bulun ve "Adafruit_SSD1306/Adafruit_SSD1306.h" dosyasını düzenleyin. "#define SSD1306_128_32" ifadesini arayın, bu satırı devre dışı bırakın ve bunun yerine "#define SSD1306_128_64" öğesini etkinleştirin.

Bu noktada, ekranınızın doğru bağlandığını test etmek için Dosya->Örnekler->Adafruit SSD1306->ssd1306_128x64_i2c'yi yüklemelisiniz. I2C adresini ayarlamanız gerekebileceğini unutmayın. 0x3C en yaygın değer olarak görünmektedir.

Sorun olması durumunda, daha ayrıntılı talimatlara bakın.

3. Adım: Krokiyi Yükleyin

Şimdiye kadar her şey işe yaradıysa, şimdi gerçek taslağı Arduino'nuza yükleme zamanı. Krokinin bir kopyasını aşağıda bulacaksınız. Potansiyel olarak daha yeni bir sürüm için github proje sayfasına bakın. (Bu tek dosyalı bir taslak olduğundan, erogmetrino.ino dosyasını Arduino pencerenize kopyalamanız yeterlidir).

Bir önceki adımda I2C adresini değiştirmek zorunda kaldıysanız, aynı ayarlamayı şimdi "display.begin" ile başlayan satırda tekrar yapmanız gerekecektir.

Yüklemeden sonra, ekranınızda bazı sıfırların göründüğünü görmelisiniz. Diğer her şey bağlandıktan sonra, ekranın çeşitli bölümlerinin anlamına bakacağız.

Çizim ilk önce EEPROM'da saklanan tüm verileri sıfırlayacağından, ilk başlatmada ekranın aydınlanmasının oldukça yavaş olacağını (yaklaşık on saniye kadar sürebileceğini) unutmayın.

Adım 4: Ergometrenin Bağlanması

Ergometrenin Bağlanması
Ergometrenin Bağlanması

Tüm ergometreler aynı olmadığı için bu adım gerçekten evrensel olarak tanımlanamaz. Ancak, hepsi de farklı değil. Ergometreniz elektronik hız göstergesi içeriyorsa, pedalların veya bazı (muhtemelen dahili) volanların dönüşlerini bir yerde algılamak için elektronik bir sensöre sahip olmalıdır. Çoğu durumda, bu sadece bir manyetik anahtarın yakınından geçen bir mıknatıstan oluşacaktır (ayrıca aşağıya bakınız). Mıknatıs her geçtiğinde, anahtar kapanacak ve hız göstergesine bir dönüş sinyali verecektir.

Yapmanız gereken ilk şey, gelen kablolar için ergometrenizdeki hız göstergesini incelemektir. Ergometrenin içinde bir yerden gelen iki telli bir kablo bulursanız, sensör bağlantısını neredeyse kesin olarak bulmuşsunuzdur. Ve biraz şansla, bunu basitçe çıkarabilir ve Arduino'nuza bazı croc-klipslerle bağlayabilirsiniz (bir dakika içinde hangi pinlere bağlanacağınızı söyleyeceğim).

Ancak böyle bir kablo bulamıyorsanız, doğru olanı bulup bulmadığınızdan emin değilseniz veya hiçbir şeye zarar vermeden bağlantısını kesemiyorsanız, pedallardan birine küçük bir mıknatıs bağlayabilir ve erogmetrenizin çerçevesine bir manyetik anahtar takabilirsiniz., öyle ki mıknatıs çok yakından geçecek. Anahtara iki kablo bağlayın ve bunları Arduino'nuza yönlendirin.

İki kabloyu bağlayın (kendi veya mevcut bir sensörden gelenler) Arduino Gnd'ye ve Arduino pin D2'ye gidecektir. Elinizde varsa, 100nF kapasitörünü de bir miktar "zıplama" için pin D2 ve Gnd arasına bağlayın. Bu gerekli olabilir veya olmayabilir, ancak okumaları stabilize etmeye yardımcı olur.

Bittiğinde, Arduino'nuzu çalıştırmanın ve ilk hızlı test için bisiklete binmenin zamanı geldi. Sol üstteki sayı bir hız ölçüsü göstermeye başlamalıdır. Bu işe yaramazsa, tüm kabloları kontrol edin ve mıknatısın manyetik anahtara yeterince yakın olduğundan emin olun. Hız ölçüsü sürekli olarak çok yüksek veya çok düşük görünüyorsa, çizimin üst kısmına yakın bir yerde "CM_PER_CLICK" tanımını ayarlamanız yeterlidir (not: çizim metrik adları kullanır, ancak hiçbir yerde hiçbir birim görüntülenmez veya kaydedilmez, bu yüzden bunu görmezden gelin ve tıklama başına 100.000'de bir mil sağlayın).

Adım 5: İsteğe Bağlı Hızlı Durum LED'leri

Opsiyonel Hızlı Durum LED'leri
Opsiyonel Hızlı Durum LED'leri

Bu adımda açıklanan LED'ler isteğe bağlıdır, ancak düzgündür: Egzersiz yaparken kitap okumak / TV izlemek konusunda ciddiyseniz, ekrana çok fazla bakmak istemezsiniz. Ancak farklı renklerde iki LED, çevresel görüşte kolayca fark edilebilir ve size nasıl yaptığınız hakkında kabaca bir fikir vermesi için yeterli olacaktır.

  • İlk (kırmızı) LED'i D6 pinine bağlayın (LED'in uzun ayağı Arduino'ya gider). LED'in kısa ayağını 220Ohm'luk bir dirençle Gnd'ye bağlayın. Bu LED, antrenmanın mevcut aşamasında en iyi hızınızın %10 veya daha fazla altında olduğunuzda yanacaktır. Biraz daha çaba gösterme zamanı!
  • İkinci (yeşil) LED'i tekrar Gnd'ye bir dirençle D5 pinine bağlayın. Bu LED, en iyi koşunuzun %1'inde veya üzerinde olduğunuzda yanar. Iyi gidiyorsun!

LED'lerin, önceki koşunuza kıyasla nasıl bir ücret aldığınıza veya keyfi bir ortalama hıza bağlı olarak yanmasını mı istiyorsunuz? Pekala, sadece pin D4 ve Gnd arasına bir buton bağlayın. Bu düğmeyi kullanarak "en iyi koşunuz", "önceki koşunuz" veya "geçerli hızınız" arasında geçiş yapabilirsiniz. Sol alt köşedeki küçük bir "P" veya "C" harfi, son iki modu belirtir.

Adım 6: Ergometre Ekranınıza Güç Verme

Ergometre Ekranınıza Güç Verme
Ergometre Ekranınıza Güç Verme

Ekranınızı güçlendirmenin birçok yolu var, ancak diğerlerinden daha pratik görünen iki tanesine işaret edeceğim:

  1. Arduino Uno veya Nano kullanırken, muhtemelen yerleşik düşük pil göstergesine sahip bir USB güç bankası kullanarak çalıştırmak istersiniz.
  2. Arduino Pro Mini @ 3.3V kullanırken (ileri düzey kullanıcılar için tavsiyem), bunu doğrudan tek bir LiPo pilden veya üç NiMH hücreden sağlayabilirsiniz. ATMEGA 5.5V'a kadar besleme voltajlarını tolere edeceğinden, bunu yerleşik voltaj regülatörünü atlayarak doğrudan "VCC/ACC"ye bağlayabilirsiniz. Bu kurulumda ayrıca herhangi bir ek donanım olmadan (sağ alt köşede görüntülenir) 3.4V civarında bir "düşük pil" uyarısı olacaktır. ATMEGA'nın en azından 3.0V'a kadar doğru şekilde çalışması beklenebileceğinden, bu size yeniden şarj etmeden önce eğitim ünitenizi bitirmeniz için yeterli zaman bırakmalıdır.

7. Adım: Ergometre Ekranınızı Kullanma

Ergometre Ekranınızı Kullanma
Ergometre Ekranınızı Kullanma
Ergometre Ekranınızı Kullanma
Ergometre Ekranınızı Kullanma

Ekranınızdaki çeşitli sayılara daha yakından bakalım. Sol üstteki daha büyük sayı, yalnızca mevcut hızınız ve sağ üstteki daha büyük sayı, mevcut antrenmanınızdaki toplam mesafedir.

Bir sonraki satır, antrenmanın başlangıcından bu yana (solda) ve antrenmanın başlangıcından bu yana geçen süre (sağda) ortalama hızınızdır. Bisiklet durdurulurken zamanlamanın durdurulduğunu unutmayın.

Buraya kadar önemsiz. Sağ taraftaki iki satır daha ilginç hale geliyor: Bunlar, mevcut zamanlamanızı sırasıyla önceki ve en iyi antrenmanınızla karşılaştırıyor. yani Bu çizgilerin üst kısmındaki bir "- 0:01:23", mevcut mesafenize önceki koşunuzdan 1 dakika 23 saniye önce ulaştığınız anlamına gelir. İyi. Daha düşük bir "+ 0:00:12" satırı, mevcut noktaya kadar en iyi koşunuzun 12 saniye gerisinde kaldığınız anlamına gelir. (Bu farklı zamanların %100 kesin olmayacağını unutmayın. Zaman noktaları her 0,5 km/mil'de bir kaydedilir ve bunlar arasında enterpolasyon yapılır.) Kaçınılmaz olarak, elbette, ilk çalıştırmanızda, henüz hiçbir zaman referansı kaydedilmedi ve bu nedenle yukarıdaki satırların her ikisi de sadece "--:--:--" gösterecektir.

Son olarak, ekranın sol alt bölgesi, son dakikadaki hızınızın bir grafiğini içerir. Bu, sabit mi yoksa yavaş mı gittiğinizi bir bakışta görmenizi sağlar. (Bu çizginin gerçek eğitimde çok daha yumuşak olacağını unutmayın - ancak fotoğraf çekmeye çalışırken sabit bir tempoyu sürdürmek kolay değildir…) Yatay çizgiler, önceki / şu anki noktanıza yakın elde ettiğiniz en iyi hızı gösterir. eğitimler.

Üst kısma monte edilen LED'ler, eğitimin bu aşamasında mevcut hızınızı en iyi hızınızla karşılaştırır. Yeşil, en iyi antrenmanınızın %1'inde olduğunuzu, kırmızı ise en iyi antrenmanınızdan %10'dan daha yavaş olduğunuzu gösterir. Kırmızı ışığı gördüğünüzde, biraz daha çaba göstermenin zamanı geldi. Yukarıda açıklanan diferansiyel zamanların aksine, bunların yalnızca eğitimin mevcut bölümünü ifade ettiğini unutmayın, yani mutlak zamanda geride kalmanız mümkündür, ancak yeşil, yetiştiğinizi gösterir ve bunun tersi de geçerlidir.

İki LED için kullanılan referans hız, basma düğmesi kullanılarak değiştirilebilir. Bir basış, onu en iyiden önceki kayıtlı eğitime değiştirecektir (sol altta küçük bir "P" harfi görünecektir). Başka bir basış ve düğmeye bastığınız andaki mevcut hızınız yeni referans hızı olacaktır (küçük bir "C" harfi gösterilecektir). Sonuncusu özellikle yeni ergometre ekranınızla ilk egzersiziniz sırasında, henüz herhangi bir referans kaydedilmediğinde kullanışlıdır.

Antrenmanınız bittiğinde, pili çıkarmanız yeterlidir. Eğitiminiz, Arduino'nuzun dahili EEPROM'unda zaten kaydedilmiştir.

Gördüğünüz gibi, prototipimi lehimledim. Sonucu sevdiğimin kesin işareti, kendim. Umarım sizler de faydalı bulursunuz. Mutlu egzersiz!

Önerilen: