Lampu LED Dikawal Tepukan Tangan
Decorative Finished 0 updates

Lampu LED Dikawal Tepukan Tangan

Link copied
Ridzwan Normahazan Ridzwan Normahazan Project owner
149 Views Comments 0

Quick build reference

The useful details collected from this project without turning every update into a formal report.

What this project makes

Lampu LED dengan badan cetakan 3D yang boleh dihidupkan dan dimatikan hanya melalui bunyi tepukan tangan.

Overview

Idea dan Matlamat Projek

Saya terfikir tentang bagaimana sebuah lampu boleh dikawal tanpa menggunakan suis fizikal atau alat kawalan jauh. Daripada idea tersebut, saya memilih untuk menghasilkan sebuah lampu LED yang boleh dihidupkan dan dimatikan hanya dengan menepuk tangan.

Pada waktu projek ini dimulakan, pengalaman saya lebih tertumpu kepada reka bentuk mekanikal dan penggunaan perisian CAD. Saya tidak mempunyai banyak pengalaman dalam elektronik, pengaturcaraan Arduino atau penyambungan komponen elektrik.

Disebabkan itu, projek ini bukan sekadar projek menghasilkan sebuah lampu. Ia juga menjadi latihan untuk saya memahami bagaimana reka bentuk mekanikal, pencetakan 3D, elektronik dan pengaturcaraan boleh digabungkan untuk menghasilkan satu produk yang lengkap dan berfungsi.

Matlamat utama projek ini adalah untuk:

  • Mengesan bunyi tepukan tangan menggunakan sensor bunyi.
  • Menghidupkan atau memadamkan lampu setiap kali tepukan dikesan.
  • Menggunakan LED yang terang tetapi masih boleh dimuatkan dalam badan yang kecil.
  • Mereka bentuk badan lampu yang boleh dicetak menggunakan pencetak 3D.
  • Menempatkan semua komponen elektronik dengan kemas di dalam badan lampu.

Konsep Operasi

Sistem ini menggunakan sensor bunyi untuk mengesan perubahan bunyi secara tiba-tiba. Apabila seseorang menepuk tangan, sensor menghasilkan isyarat yang dihantar kepada Arduino Nano.

Arduino bertindak sebagai otak kepada lampu. Program di dalam Arduino membaca isyarat daripada sensor dan menentukan sama ada bunyi yang dikesan cukup kuat untuk dianggap sebagai satu tepukan.

Setiap kali satu tepukan yang sah dikesan, Arduino akan menukar keadaan lampu:

  • Jika lampu sedang padam, lampu akan dihidupkan.
  • Jika lampu sedang menyala, lampu akan dipadamkan.

Satu sela masa ringkas turut digunakan selepas tepukan dikesan. Ini penting kerana satu tepukan boleh menghasilkan beberapa perubahan bunyi dalam tempoh yang sangat singkat. Tanpa sela masa tersebut, sistem mungkin membaca satu tepukan sebagai beberapa tepukan dan menyebabkan lampu menyala dan terpadam semula dengan cepat.

Komponen Utama

Komponen utama yang digunakan dalam projek ini ialah:

Arduino Nano

Arduino Nano digunakan sebagai mikropengawal utama. Ia membaca isyarat daripada sensor bunyi dan mengawal keadaan lampu berdasarkan kod yang telah dimuat naik.

Saya memilih Arduino Nano kerana saiznya kecil dan lebih mudah ditempatkan di dalam badan lampu berbanding papan Arduino yang lebih besar.

Arduino Nano
Arduino Nano

Sensor bunyi

Sensor bunyi digunakan untuk mengesan tepukan tangan. Kepekaan sensor perlu dilaraskan supaya ia boleh mengesan tepukan dari jarak yang sesuai tanpa terlalu mudah diaktifkan oleh bunyi persekitaran biasa.

Jika sensor terlalu sensitif, bunyi seperti percakapan, objek jatuh atau pintu ditutup mungkin akan mengaktifkan lampu. Jika kepekaan terlalu rendah pula, pengguna perlu menepuk terlalu kuat atau terlalu dekat dengan lampu.

Modul Sensor Bunyi (KY-038)
Modul Sensor Bunyi (KY-038)

Jalur LED WS2812B

Jalur LED WS2812B digunakan sebagai sumber cahaya. LED jenis ini boleh dikawal secara digital melalui Arduino dan setiap LED mempunyai cip kawalan tersendiri.

Walaupun WS2812B boleh menghasilkan pelbagai warna, fungsi utama dalam projek ini adalah untuk menghasilkan cahaya lampu yang terang dan dikawal melalui Arduino.

Pita LED (WS2812B)
Pita LED (WS2812B)

 

Badan cetakan 3D

Keseluruhan struktur lampu direka sendiri menggunakan perisian CAD dan kemudian dihasilkan menggunakan pencetak 3D. Badan ini berfungsi sebagai struktur utama, pemegang LED dan ruang untuk menempatkan komponen elektronik.

tapak, penutup dan bekas PCB
tapak, penutup dan bekas PCB

Reka Bentuk Mekanikal

Bahagian mekanikal direka selepas saya memahami saiz dan kedudukan setiap komponen elektronik yang akan digunakan.

Saya perlu menyediakan ruang untuk Arduino Nano, sensor bunyi, jalur LED, sambungan wayar dan bekalan kuasa. Pada masa yang sama, badan lampu tidak boleh terlalu besar atau kelihatan seperti sebuah kotak elektronik biasa.

Sensor bunyi perlu diletakkan pada kedudukan yang membolehkan bunyi dari luar sampai kepadanya dengan jelas. Jika sensor ditutup sepenuhnya oleh badan plastik, keupayaannya mengesan tepukan mungkin berkurang. Oleh itu, bahagian berhampiran sensor perlu mempunyai bukaan atau laluan bunyi.

Kedudukan LED juga penting. LED perlu menghadap ke arah yang sesuai supaya cahaya boleh tersebar dengan lebih sekata dan bukan hanya menghasilkan beberapa titik cahaya yang terlalu terang.

Badan lampu turut perlu direka supaya komponen boleh dipasang dan dikeluarkan semula. Ini memudahkan kerja penyambungan wayar, pemprograman Arduino, pelarasan sensor dan pembaikan sekiranya terdapat masalah.

Selepas reka bentuk asas disiapkan, bahagian-bahagian lampu dicetak menggunakan pencetak 3D. Komponen elektronik kemudian diuji kedudukannya di dalam badan sebelum pemasangan akhir dibuat.

 

Pemasangan Elektronik

Sebelum semua komponen dimasukkan ke dalam badan lampu, sistem elektronik diuji terlebih dahulu secara terbuka.

Sensor bunyi disambungkan kepada salah satu pin input Arduino Nano. Jalur LED pula disambungkan kepada pin output yang ditetapkan dalam program. Bekalan kuasa dan sambungan bumi perlu dikongsi dengan betul supaya semua komponen mempunyai rujukan voltan yang sama.

Ujian secara terbuka memudahkan saya mengenal pasti masalah. Jika lampu tidak bertindak balas, saya boleh memeriksa sambungan sensor, bacaan input, kod Arduino atau sambungan LED tanpa perlu membuka semula keseluruhan badan lampu.

Proses pemasangan komponen elektronik ke dalam bekas cetakan 3D
Proses pemasangan komponen elektronik ke dalam bekas cetakan 3D

 

Selepas sistem asas berfungsi, barulah semua komponen dipasang ke dalam badan cetakan 3D dan wayar disusun dengan lebih kemas.

Pengaturcaraan

Kod Arduino membaca nilai analog daripada sensor bunyi melalui pin A0. Apabila nilai bunyi melebihi ambang yang ditetapkan, Arduino menukar keadaan lampu antara menyala dan padam.

Pemboleh ubah soundExceededThreshold digunakan supaya satu tepukan hanya dikira sekali. Tanpa kawalan ini, beberapa bacaan daripada bunyi yang sama boleh menyebabkan lampu bertukar keadaan berulang kali dalam tempoh yang sangat singkat.

Pita LED WS2812B disambungkan kepada pin 6 dan dikawal menggunakan pustaka Adafruit NeoPixel. Projek ini menggunakan 70 LED dengan tahap kecerahan ditetapkan kepada 150 daripada nilai maksimum 255.

Apabila lampu dihidupkan, setiap LED ditetapkan kepada nilai warna RGB (255, 120, 0), yang menghasilkan cahaya berwarna jingga.

Kod yang digunakan:

#include <Adafruit_NeoPixel.h>

#define SOUND_SENSOR_PIN A0
#define LED_PIN 6
#define NUM_LEDS 70
#define SOUND_THRESHOLD 540
#define BRIGHTNESS 150

Adafruit_NeoPixel strip =
    Adafruit_NeoPixel(NUM_LEDS, LED_PIN, NEO_GRB + NEO_KHZ800);

bool ledsOn = false;
bool soundExceededThreshold = false;

void setup() {
  Serial.begin(9600);

  strip.begin();
  strip.setBrightness(BRIGHTNESS);
  strip.show();
}

void loop() {
  int soundValue = analogRead(SOUND_SENSOR_PIN);
  Serial.println(soundValue);

  if (soundValue > SOUND_THRESHOLD) {
    if (!soundExceededThreshold) {
      ledsOn = !ledsOn;
      soundExceededThreshold = true;
    }
  } else {
    soundExceededThreshold = false;
  }

  if (ledsOn) {
    turnOnLeds();
  } else {
    turnOffLeds();
  }

  delay(50);
}

void turnOnLeds() {
  for (int i = 0; i < NUM_LEDS; i++) {
    strip.setPixelColor(i, strip.Color(255, 120, 0));
  }

  strip.show();
}

void turnOffLeds() {
  for (int i = 0; i < NUM_LEDS; i++) {
    strip.setPixelColor(i, strip.Color(0, 0, 0));
  }

  strip.show();
}

Reka Bentuk PCB Tersuai

Pada peringkat awal, semua komponen boleh disambungkan menggunakan breadboard dan wayar jumper. Namun, susunan tersebut terlalu besar dan berserabut untuk dimuatkan dengan kemas di dalam badan lampu.

Disebabkan itu, saya mereka bentuk sebuah PCB tersuai khusus untuk projek ini. PCB tersebut digunakan untuk menempatkan dan menghubungkan Arduino Nano, modul sensor bunyi, perintang, kapasitor, bekalan kuasa dan pita LED dalam satu susunan yang lebih padat.

Proses reka bentuk bermula dengan menghasilkan skematik litar yang menunjukkan semua sambungan elektrik antara komponen. Berdasarkan skematik tersebut, kedudukan komponen dan laluan tembaga disusun dalam reka bentuk PCB.

Model 3D papan turut diperiksa untuk memastikan saiz PCB, kedudukan komponen dan sambungan wayar sesuai dengan ruang di dalam bekas cetakan 3D.

PCB tersebut kemudiannya dihasilkan oleh PCBWay. Penggunaan PCB tersuai menjadikan pemasangan lebih kemas, mengurangkan penggunaan wayar jumper dan membolehkan keseluruhan litar dimuatkan di dalam bekas yang lebih kecil.

Skematik litar PCB
Skematik litar PCB

Ujian dan Hasil Akhir

Selepas semua bahagian dipasang, lampu diuji sebagai satu produk lengkap.

Apabila lampu berada dalam keadaan padam, satu tepukan akan menghidupkannya. Tepukan seterusnya akan memadamkannya semula. Sistem ini boleh digunakan tanpa menyentuh lampu atau mencari suis fizikal.

Hasil akhir projek ini berjaya mencapai matlamat asal. Lampu dapat mengesan tepukan, menukar keadaan LED dengan betul dan semua komponen elektronik dapat ditempatkan di dalam badan cetakan 3D yang direka khas.

Walaupun konsepnya ringkas, projek ini memberikan saya pengalaman dalam beberapa bidang yang sebelum ini kurang biasa bagi saya, termasuk penggunaan sensor, pengaturcaraan Arduino, kawalan LED dan penyusunan komponen elektronik di dalam sebuah produk cetakan 3D.

Projek ini juga menunjukkan bahawa seseorang tidak perlu menjadi pakar dalam semua bidang sebelum memulakan sesuatu projek. Dengan memecahkan projek kepada bahagian kecil (mekanikal, elektronik, kod dan ujian), saya dapat mempelajari setiap bahagian secara berperingkat sehingga menghasilkan sebuah sistem yang berfungsi.

Hasil akhir lampu LED yang boleh diaktifkan melalui tepukan
Hasil akhir lampu LED yang boleh diaktifkan melalui tepukan

 

 

Materials & components list

10 items

Materials and components listed by the project owner.

Material / component Brand / model Purpose Quantity
Mikropengawal Arduino Nano Membaca sensor bunyi dan mengawal pita LED 1 unit
Modul sensor bunyi KY-038 Mengesan bunyi tepukan dan menghantar isyarat kepada Arduino 1 unit
Pita LED RGB boleh alamat WS2812B Menghasilkan cahaya lampu 70 LED
Penyesuai kuasa AC-DC 5V Generik Menukar bekalan 110V/240V AC kepada 5V DC 1 unit
Perintang 220 Ω Melindungi talian data pita LED daripada lonjakan isyarat 1 unit
Kapasitor elektrolit 1000 µF, 6.3V Menstabilkan bekalan kuasa kepada pita LED 1 unit
PCB tersuai (custom PCB) PCBWay Menghubungkan semua komponen dalam susunan yang padat 1 unit
Wayar penyambung Generik Membuat sambungan elektrik antara PCB, sensor dan pita LED Mengikut keperluan
Badan lampu cetakan 3D Rekaan sendiri Membentuk tapak dan penutup lampu 1 set
Bekas PCB cetakan 3D Rekaan sendiri Menempatkan dan melindungi papan litar 1 unit

Project files

CAD files, drawings, code and other assets shared by the project owner.

No project files yet

The project owner has not shared downloadable files yet.

Project updates

0 updates
No updates yet.

The project owner has not shared any progress yet.

Use this space for general discussion about the whole project. To discuss a specific update, use the comments on that update.

Project discussion

Founding desktop 3D printer partner: Creality
Scroll to Top