Matahari Buatan Arduino: Buat Bunga Matahari Pelacak Matahari
Komponen dan Perlengkapan
- Arduino UNO — 1 unit
- Sensor Cahaya RobotGeek — 1 unit
- Potensiometer Putar (generik) — 1 unit
- Seeed Base Shield V2 — 1 unit
Aplikasi dan Layanan Online
Tentang Proyek Ini
Seorang pembuat selalu sensitif terhadap hal-hal baru dan lucu. Suatu hari, saya menonton video di mana bunga matahari bergerak bersama matahari. Saya mendapat wibawa tiba-tiba. Mengapa saya tidak dapat membuat perangkat elektronik yang meniru mekanisme biologis ini.
Dalam beberapa hari berikutnya, saya mulai melakukan proyek pelacak matahari saya. Saya memilih crowtail sebagai papan mikrokontroler, dan mengambil komponen dan aksesori di gudang kami. Kemudian saya merakit bagian-bagian ini bersama-sama. Akhirnya, saya mengujinya menggunakan LED di ponsel saya. Anda tahu apa, itu bekerja sempurna.
Saya sangat bersemangat dan memposting video demo di media sosial. Saya terkejut bahwa banyak orang menyukai dan membagikan video ini, dan beberapa dari mereka bahkan mengirim pesan kepada saya mengatakan bahwa mereka juga ingin membuat proyek ini.
Jadi saya mengulangi proyek ini dan membuat tutorial khusus untuk membantu lebih banyak orang membuatnya. Mari kita mulai.
Langkah 1: Persiapan
Bahan yang kita butuhkan tercantum di bawah ini.
- Crowtail- Potensiometer Linier x 2
- Crowtail- Sensor Cahaya x 4
- Crowduino With ATMega 328 V1.1 x 1
- Crowtail- Base Shield for Arduino x 1
Langkah 2: Buat Kepala Perangkat
Pertama, kita perlu memotong dua potongan karton seperti yang ditunjukkan gambar, hanya untuk dua bagian dari satu potongan karton. Kemudian potongan karton dapat dirakit menjadi bentuk salib. Akhirnya, tempelkan tongkat dengan salib, ini akan berperan sebagai "kepala", dan selalu mengarah ke matahari. Di sisi lain, ini dapat membuat perangkat indah dan stabil.
Langkah 3: Pasang 4 Sensor Cahaya
Buat 4 lubang yang sesuai di Styrofoam untuk memasang 4 sensor, lalu gali satu lubang tengah untuk menaruh tongkat. Saya menomori sensor ini sehingga kita dapat membedakan tempat mereka yang berbeda.
Langkah 4: Hubungkan Sensor dengan Kabel
Gunakan pistol lem untuk memperbaiki tongkat pada foam, lalu colokkan kabel ke sensor.
Langkah 5: Perbaiki Tongkat pada Pan-tilt
Kami memperbaiki tongkat pada pan-tilt. Tempat duduk sensor harus konsisten dengan gambar. Sensor “1” dan sensor “2” terletak di bawah lokasi.
Pan-tilt adalah perangkat yang dirakit dengan servo 9G. Itu dapat mengontrol rotasi vertikal dan horizontal dengan 180 derajat.
Terakhir, perbaiki panel surya pada foam. (Perhatian: dua panel surya hanyalah untuk hiasan, tanpa fungsi suplai daya.)
Langkah 6: Unggah Kode
Keluarkan Crowduino dan Crowtail- Base Shield, lalu tumpuk bersama-sama. Sebelum kita mulai menghubungkan kabel pada papan dasar, kita perlu mengunggah kode program ke Crowduino, kabel micro USB diperlukan. Hubungkan Crowduino ke komputer, dan buka Arduino IDE.
Langkah 7: Hubungkan 4 Sensor ke Shield
Sekarang kita bisa mulai koneksi. Pertama hubungkan kabel sensor ke shield, dengan nomor yang sesuai satu-ke-satu seperti yang ditunjukkan dalam gambar di atas.
1-4 kabel:
Langkah 8: Hubungkan Potensiometer ke Shield
Hubungkan dua potensiometer ke soket A4 dan A5 pada shield.
Tidak ada perbedaan antara dua potensiometer, tetapi Anda harus tahu bahwa mana pun yang terhubung melalui port A4 akan berperan untuk mengontrol penundaan waktu reaksi, dan A5 untuk kecepatan rotasi servo.
Langkah 9: Hubungkan Pan-tilt ke Shield
Servo bawah (gerakan horizontal) terhubung dengan D9, dan servo atas (gerakan vertikal) terhubung dengan D10.
Langkah 10: Cara Memberi Daya
Crowduino adalah papan kontrol utama dari proyek ini. Kami dapat memberi daya pada papan ini dengan power bank USB atau adapter DC, tergantung pada Anda apakah itu akan menjadi perangkat seluler atau perangkat tetap.
Langkah 11: Coba!
Sekarang, tutup kotak. Sepertinya tidak sabar untuk mengejar sinar matahari. OK, tenang saja, sayang, mari kita lakukan tes untuk Anda sekarang.
Saya membawa ke ruang gelap, lalu membuka lampu senter ponsel, dan WOW! Lihat ini yang lucu!
Tampak sulit tetapi sebenarnya cukup sederhana, jadi cobalah! Dan Anda dapat membantu membuatnya terlihat lebih kuat dan keren!
Kode
- KODE UNTUK MATAHARI BUATAN ARDUINO
KODE UNTUK MATAHARI BUATAN ARDUINOArduino
#include <Servo.h> // include Servo library Servo horizontal; // horizontal servo int servoh = 90; // stand horizontal servo Servo vertical; // vertical servo int servov = 90; // stand vertical servo // LDR pin connections // name = analogpin; int ldrrd =0; int ldrld =1; int ldrlt = 2; int ldrrt = 3; void setup() { Serial.begin(9600); // servo connections // name.attacht(pin); horizontal.attach(9); vertical.attach(10); } void loop() { int lt = analogRead(ldrlt); // top left int rt = analogRead(ldrrt); // top right int ld = analogRead(ldrld); // down left int rd = analogRead(ldrrd); // down rigt int dtime = analogRead(4)/20; // read potentiometers int tol = analogRead(5)/4; int avt = (lt + rt) / 2; // average value top int avd = (ld + rd) / 2; // average value down int avl = (lt + ld) / 2; // average value left int avr = (rt + rd) / 2; // average value right int dvert = avt - avd; // check the diffirence of up and down int dhoriz = avl - avr;// check the diffirence og left and rigt if (-1*tol > dvert || dvert > tol) // check if the diffirence is in the tolerance else change vertical angle { if (avt > avd) { servov = ++servov; if (servov > 180) { servov = 180; } } else if (avt < avd) { servov= --servov; if (servov < 0) { servov = 0; } } vertical.write(servov); } if (-1*tol > dhoriz || dhoriz > tol) // check if the diffirence is in the tolerance else change horizontal angle { if (avl > avr) { servoh = --servoh; if (servoh < 0) { servoh = 0; } } else if (avl < avr) { servoh = ++servoh; if (servoh > 180) { servoh = 180; } } else if (avl == avr) { // nothing } horizontal.write(servoh); } delay(dtime); }
Bagian dan Kotak Pelindung Kustom
Skematik