Isi kandungan:

Clap-on Switch: 7 Langkah (dengan Gambar)
Clap-on Switch: 7 Langkah (dengan Gambar)

Video: Clap-on Switch: 7 Langkah (dengan Gambar)

Video: Clap-on Switch: 7 Langkah (dengan Gambar)
Video: Simple Science Project | How to Make Clap On Clap Off Switch Circuit | Science Projects For School 2024, November
Anonim
Image
Image

Seorang saudara bertanya kepada saya satu kali jika saya dapat membuat suis yang bertindak balas untuk bertepuk tangan. Oleh itu, saya telah memesan beberapa perkara untuk membuat projek dan memutuskan untuk membuat arahan supaya semua orang boleh mempunyai pertukaran yang hebat seperti itu.

Mikrokontroler adalah otak projek ini. Sensor suara disambungkan ke mikrokontroler, sensor menghantar data analog ketika suara dikesan. Mikrokontroler diprogramkan untuk mengesan perbezaan suara yang besar. Apabila perbezaan yang cukup tinggi dikesan, yang bermaksud tepukan, mikrokontroler menghantar isyarat ke relay. Relay bertukar dan lampu menyala. Semasa bertepuk tangan kali kedua, lampu akan mati semula.

Bekalan

Bahan fizikal:

  • 1x ATmega328P Xplained Mini dengan kabel untuk pengaturcaraan
  • Modul relay 1x 5v 1-saluran (KY-019 atau yang serupa)
  • Modul sensor bunyi 1x (KY-038 atau yang serupa)
  • Papan Roti 1x
  • Kawat pelompat lelaki-lelaki 6x
  • 1x soket cahaya dengan kabel (atau peranti lain yang ingin anda hidupkan)
  • 1x bola lampu
  • 1x perintang * (saya menggunakan 220 Ohm)
  • 1x LED *

Perisian (muat turun):

  • AtmelStudio 7.0 (https://www.microchip.com/mplab/avr-support/atmel-studio-7)
  • Putty (www.putty.org) *

* Untuk tujuan ujian

Langkah 1: Sambungan

Membuat Program
Membuat Program

Sambungkan semua wayar seperti yang ditunjukkan dalam gambar.

Langkah 2: Membuat Program

Membuat Program
Membuat Program
Membuat Program
Membuat Program

Saya suka membuat kod dalam C sehingga projek ini ditulis dalam C.

Sekiranya anda belum memuat turun dan memasang perisian yang diperlukan, muat turun dan pasang sekarang.

Sekarang ikuti langkah berikut:

  1. Buka AtmelStudio.
  2. Klik pada "Fail" -> "Baru" -> "Projek".
  3. Klik pada "GCC C Executable Project". Beri nama dan lokasi projek anda untuk disimpan. Klik "Ok".
  4. Cari ATmega328P. Klik "ATmega328P" -> "Ok".
  5. Klik di Solution Explorer pada "main.c" untuk membuka program utama.

Langkah 3: Menambah Kod

Padamkan kod yang sudah ada di main.c

Salin dan tampal kod berikut di main.c

#tentukan F_CPU 16000000

#include #include #include #include "usart.h" #define MINIMALVALUE 5 kekosongan InitADC (); uint16_t ReadADC (uint8_t ADCchannel); double val1, val2; int main (tidak sah) {// Permulaan USART_init (9600); USART_putstr ("# USART init / n"); // Memulakan ADC InitADC (); USART_putstr ("# ADC init / n"); // Pin PC1 output PORTC, selebihnya input. DDRC = 0b00000010; // tetapkan nilai awal ke PORTC rendah. PORTC = 0b00000000; manakala (1) {// membaca nilai potensiometer // nilai baca dan simpan dalam val1 val1 = ReadADC (0); _delay_ms (1); // baca nilai seterusnya en store di val2 val2 = ReadADC (0); char str [10]; // ReadADC () memberikan nilai kembali dalam bilangan bulat. Sekiranya kita ingin men-debug atau melihat nilai pada dempul, // nilainya perlu ditukar menjadi watak supaya USART dapat mencetaknya. itoa (val1, str, 10); USART_putstr (str); USART_putstr ("\ n"); // jika 2 nilai mempunyai perbezaan tertentu. Suara dikesan dan menukar port. // MINIMALVALUE dapat diubah, peningkatan akan menjadikannya kurang sensitif. Penurunan akan menjadikannya lebih sensitif jika (val1-val2> MINIMALVALUE || val2-val1> MINIMALVALUE) {PORTC ^ = 0b00000010; // CAHAYA DI UC _delay_ms (200); }}} batal InitADC () {// Pilih Vref = AVcc ADMUX | = (1 << REFS0); // tetapkan prescaller ke 128 dan aktifkan ADC ADCSRA | = (1 << ADPS2) | (1 << ADPS1) | (1 << ADPS0) | (1 << ADEN); } uint16_t ReadADC (uint8_t ADCchannel) {// pilih saluran ADC dengan topeng keselamatan ADMUX = (ADMUX & 0xF0) | (Saluran ADC & 0x0F); // mod penukaran tunggal ADCSRA | = (1 << ADSC); // tunggu sehingga penukaran ADC selesai sementara (ADCSRA & (1 << ADSC)); mengembalikan ADC; }

Langkah 4: Menambah USART

Menambah USART
Menambah USART

USART adalah protokol komunikasi bersiri yang boleh digunakan pada mikrokontroler. Saya menggunakannya pada mikrokontroler untuk melihat data analog dari sensor.

USART sudah diprogramkan dengan betul, mengandungi fail header (.h) dan sumber (.c). Muat turun 2 fail dan tambahkan ke program anda di AtmelStudio.

Klik kanan pada nama projek di Solution Explorer. Klik "Tambah" -> "Item Yang Ada …" dan pilih 2 fail yang dimuat turun.

Langkah 5: Menjalankan Kod

Menjalankan Kod
Menjalankan Kod
Menjalankan Kod
Menjalankan Kod

Sambungkan mikrokontroler ke komputer. Cari "pengurus peranti" di komputer anda dan buka. Cari "Pelabuhan (COM & LPT)" dan ingat port COM di mana mikrokontroler aktif.

Buka PuTTY dan klik pada "Serial" taip port COM yang anda temukan dari mikrokontroler dan klik "Buka". Terminal muncul, biarkan sekarang.

Kembali ke AtmelStudio untuk memilih alat yang tepat untuk memprogram mikrokontroler.

  1. Klik pada alat tukul.
  2. Pilih debugger / pengaturcara "mEDBG * ATML".
  3. Pilih antara muka "debugWIRE".
  4. Klik "mulakan tanpa penyahpepijatan".

Program ini akan membina dan menulis.

Apabila program berjalan dengan betul, anda akan melihat nilai integer dalam puTTY. Dengan menggunakan pemutar skru, saya dapat mengubah nilai yang dilihat pada PUTIH dengan menghidupkan skru pada sensor. Sensor saya memberikan nilai dari 0 hingga 1000 ketika memutar skru sepanjang jalan. Saya memusingkan skru menjadi 100 (10%) dari jumlah nilai. Saya telah mengetahui bahawa ini berfungsi untuk saya.

Langkah 6: Ubah Kepekaan

Untuk menyesuaikan kepekaan ketika lampu menyala, anda boleh menggunakan 2 pilihan, tetapi pilih salah satu dari keduanya:

  1. Tukar skru sensor;
  2. Tukar nilai kod.

Saya menggunakan pilihan 2. Meningkatkan MINIMALVALUE akan menjadikannya kurang sensitif, menurun menjadikannya lebih sensitif.

#tentukan MINIMALVALUE 5

Langkah 7: Tukar Apa sahaja yang Anda Suka

Tukar Apa sahaja yang Anda Suka!
Tukar Apa sahaja yang Anda Suka!
Tukar Apa sahaja yang Anda Suka!
Tukar Apa sahaja yang Anda Suka!

PERINGATAN: Awas semasa menukar voltan yang lebih tinggi

Apabila anda gembira dengan kepekaan sensor anda boleh menukar litar. Tukar litar seperti gambar di atas. Anda kini boleh menukar apa sahaja yang anda suka!

Disyorkan: