Daftar Isi:

Tampilan Ergometer Sederhana Berbasis Arduino Dengan Umpan Balik Diferensial: 7 Langkah (dengan Gambar)
Tampilan Ergometer Sederhana Berbasis Arduino Dengan Umpan Balik Diferensial: 7 Langkah (dengan Gambar)

Video: Tampilan Ergometer Sederhana Berbasis Arduino Dengan Umpan Balik Diferensial: 7 Langkah (dengan Gambar)

Video: Tampilan Ergometer Sederhana Berbasis Arduino Dengan Umpan Balik Diferensial: 7 Langkah (dengan Gambar)
Video: Quick Look: Using the VASA Swim Ergometer with ANT+ devices 2024, Juli
Anonim
Tampilan Ergometer Sederhana Berbasis Arduino Dengan Umpan Balik Diferensial
Tampilan Ergometer Sederhana Berbasis Arduino Dengan Umpan Balik Diferensial
Tampilan Ergometer Sederhana Berbasis Arduino Dengan Umpan Balik Diferensial
Tampilan Ergometer Sederhana Berbasis Arduino Dengan Umpan Balik Diferensial
Tampilan Ergometer Sederhana Berbasis Arduino Dengan Umpan Balik Diferensial
Tampilan Ergometer Sederhana Berbasis Arduino Dengan Umpan Balik Diferensial

Latihan kardio membosankan, terutama saat berolahraga di dalam ruangan. Beberapa proyek yang ada mencoba untuk mengatasi hal ini dengan melakukan hal-hal keren seperti memasangkan ergometer ke konsol game, atau bahkan mensimulasikan sepeda nyata di VR. Menarik karena ini, secara teknis, mereka tidak banyak membantu: Latihan masih membosankan. Jadi, sebagai gantinya, saya ingin bisa membaca buku atau menonton TV sambil berlatih. Tapi kemudian sulit untuk menjaga kecepatan tetap.

Idenya, di sini, adalah untuk fokus pada masalah terakhir, dan memberikan umpan balik langsung, apakah tingkat pelatihan Anda saat ini cukup baik, atau Anda harus berusaha lebih keras. Namun, tingkat "cukup baik" akan bervariasi tidak hanya per orang, tetapi juga dari waktu ke waktu (jangka panjang, saat Anda menjadi lebih baik, tetapi juga dalam sesi latihan: misalnya, hampir tidak mungkin untuk melaju dengan kecepatan penuh sebelum Anda dipanaskan). Oleh karena itu, ide di balik proyek ini hanyalah untuk merekam a) lari sebelumnya dan b) lari terbaik (alias highscore), dan kemudian memberikan umpan balik langsung tentang bagaimana nasib Anda saat ini dibandingkan dengan lari tersebut.

Jika itu terdengar agak abstrak, lewati ke Langkah 7 untuk detail tentang tampilan yang akan ditampilkan

Tujuan lebih lanjut dari proyek ini adalah untuk menjaga hal-hal yang benar-benar sederhana dan murah. Tergantung di mana Anda memesan suku cadang Anda, Anda dapat menyelesaikan proyek ini dengan harga sekitar $5 (atau sekitar $30 saat memesan dari penjual domestik premium), dan jika Anda pernah bermain dengan lingkungan Arduino, sebelumnya, ada kemungkinan Anda sudah memiliki sebagian besar atau semua bagian yang Anda butuhkan.

Langkah 1: Daftar Bagian

Daftar Bagian
Daftar Bagian

Mari kita lihat daftar hal-hal yang Anda butuhkan:

Mikroprosesor yang kompatibel dengan Arduino

Hampir semua Arduino yang dijual selama beberapa tahun terakhir akan berhasil. Varian yang tepat (Uno / Nano / Pro Mini, 8 atau 16 MHz, 3.3. atau 5V) tidak masalah. Namun, Anda memerlukan prosesor ATMEGA328 atau lebih baik, karena kami akan menggunakan hampir 2k RAM, dan 1k EEPROM. Jika Anda sudah familiar dengan seluk beluk dunia Arduino, saya sarankan menggunakan Pro Mini di 3.3V, karena akan termurah, dan paling hemat baterai. Jika Anda (relatif) baru mengenal Arduino, saya merekomendasikan "Nano" karena menyediakan fungsionalitas yang sama dengan "Uno" dalam paket yang lebih kecil dan lebih murah.

Perhatikan bahwa instruksi ini tidak akan mengajari Anda melalui dasar-dasarnya. Anda setidaknya harus menginstal perangkat lunak Arduino, dan tahu cara menghubungkan Arduino Anda dan mengunggah sketsa. Jika Anda tidak tahu, apa yang saya bicarakan, baca dua tutorial mudah ini, pertama: Pertama, kedua.

Layar OLED SSD1306 128*64 piksel (varian I2C, yaitu empat pin)

Ini adalah salah satu tampilan termurah dan termudah yang tersedia, hari ini. Setuju, itu kecil, tapi cukup bagus. Tentu saja, jika Anda sudah memiliki tampilan dengan resolusi yang sama atau lebih baik, Anda dapat menggunakannya sebagai gantinya, tetapi instruksi ini ditulis untuk SSD1306.

  • Sebuah "papan tempat memotong roti tanpa solder" dan beberapa kabel jumper, untuk membangun prototipe Anda
  • Kapasitor keramik 100nF (mungkin diperlukan atau tidak; lihat Langkah 4)
  • Entah beberapa klip buaya, atau magnet, saklar buluh dan beberapa kabel (lihat Langkah 4)
  • LED merah dan hijau, masing-masing (opsional; lihat Langkah 5)
  • Dua resistor 220Ohm (jika menggunakan LED)
  • Tombol tekan (juga opsional)
  • Baterai yang sesuai (lihat Langkah 6)

Langkah 2: Menghubungkan Tampilan

Menghubungkan Layar
Menghubungkan Layar

Sebagai hal pertama, kita akan menghubungkan tampilan ke Arduino. Instruksi terperinci tersedia. Namun, SSD1306 sangat mudah untuk dihubungkan:

  1. Tampilkan VCC -> Arduino 3.3V atau 5V (bisa dilakukan)
  2. Tampilan Gnd -> Arduino Gnd
  3. Tampilkan SCL -> Arduino A5
  4. Tampilan SCA -> Arduino A4

Selanjutnya, di lingkungan Arduino Anda, buka Sketch->Include library->Manage libraries, dan instal "Adafruit SSD1306". Sayangnya, Anda harus mengedit pustaka untuk mengonfigurasinya untuk varian 128*64 piksel: cari folder "libraries" arduino Anda, dan edit "Adafruit_SSD1306/Adafruit_SSD1306.h". Cari "#define SSD1306_128_32", nonaktifkan baris itu, dan aktifkan "#define SSD1306_128_64", sebagai gantinya.

Pada titik ini Anda harus memuat File->Contoh->Adafruit SSD1306->ssd1306_128x64_i2c untuk menguji apakah layar Anda terhubung dengan benar. Perhatikan bahwa Anda mungkin harus menyesuaikan alamat I2C. 0x3C tampaknya menjadi nilai yang paling umum.

Jika terjadi masalah, lihat petunjuk yang lebih rinci.

Langkah 3: Unggah Sketsa

Jika semuanya berhasil, sejauh ini, sekarang saatnya mengunggah sketsa sebenarnya ke Arduino Anda. Anda akan menemukan salinan sketsa, di bawah. Untuk versi yang berpotensi lebih baru, lihat halaman proyek github. (Karena ini adalah sketsa file tunggal, cukup salin file erogmetrino.ino ke jendela Arduino Anda).

Jika Anda harus mengubah alamat I2C pada langkah sebelumnya, Anda harus melakukan penyesuaian yang sama, sekali lagi, sekarang, di baris yang dimulai dengan "display.begin".

Setelah mengunggah, Anda akan melihat beberapa angka nol muncul di layar Anda. Kita akan melihat arti dari berbagai bagian tampilan, setelah semuanya terhubung.

Perhatikan bahwa pada permulaan pertama, tampilan akan agak lambat untuk menyala (mungkin memakan waktu hingga sekitar sepuluh detik), karena sketsa akan meniadakan data apa pun yang disimpan di EEPROM, terlebih dahulu.

Langkah 4: Menghubungkan Ergometer

Menghubungkan Ergometer
Menghubungkan Ergometer

Langkah ini tidak dapat dijelaskan secara universal, karena tidak semua ergometer sama. Namun, mereka juga tidak semuanya berbeda. Jika ergometer Anda memiliki tampilan kecepatan elektronik, ergometer harus memiliki sensor elektronik untuk mendeteksi putaran pedal, atau roda terbang (mungkin internal), di suatu tempat. Dalam banyak kasus, itu hanya akan terdiri dari magnet yang lewat di dekat sakelar buluh (lihat juga, di bawah). Setiap kali magnet lewat, sakelar akan menutup, menandakan satu putaran ke tampilan kecepatan.

Hal pertama yang harus Anda lakukan adalah memeriksa tampilan kecepatan pada ergometer Anda untuk mencari kabel yang masuk. Jika Anda menemukan kabel dua kawat datang dari dalam ergometer, Anda hampir pasti menemukan koneksi ke sensor. Dan dengan sedikit keberuntungan Anda cukup mencabut ini, dan hanya menghubungkannya ke Arduino Anda dengan beberapa klip buaya (saya akan memberi tahu Anda pin apa yang harus disambungkan dalam satu menit).

Namun, jika Anda tidak dapat menemukan kabel seperti itu, merasa tidak yakin apakah Anda menemukan kabel yang tepat, atau Anda tidak dapat melepaskannya tanpa merusak apa pun, Anda cukup menempelkan magnet kecil ke salah satu pedal, dan memasang sakelar buluh ke rangka erogmeter Anda., sehingga magnet akan melewatinya dengan sangat dekat. Hubungkan dua kabel ke sakelar dan arahkan ke Arduino Anda.

Hubungkan kedua kabel (apakah milik Anda sendiri, atau yang dari sensor yang ada) akan masuk ke Arduino Gnd, dan pin Arduino D2. Jika Anda memilikinya, sambungkan juga kapasitor 100nF antara pin D2 dan Gnd untuk beberapa "debouncing". Ini mungkin diperlukan atau tidak, tetapi membantu menstabilkan pembacaan.

Setelah selesai, saatnya untuk menyalakan Arduino Anda, dan naik sepeda untuk tes cepat pertama. Angka kiri atas harus mulai menunjukkan ukuran kecepatan. Jika ini tidak berhasil, periksa semua kabel, dan pastikan magnet cukup dekat dengan sakelar buluh. Jika ukuran kecepatan tampak terlalu tinggi atau terlalu rendah secara konsisten, cukup sesuaikan definisi "CM_PER_CLICK" di dekat bagian atas sketsa (catatan: sketsa menggunakan nama metrik, tetapi tidak ada unit yang ditampilkan atau disimpan, di mana pun, jadi abaikan saja, dan menyediakan 100.000 mil per klik).

Langkah 5: LED Status Cepat Opsional

LED Status Cepat Opsional
LED Status Cepat Opsional

LED yang dijelaskan dalam langkah ini bersifat opsional, tetapi rapi: Jika Anda serius membaca buku / menonton TV sambil berolahraga, Anda tidak ingin terlalu banyak menatap layar. Tetapi dua LED dalam warna yang berbeda akan mudah terlihat dalam penglihatan tepi, dan akan cukup untuk memberi Anda gambaran kasar, tentang apa yang Anda lakukan.

  • Hubungkan LED pertama (merah) ke pin D6 (kaki LED yang lebih panjang menuju ke Arduino). Hubungkan kaki pendek LED ke Gnd melalui resistor 220Ohms. LED ini akan menyala, ketika Anda 10% atau lebih di bawah kecepatan terbaik Anda dalam fase pelatihan saat ini. Saatnya untuk lebih berusaha!
  • Hubungkan LED kedua (hijau) ke pin D5, sekali lagi dengan resistor ke Gnd. LED ini akan menyala, ketika Anda berada dalam 1%, atau di atas lari terbaik Anda. Anda baik-baik saja!

Anda ingin LED menyala tergantung pada kecepatan Anda dibandingkan dengan lari Anda sebelumnya, atau kecepatan rata-rata yang berubah-ubah? Nah, tinggal sambungkan tombol tekan antara pin D4 dan Gnd. Dengan menggunakan tombol itu, Anda dapat mengganti referensi antara "lari terbaik Anda", "lari Anda sebelumnya", atau "kecepatan Anda saat ini". Huruf kecil "P", atau "C" di sudut kiri bawah akan menandakan dua mode terakhir.

Langkah 6: Menghidupkan Tampilan Ergometer Anda

Menghidupkan Tampilan Ergometer Anda
Menghidupkan Tampilan Ergometer Anda

Ada banyak cara untuk memperkuat tampilan Anda, tetapi saya akan menunjukkan dua yang tampaknya lebih praktis daripada yang lain:

  1. Saat menggunakan Arduino Uno atau Nano, Anda mungkin ingin menyalakannya menggunakan bank daya USB dengan indikasi baterai lemah bawaan.
  2. Saat menggunakan Arduino Pro Mini @ 3.3V (rekomendasi saya untuk pengguna tingkat lanjut), Anda dapat menyalakannya langsung dari satu baterai LiPo, atau tiga sel NiMH. Karena ATMEGA akan mentolerir tegangan suplai hingga 5,5V, Anda dapat menghubungkannya ke "VCC/ACC", secara langsung, melewati regulator tegangan terpasang. Dalam pengaturan ini, juga akan ada peringatan "baterai lemah" di sekitar 3.4V, tanpa perangkat keras tambahan (ditampilkan di sudut kanan bawah). Karena ATMEGA dapat diharapkan bekerja dengan benar, setidaknya hingga 3.0V atau lebih, itu akan memberi Anda cukup waktu untuk menyelesaikan unit pelatihan Anda sebelum mengisi ulang.

Langkah 7: Menggunakan Tampilan Ergometer Anda

Menggunakan Tampilan Ergometer Anda
Menggunakan Tampilan Ergometer Anda
Menggunakan Tampilan Ergometer Anda
Menggunakan Tampilan Ergometer Anda

Mari kita lihat lebih dekat berbagai angka di layar Anda. Jumlah yang lebih besar dari kiri atas hanyalah kecepatan Anda saat ini, dan angka yang lebih besar di kanan atas adalah total jarak dalam latihan Anda saat ini.

Baris berikutnya adalah kecepatan rata-rata Anda sejak awal latihan (kiri), dan waktu sejak awal latihan (kanan). Perhatikan bahwa waktu berhenti saat sepeda berhenti.

Sejauh ini sangat sepele. Dua baris lebih lanjut di sisi kanan adalah tempat yang menarik: Ini membandingkan waktu Anda saat ini dengan pelatihan Anda sebelumnya dan terbaik, masing-masing. Yaitu. "- 0:01:23" di bagian atas garis ini berarti Anda telah mencapai jarak Anda saat ini 1 menit dan 23 detik lebih awal dari lari Anda sebelumnya. Bagus. Garis bawah "+ 0:00:12" akan berarti bahwa hingga saat ini, Anda tertinggal 12 detik di belakang lari terbaik Anda. (Perhatikan bahwa waktu diferensial ini tidak akan tepat 100%. Titik waktu disimpan setiap 0,5 km / mil, dan diinterpolasi di antaranya.) Tentu saja, pada putaran pertama Anda, belum ada referensi waktu yang dicatat, dan jadi kedua baris di atas hanya akan menampilkan "--:--:--".

Terakhir, bagian kiri bawah layar berisi grafik kecepatan Anda selama menit terakhir. Hal ini memungkinkan Anda untuk melihat sekilas, apakah Anda akan stabil, atau melambat. (Perhatikan bahwa garis ini akan jauh lebih halus dalam latihan nyata - tetapi tidak mudah untuk mempertahankan kecepatan tetap saat mencoba mengambil gambar…) Garis horizontal menunjukkan kecepatan sebelumnya / terbaik yang Anda capai di dekat titik saat ini dari sebelumnya pelatihan.

LED yang dipasang di dekat bagian atas membandingkan kecepatan Anda saat ini dengan kecepatan terbaik Anda selama fase pelatihan ini. Hijau menunjukkan Anda berada dalam 1% dari yang terbaik, merah menunjukkan Anda lebih dari 10% lebih lambat dari latihan terbaik Anda. Ketika Anda melihat lampu merah, saatnya untuk lebih berusaha. Perhatikan bahwa bertentangan dengan waktu diferensial yang dijelaskan di atas, ini hanya mengacu pada bagian pelatihan saat ini, yaitu mungkin Anda tertinggal dalam waktu absolut, tetapi warna hijau menunjukkan bahwa Anda mengejar ketertinggalan, dan sebaliknya.

Kecepatan referensi yang digunakan untuk dua LED dapat diubah menggunakan tombol tekan. Satu tekan akan mengubahnya dari pelatihan terbaik ke rekaman sebelumnya (huruf kecil "P" akan muncul di kiri bawah). Tekan lain dan kecepatan Anda saat ini pada saat tombol ditekan akan menjadi kecepatan referensi baru (huruf kecil "C" akan ditampilkan). Yang terakhir ini sangat berguna selama latihan pertama Anda dengan tampilan ergometer baru Anda, ketika belum ada referensi yang direkam.

Setelah selesai dengan pelatihan Anda, lepaskan baterai. Pelatihan Anda telah disimpan di EEPROM internal Arduino Anda.

Seperti yang Anda lihat, saya akhirnya menyolder prototipe saya. Tanda pasti bahwa saya menyukai hasilnya, saya sendiri. Saya harap Anda akan merasa berguna juga. Selamat berolahraga!

Direkomendasikan: