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

Model Arsitektur Halte Pintar dengan Penutup Matahari Otomatis

Komponen dan Perlengkapan

KomponenKeteranganJumlah
Arduino Nano R3Karena membuat model arsitektur, dibutuhkan komponen kecil dan mudah disembunyikan.1
Servo MG995Servo heavy duty1
Photo resistorSatu menghadap ke Timur, yang lainnya ke Barat.2
Rain Sensor1
High Brightness LED, Putih6
Resistor 220 ohm3
Breadboard (generik)1
Kabel Jumper Male/Male27
Screw Terminal2
9V Battery Clip2
9V baterai (generik)1
4xAA baterai holder1

Tentang Proyek Ini

Ini adalah pengupgrade dari proyek sebelumnya (V 1.0)

Perubahan utama dari V1.0 adalah:

Anda dapat menemukan V1.0 pada tautan berikut: Model Versi 1.0

VIDEO:

Pembuatan rangkaian

Pembuatan Model Arsitektur

Kode

KodeC/C++
#include <VarSpeedServo.h>
VarSpeedServo servo;
int easternLight = 0;
int westernLight = 0;
int rainSensed = 0;
int sunshadePosition = 0;
int rainThreshold = 512;
int sunshadeExpanded = 120;
int sunshadeContracted = 60;
int ambientLighting = 0;
int turnOnLightsOn = 150;
int ledIntensity = 0;
int ledPower = 0;
int servoSpeed = 20;
bool debugging = false; // Set ke TRUE untuk mengaktifkan debugging ke Serial Console

void setup() {
  pinMode(A4, OUTPUT); // Penerangan interior halte bus
  pinMode(A5, OUTPUT); // Lampu jalan
  pinMode(A1, INPUT); // Cahaya Barat
  pinMode(A2, INPUT); // Cahaya Timur
  pinMode(A3, INPUT); // Pin analog sensor hujan
  pinMode(2, INPUT); // Pin digital sensor hujan
  servo.attach(A0); // Servo
  servo.write(sunshadeContracted, servoSpeed, true);
  if (debugging){
    Serial.begin(9600);
    Serial.println("*** DEBUGGING DIMULAI ***");
    Serial.println("-------------------------");
  }
}

void oya_mydebug(String text, int value = NULL) {
  if (debugging){
    Serial.print(text);
    if (value){
      Serial.print(" = ");
      Serial.println(value);
    } else {
      Serial.println(" ");
    }
  }
}

void expand_collapse(int easternLight, int westernLight) {
  if (easternLight <= westernLight) {
    oya_mydebug("Matahari terbit");
    if (sunshadePosition != sunshadeExpanded) {
      servo.write(sunshadeExpanded, servoSpeed, true);
      oya_mydebug("Penutup matahari diperlebar");
    }
  }
  if (easternLight > westernLight) {
    oya_mydebug("Matahari sedang terbenam");
    if (sunshadePosition != sunshadeContracted) {
      servo.write(sunshadeContracted, servoSpeed, true);
      oya_mydebug("Penutup matahari diempitkan");
    }
  }
}

void loop() {
  easternLight = analogRead(A2);
  westernLight = analogRead(A1);
  rainSensed = analogRead(A3);
  sunshadePosition = servo.read();
  ambientLighting = ((easternLight + westernLight) / 2);
  oya_mydebug("easternLight", easternLight);
  oya_mydebug("westernLight", westernLight);
  oya_mydebug("rainSensed", rainSensed);
  oya_mydebug("sunshadePosition", sunshadePosition);
  oya_mydebug("ambientLighting", ambientLighting);

  if (rainSensed < rainThreshold) {
    oya_mydebug("Sedang hujan...");
    if (sunshadePosition != sunshadeExpanded) {
      servo.write(sunshadeExpanded, servoSpeed, true);
      oya_mydebug("Penutup matahari diperlebar");
    }
  } else {
    oya_mydebug("Tidak sedang hujan...");
    if (ambientLighting <= turnOnLightsOn) {
      oya_mydebug("Sedang gelap, menyala lampu");
      ledPower = ((turnOnLightsOn - ambientLighting) * 4);
      oya_mydebug("ledPower", ledPower);
      analogWrite(A5, ledPower);
      analogWrite(A4, ledPower);
      expand_collapse(easternLight, westernLight);
    } else {
      oya_mydebug("Banyak sinar matahari, matikan lampu");
      analogWrite(A5, 0);
      analogWrite(A4, 0);
      expand_collapse(easternLight, westernLight);
    }
  }
  if (debugging){
    Serial.println("********************");
    Serial.println(" ");
    delay(5000);
  } else {
    delay(100);
  }
}

Skematik

Model Arsitektur Halte Pintar dengan Penutup Matahari Otomatis

Proses manufaktur

  1. Kereta Model Lionel: Sejarah, Manufaktur & Masa Depan
  2. Robot Pengelola Daur Ulang Berbasis Google Coral Edge TPU
  3. Memaksimalkan Pendapatan Berulang dengan Konsumsi Cerdas: Pengubah Permainan untuk Pembuat Mesin
  4. Kontrol Kereta Otomatis Arduino DIY – Sederhana, Andal, dan Dapat Disesuaikan
  5. Robot Penghindar Halangan Direnkai Servo: Bangun dengan Arduino & HC-SR04
  6. SPRINT 20 Mesin Bubut Linier: Pencaran Cepat dan Otomatis untuk Bagian Presisi Tinggi
  7. Dasar-Dasar Servo Press: Daya, Presisi, dan Efisiensi Dijelaskan
  8. Motor Servo: Cara Kerja dan Mengapa Penting
  9. Memaksimalkan Presisi: Menggandeng Gearhead dengan Motor Servo
  10. Siklus Goresan ECS G86 dengan Fitur Henti Spindel