Isi kandungan:
- Langkah 1: Bahan
- Langkah 2: Pembinaan Arduino
- Langkah 3: Pengekodan Arduino
- Langkah 4: Pilihan: Skrin LCD
- Langkah 5: Bahagian Bercetak
- Langkah 6: Penempatan
Video: Motor Stepper terkawal cahaya + pendakap / pendirian dinding: 6 langkah
2024 Pengarang: John Day | [email protected]. Diubah suai terakhir: 2024-01-30 11:10
Dudukan ini digunakan untuk menempatkan motor stepper terkawal Arduino, yang dirancang untuk mengawal tirai secara automatik sesuai dengan tingkat cahaya di dalam bilik. Anda juga dapat menambahkan layar LCD untuk mencetak tahap cahaya. Gear 3D hanya untuk demonstrasi, gear sebenar mungkin diperlukan untuk aplikasi praktikal seperti tirai tetapi juga aplikasi lain yang dapat anda fikirkan.
Langkah 1: Bahan
Untuk memulakan projek ini, anda memerlukan;
- 2 set cip Arduino- Perisai motor Arduino- Skrin LCD Arduino- 1 Breadboard- 1 Motor Stepper dwi-polar- 1 D bateri- 1 Perintang Bergantung Cahaya - 1 Perintang 10k Ω- 10 wayar Lelaki-lelaki- 6 Lelaki- wayar wanita- Akses ke pencetak 3D
Langkah 2: Pembinaan Arduino
Bariskan perisai motor pertama dengan pin Arduino dan setelah mereka berbaris, letakkan dengan kuat. Seterusnya pasangkan wayar motor stepper ke dalam pin 8, 9, 10 dan 11 pelindung motor. Selepas itu sambungkan bateri D di slot seperti yang ditunjukkan dalam rajah. Seterusnya anda ingin mendapatkan 6 wayar (lelaki ke wanita) untuk skrin LCD dan pasangkannya ke unit Arduino yang lain seperti yang ditunjukkan dalam rajah litar. Kemudian siapkan LDR seperti yang ditunjukkan di atas, dengan perintang menyambung ke baris negatif. Semasa menambahkan LDR, di sisi dengan perintang, tambahkan sambungan A0 dan di seberang, tambahkan 1 input 5V untuk setiap papan yang anda gunakan, jadi jika anda menggunakan 2 papan, anda mahu masing-masing mempunyai pin 5V dan A0 ke LDR.
Sambungkan semua wayar sehingga sama dengan rajah-2 Input ke LDR- 2 Output dari LDR dan perintang yang menyambung ke ground- 8 wayar ke LCD, 1 5V, 1 Ground dan 6 input- 4 wayar yang menyambung ke stepper- 2 sambungan ke bateri- Landasan papan roti harus disambungkan
Langkah 3: Pengekodan Arduino
Berikut adalah beberapa contoh kod untuk menukar status gear berdasarkan LDR
Ini adalah kod yang membolehkan projek mengawal tirai secara automatik. Foto di atas menerangkan jalan yang berbeza melalui penyataan IF bersarang dari segi tirai naik, turun atau tinggal di mana ia berada. (klik pada gambar untuk melihatnya sepenuhnya kerana terdapat masalah pemformatan)
# defineLDRA0 // Mendefinisikan pemboleh ubah "LDR" hingga A0 pin # termasuk
constintstepsPerRevolution = 200; // Apabila motor stepper diaktifkan, putaran penuhnya sama dengan 200 langkah
SteppermyStepper (stepPerRevolution, 8, 9, 10, 11); // Mendefinisikan input ke stepper sebagai pin 8, 9, 10, 11
voidsetup () {myStepper.setSpeed (60); // Menetapkan seberapa pantas motor melakukan rotationpinMode (LDR, INPUT); // Mendefinisikan pemboleh ubah "LDR" sebagai input Serial.begin (9600); // Memulakan bacaan bersiri }
voidloop () {intlightlevel = analogRead (LDR); // Mendefinisikan pemboleh ubah "lightlevel" sebagai tindakan yang membaca nilai "LDR" Serial.print ("Light Level:"); Serial.println (lightlevel); // Mencetak nilai "lightlevel" dengan kapsyen di atas
/ * Sekarang ada gelung yang mengesan tahap cahaya di setiap titik jalan * 3 pilihan tersedia, naik, turun, tetap dalam posisi yang sama * Ia dirancang supaya jika lampu tetap sama, ia akan tetap sama, jika tidak akan berubah * iaitu jika 950, kemudian pergi ke 952, tidak ada yang akan terjadi, namun jika dari 950 hingga 600 itu akan menarik tirai ke atas dan sebaliknya * Setiap langkah ditandai dengan surat di hadapan langkah untuk mengesan di mana ia berada dalam gelung melalui monitor bersiri * /
if (lightlevel> = 900) {Serial.println ("A"); // Langkah mana yang berada di loopmyStepper.step (3 * stepPerRevolution); // Stepper membuat 3 revolusi ke hadapan. Sekiranya negatif, ia akan bergerak ke belakang (30000); // Meninggalkannya selama 5 minit intlightlevel = analogRead (LDR); // Mendefinisikan "lightlevel" yang berubah-ubah sebagai bacaan terbaru dari LDRSerial.print ("Level Light:"); // Mencetak teks di hadapan pemboleh ubah Serial.println (lightlevel) // Mencetak nilai tahap cahaya
if (lightlevel> = 900) {Serial.println ("B"); myStepper.step (0); delay (10000); intlightlevel = analogRead (LDR); Serial.print ("Tahap Cahaya:"); Serial.println (tahap cahaya);
if (lightlevel> = 900) {Serial.println ("C"); myStepper.step (3 * -stepsPerRevolution); delay (500); intlightlevel = analogRead (LDR); Serial.print ("Tahap Cahaya:"); Serial.println (tahap cahaya);}
lain {Serial.println ("D"); myStepper.step (3 * -stepsPerRevolution); delay (10000); intlightlevel = analogRead (LDR); Serial.print ("Light Level:"); Serial.println (lightlevel);}}
lain {Serial.println ("E"); myStepper.step (3 * -stepsPerRevolution); delay (10000); intlightlevel = analogRead (LDR); Serial.print ("Light Level:"); Serial.println (lightlevel);
if (lightlevel> = 900) {Serial.println ("F"); myStepper.step (0); delay (500); intlightlevel = analogRead (LDR); Serial.print ("Tahap Cahaya:"); Serial.println (tahap cahaya);}
lain {Serial.println ("G"); myStepper.step (0); delay (10000); intlightlevel = analogRead (LDR); Serial.print ("Level Light:"); Serial.println (lightlevel);}}
}
lain {Serial.println ("H"); myStepper.step (0); delay (10000); intlightlevel = analogRead (LDR); Serial.print ("Light Level:"); Serial.println (lightlevel);
if (lightlevel> = 900) {Serial.println ("I"); myStepper.step (3 * stepsPerRevolution); delay (10000); intlightlevel = analogRead (LDR); Serial.print ("Tahap Cahaya:"); Serial.println (tahap cahaya);
if (lightlevel> = 900) {Serial.println ("J"); myStepper.step (3 * -stepsPerRevolution); delay (500); intlightlevel = analogRead (LDR); Serial.print ("Tahap Cahaya:"); Serial.println (tahap cahaya);}
lain {Serial.println ("K"); myStepper.step (3 * -stepsPerRevolution); delay (10000); intlightlevel = analogRead (LDR); Serial.print ("Light Level:"); Serial.println (lightlevel);
}}
lain {Serial.println ("L"); myStepper.step (0); delay (10000); intlightlevel = analogRead (LDR); Serial.print ("Light Level:"); Serial.println (lightlevel);
if (lightlevel> = 900) {Serial.println ("M"); myStepper.step (0); delay (500); intlightlevel = analogRead (LDR); Serial.print ("Tahap Cahaya:"); Serial.println (tahap cahaya);}
lain {Serial.println ("N"); myStepper.step (0); delay (10000); intlightlevel = analogRead (LDR); Serial.print ("Light Level:"); Serial.println (lightlevel);
}}
}
}
Langkah 4: Pilihan: Skrin LCD
Ini akan mencetak tahap cahaya yang dikesan oleh LDR pada layar LCD.
#sertakan
-
// Menambah perpustakaan kristal cecair dengan kod tambahan # tentukan ldr A0 // Tentukan pemboleh ubah "ldr" ke pin A0
LiquidCrystal lcd (8, 9, 4, 5, 6, 7); // mulakan perpustakaan dengan bilangan pin antara muka
voidsetup () {// kod yang berjalan sekali di startlcd.begin (16, 2); // tetapkan bilangan lajur dan baris LCD masing-masing pinMode (ldr, INPUT); // Mendefinisikan ldr sebagai pin inputSerial.begin (9600); // Memulakan komunikasi dengan monitor bersiri
}
voidloop () {// kod yang akan diulang secara berterusanSerial.println (analogRead (ldr)); // Mencetak bacaan yang diambil ldr (angka antara 0-1023) pada monitorlcd.setCursor bersiri (6, 0); // tetapkan kursor ke lajur 6, baris 0lcd.print (analogRead (ldr)); // Mencetak bacaan ini di screendelay LCD (1000); // Melambatkan arahan seterusnya selama satu saat
}
Langkah 5: Bahagian Bercetak
Gunakan fail berikut untuk mencetak dudukan dan gear. Anda boleh menyesuaikan gear untuk tujuan anda sendiri dan anda boleh menggunakan pendakap untuk memasangnya di dinding atau sebagai paparan. Oleh kerana gear 3D lemah, gear sebenar boleh digunakan sebagai pengganti asalkan sesuai dengan tirai yang akan dikendalikannya.
Sekiranya gear dicetak 3D akan digunakan, salah satu gigi gear telah ditanggalkan sehingga sekrup set dapat memasangnya ke motor.
2 kaki depan pendakap dinding juga dapat dilepaskan jika dipasang ke dinding. Mereka hanya ditambahkan sehingga ia akan berdiri ketika kami mengujinya.
Langkah 6: Penempatan
Sekarang semua bahagian sudah siap, inilah masanya untuk memulakan penempatan terakhir.
Pertama, letakkan motor stepper ke dalam kotak yang disediakan di atas pendirian dan pasangkan roda gigi di gandarSeterusnya, gerakkan wayar sehingga mereka berada di belakang pendirian Akhirnya, letakkan arduino dan bateri di belakang tempat duduk
Papan anda sekarang semestinya kelihatan seperti gambar di atas.
Tahniah!
Gear boleh digunakan untuk langsir automatik atau perkara lain yang anda mahukan dikendalikan oleh LDR.
Anda sudah selesai. Nikmati ciptaan baru anda.
Disyorkan:
Cara Merangka pendakap yang boleh dicetak 3D untuk Cedera Lengan: 8 Langkah (dengan Gambar)
Cara Merangka Pendakap Kustom, Cetak 3D untuk Cedera Lengan: Dihampiri silang di laman web saya di piper3dp.com. Secara tradisional, cetakan untuk tulang patah dibuat dari plaster yang berat, padat dan tidak bernafas. Ini boleh menimbulkan ketidakselesaan dan masalah kulit bagi pesakit semasa proses penyembuhan, seperti gatal, ruam dan
Mendapatkan Pendakap Latihan Punggung Anda: 18 Langkah
Dapatkan Punggung Latihan Punggung Anda: Adakah anda pernah merasa seperti anda tidak boleh berhenti sakit belakang semasa anda bersenam? Adakah anda selalu mendorong diri anda terlalu jauh dan menderita kerana itu? Sekiranya demikian, " Dapatkan Kembali Anda " Training Brace adalah untuk anda! Sebagai atlet sekolah menengah dan perguruan tinggi