Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Manufacturing Technology >> Proses manufaktur

Pelacak Matahari Dual-Axis dengan Kontrol Otomatis & Manual – Sistem Pelacak Matahari Efisien

Komponen dan Perlengkapan

Arduino UNO 1
Potensiometer rotasi (generik) 2
LED (generik) 2
Tombol saklar SparkFun 12mm 1
Servo (Tower Pro MG996R) 2
Photo resistor 4
Resistor 10k ohm 5
Resistor 221 ohm 2

Alat dan Mesin yang Diperlukan

Paku solder (generik)

Aplikasi dan Layanan Online

Autodesk Tinkercad
Arduino IDE

Tentang Proyek Ini

Ini adalah proyek yang diterapkan siswa saya selama klub malam 2017-2018 Young Hackers. Ini adalah proyek yang menuntut untuk siswa sekolah dasar dan memakan banyak pertemuan untuk menyelesaikannya. Ini berisi panel surya kecil 5V yang dapat berputar di dua sumbu untuk memanen daya maksimum dari matahari. Proyek ini didasari oleh Proyek Pelacak Matahari Dual Axis dari OpenSourceClassroom.

Kami ingin menerapkan dua mode dalam produk akhir.

Untuk mencapai itu kami memprogram perangkat untuk berubah antara mode dengan bantuan tombol saklar dan dua indikator LED. Saat perangkat dalam mode manual, lampu merah menyala dan kita dapat mengontrol rotasi panel di dua sumbu dengan bantuan dua potensiometer. Saat perangkat dalam mode otomatis, lampu biru menyala dan rotasi panel ditentukan oleh cahaya yang dikumpulkan dari empat LDR. Pemrograman dilakukan di Tinkercad.

Siswa bekerja dalam kelompok dalam gaya garis produksi untuk menyelesaikan tugas. (soldering kabel, isolasi kabel, memasang sekrup bagian, dll.).

Kode

Kode panel surya berputar
#include <Servo.h> //Inisialisasi variabel int mode = 0; int buttonState = 0; int prevButtonState = 0; int topLeftLight = 0; int topRightLight = 0; int bottomLeftLight = 0; int bottomRightLight = 0; int LeftLight = 0; int RightLight = 0; int TopLight = 0; int BottomLight = 0; //Deklarasi dua servo Servo servo_9; Servo servo_10; void setup() { pinMode(7, INPUT); //Tombol Mode pinMode(12, OUTPUT); //Indikator LED untuk mode manual pinMode(11, OUTPUT); //Indikator LED untuk mode otomatis pinMode(A0, INPUT); //Potensiometer untuk gerakan kanan-kiri pinMode(A1, INPUT); //Potensiometer untuk gerakan atas-bawah pinMode(A2, INPUT); //Sensor cahaya atas - kiri pinMode(A3, INPUT); //Sensor cahaya atas - kanan pinMode(A4, INPUT); //Sensor cahaya bawah - kiri pinMode(A5, INPUT); //Sensor cahaya bawah - kanan servo_9.attach(9); //Motor servo gerakan kanan - kiri servo_10.attach(10); //Motor servo gerakan atas - bawah } void loop() { buttonState = digitalRead(7); if (buttonState != prevButtonState) { if (buttonState == HIGH) { //Ubah mode dan nyalakan indikator yang benar if (mode == 1) { mode = 0; digitalWrite(12, HIGH); digitalWrite(11, LOW); } else { mode = 1; digitalWrite(11, HIGH); digitalWrite(12, LOW); } } } prevButtonState = buttonState; delay(50); // Tunggu 50 milidetik if (mode == 0) { //Jika mode manual, map nilai potensiometer ke derajat rotasi servo_9.write(map(analogRead(A0), 0, 1023, 0, 180)); servo_10.write(map(analogRead(A1), 0, 1023, 0, 180)); } else { //Jika mode otomatis, map nilai sensor ke intensitas cahaya 0-100. //Setiap sensor cahaya memiliki sensitivitas yang berbeda dan harus diuji terlebih dahulu //untuk nilai tinggi dan rendahnya topLeftLight = map(analogRead(A2),50,980,0,100); topRightLight = map(analogRead(A3),200,990,0,100); bottomLeftLight = map(analogRead(A4),170,970,0,100); bottomRightLight = map(analogRead(A5),250,1000,0,100); //Hitung kondisi cahaya rata-rata TopLight = ((topRightLight + topLeftLight) / 2); BottomLight = ((bottomRightLight + bottomLeftLight) / 2); LeftLight = ((topLeftLight + bottomLeftLight) / 2); RightLight = ((topRightLight + bottomRightLight) / 2); //Putar servo jika diperlukan if (abs((RightLight - LeftLight)) > 4) { //Ubah posisi hanya jika perbedaan cahaya lebih besar dari 4% if (RightLight < LeftLight) { if (servo_9.read() < 180) { servo_9.write((servo_9.read() + 1)); } } if (RightLight > LeftLight) { if (servo_9.read() > 0) { servo_9.write((servo_9.read() - 1)); } } } if (abs((TopLight - BottomLight)) > 4) { //Ubah posisi hanya jika perbedaan cahaya lebih besar dari 4% if (TopLight < BottomLight) { if (servo_10.read() < 180) { servo_10.write((servo_10.read() - 1)); } } if (TopLight > BottomLight) { if (servo_10.read() > 0) { servo_10.write((servo_10.read() + 1)); } } } } } 

Skematis

Skematis pemasanganPelacak Matahari Dual-Axis dengan Kontrol Otomatis & Manual – Sistem Pelacak Matahari Efisien

Proses manufaktur

  1. Proyek Sensor Suhu & Kelembaban DHT11 dengan Indikator LED dan Speaker Piezo
  2. Bangun Sensor Halangan Sederhana dengan Arduino – Tutorial Mudah LED IR & Fotodioda
  3. Pelacak Surya V2.0 – Sistem Pelacak Panel Surya DIY Lanjutan
  4. Pelacak Surya Berbasis IoT: Manajemen Energi Cerdas dengan Arduino
  5. Membuat Kubus LED 4x4x4 dengan Arduino Uno & 1Sheeld – Proyek LED Interaktif
  6. Penghitung RPM Arduino Kecepatan Tinggi dengan Algoritma Baru
  7. Proyek Pelapisan Tembaga: Bangun Sistem Cerdas dengan Arduino UNO
  8. Pengukuran Radiasi Matahari Akurat dengan Arduino UNO dan Ethernet Shield
  9. Platform Pelacakan Matahari Berkualitas Tinggi dengan Servo untuk Penangkapan Energi Optimal
  10. Kualitas Panel Surya: Poin Kontrol Esensial untuk Performa Optimal