Daftar Isi:
2025 Pengarang: John Day | [email protected]. Terakhir diubah: 2025-01-13 06:57
Ketika saya baru-baru ini berganti peran dalam perusahaan, saya pindah situs, pindah dari Bradford ke kantor pusat kami di Wakefield. Saya mengucapkan selamat tinggal pada meja lama saya yang setia dengan kipas meja yang harus ada agar saya tetap sejuk saat berada di sekitar saya ……. Bagaimanapun, tren di kantor utama kami adalah untuk kipas kecil bertenaga USB sekitar 4" hingga 6". Jadi model 6" efek kuningan antik yang bagus segera dipesan dan dikirim keesokan harinya.
Masalah dengan semua kipas, apakah mereka memiliki pengaturan kecepatan atau mode osilasi mekanis, apakah mereka hidup atau mati, dan Anda akhirnya menyalakan dan mematikannya sepanjang waktu. Sebuah percikan imajinasi, dikombinasikan dengan persyaratan untuk menaikkan monitor saya dengan 3 , dan proyek saya berikutnya lahir. Masukkan Fanomatic.
Saya telah bermain dengan Arduino selama bertahun-tahun, jadi itu adalah perhentian pertama yang logis.
Langkah 1: Daftar Belanja dan Kasing
Daftar belanja:
- 1 lembar MDF 12mm - untuk kasing
- 1 Arduino Uno - otaknya
- 1 sml papan tempat memotong roti dan kabel
- 1 DHT11 - sensor suhu dan kelembaban digital - hanya untuk sampel suhu
- Layar OLED 1,96" - untuk menampilkan variabel - kecepatan, suhu, dll
- 1 modul MOSFET IRF520 - untuk menghidupkan dan mematikan daya USB untuk kipas
- 4 Potensiometer 10k dengan kenop warna berbeda - untuk mengontrol kecepatan kipas, tepat waktu, waktu mati, titik setel suhu
- 1 saklar daya
- 1 sml cat papan tulis timah - cocok untuk MDF dengan 1 lapis
- 1 kabel usb dan 1 soket usb
Kasus:
Ukuran casing diatur oleh ukuran dasar monitor 24 saya dan sakelar KVM 4 port pada lebar 220mm dan tinggi akhir yang saya inginkan untuk mengatur monitor saya. Kedalaman cukup fleksibel, jadi saya memilih 180mm untuk memberikan banyak ruangan. Jadi 220mmx180mmx60mm adalah ukurannya. Sekarang untuk membuatnya dan mengisinya.
MDF 12mm dipotong di rumah dengan cukup mudah, sebelum direkatkan dan disekrup untuk membentuk alas dan bagian depan yang berfungsi. Bagian depan kemudian dibor agar sesuai dengan 4 10k Potensiometer dan 1 di atas sakelar on/off yang akan mengontrol daya ke Arduino dan kipas. Sebuah lubang persegi panjang dipahat untuk menahan panel akrilik abu-abu asap kecil, di belakangnya saya berencana untuk mengamankan salah satu layar OLED yang lucu itu. Di tengah jalan, saya berharap menggunakan lapisan 3mm untuk bagian depan, bukan 12mm MDF karena ada lebih banyak kayu yang dibuang daripada yang tersisa.
Setelah lubang dibor dan dipahat di bagian belakang dan samping untuk sensor suhu, soket usb dan daya usb. Beberapa lapis cat papan tulis diterapkan. Ini adalah cat yang bagus untuk mdf karena meresap dengan baik dan tidak membutuhkan lapisan bawah. Ini memberikan hasil akhir matt yang sangat tak kenal ampun, persis seperti yang saya cari.
Panci dan sakelar dipasang, akrilik asap direkatkan, dan label Dyno diproduksi untuk tampilan retro itu.
Di sebelah kontrol…
Langkah 2: Kontrol
Semua berbasis di sekitar Arduino Uno. Saya membuat roti naik ke komponen dan memulai sketsa.
Sketsa menggunakan 3 perpustakaan:
- Satu untuk menggerakkan MOSFET irf520 untuk menyalakan kipas.
- Satu untuk menggerakkan layar OLED
- Satu untuk membaca dan menerjemahkan data suhu dari DHT11
Saya akan memasukkan sketsa di sini nanti, setelah saya merapikannya sedikit, tapi harap diingatkan, saya BUKAN pembuat kode, saya mengerti prinsip pengkodean yang baik, tetapi cenderung menjadi pembuat kode yang malas. Jika saya dapat menemukan jalan keluar dari sesuatu dan itu berhasil, maka itu berhasil.
Ada beberapa situs hebat di luar sana yang menjelaskan cara menggunakannya…. dan akan menyertakan tautan ke situs terbaik (menurut saya) untuk mendapatkan yang terbaik dari masing-masing situs.
Logika:
Satu kabel usb memberikan daya ke Arduino DAN ke kipas USB. Arduino tidak dapat menjalankan kipas karena arus yang ditariknya akan merusak Arduino (sedikit dramatis sebenarnya! itu akan membuat sekering onboard tersandung). Jadi kita perlu menemukan cara menggunakan Arduino untuk menghidupkan atau mematikan daya ke kipas.
Diperlukan transistor, saya pertama kali memesan transistor Darlington, tetapi setelah membaca, mencari modul driver MOSFET irf520 dari HobbyComponents.com. Waspada Geek!! IRF520 sangat bagus untuk switching level logika (output dari pin Arduino). Tegangan yang dikirim ke perangkat menentukan resistansi MOSFET, I. E. mengirim 0 hingga 255 ke pin digital akan menggerakkan kipas (atau perangkat lain yang terhubung) dari mati ke kecepatan penuh.
Kami akan kembali ke 0 hingga 255 nanti.
Jadi kami menyalakan kipas dengan Arduino, mengapa repot-repot? Yah, kita tidak ingin itu menyala saat cuaca terlalu dingin, bukan? Jadi jika kita menambahkan sensor suhu, kita dapat menulis kode dan menguji untuk melihat apakah itu panas dan menyalakan kipas (255) atau mematikan (0). Saya memilih DHT11 karena sangat murah, mudah dikodekan dan cukup akurat untuk proyek ini.
Kembali ke bisnis 0 hingga 255 itu. Jika kita tahu bahwa sedikit kode akan menghidupkan kipas (255) jika suhu tinggi, atau mati (0) jika suhu rendah, jika kita memiliki nilai antara 0 dan 255, resistansi akan naik atau turun melintasi MOSFET dan mempercepat atau memperlambat kipas.
Masukkan potensiometer yang terhubung ke pin analog! Saat diputar, menghasilkan nilai antara 0 dan 1023. Nilai ini kemudian dapat diuji dalam kode untuk mengubah kecepatan kipas!! yapeeee.
Ada satu hal terakhir (baik, beberapa). Pustaka kontrol motor yang akan kita gunakan untuk menggerakkan driver MOSFET menerima 2 parameter, satu untuk mengatur resistansi (untuk kecepatan) dan lainnya untuk mengatur durasi. Jadi dengan parameter ajaib ini, kita bisa mengatur berapa lama kipas menyala, dan berapa lama kipas mati.
Jadi, kami memiliki 4 pot untuk mengontrol 4 variabel. Selanjutnya kita akan melihat tampilannya.
Langkah 3: Tampilan
Apakah itu MEMBUTUHKAN tampilan? Tidak juga. Jadi mengapa ia memiliki satu? Yah, karena saya ingin tampilan yang lucu untuk menunjukkan suhu saat ini, kecepatan kipas, waktu kipas, waktu mati kipas, dan titik setel suhu.
Pustaka U8G sangat brilian dalam menggerakkan layar OLED kecil ini. Butuh satu malam penelitian dan saya memahami perintah untuk mendapatkan ukuran font yang saya inginkan untuk 5 baris dan untuk menampilkan variabel menggunakan perintah u8g.print(). Keuntungan dari tampilan ini adalah bukan tampilan 2 atau 4 'baris' yang biasa digunakan oleh komunitas Arduino, jadi grafik, font semuanya sangat bisa dilakukan.
Sejujurnya, sebagian besar kode mengarahkan tampilan. jika pernyataan menentukan nilai yang akan ditampilkan, E. G. mengonversi nilai dari pot analog (0 hingga 1023) menjadi nilai untuk ditampilkan di layar. Secara keseluruhan, ada beberapa set blok pernyataan, tentukan kecepatan kipas dari pot, ubah ke nilai % untuk layar dan nilai antara 0 dan 255 untuk menggerakkan kipas.
Nah, itu akan dilakukan untuk saat ini orang-orang. Saya harap Anda menikmati angsuran pertama ini. Saya akan mengedit dan memperbarui dengan tautan dan kode. Jika ada sesuatu yang Anda ingin detail, silakan tinggalkan komentar dan tanyakan.
Langkah 4: Kode
Saya berjanji untuk mengunggah sketsa ketika saya memposting ini, 3 tahun yang lalu, dan tidak pernah melakukannya.
Jadi begini……