Isi kandungan:
- Bekalan
- Langkah 1: Sambungan
- Langkah 2: Membuat Program
- Langkah 3: Menambah Kod
- Langkah 4: Menambah USART
- Langkah 5: Menjalankan Kod
- Langkah 6: Ubah Kepekaan
- Langkah 7: Tukar Apa sahaja yang Anda Suka
Video: Clap-on Switch: 7 Langkah (dengan Gambar)
2024 Pengarang: John Day | [email protected]. Diubah suai terakhir: 2024-01-30 11:07
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
Sambungkan semua wayar seperti yang ditunjukkan dalam gambar.
Langkah 2: 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:
- Buka AtmelStudio.
- Klik pada "Fail" -> "Baru" -> "Projek".
- Klik pada "GCC C Executable Project". Beri nama dan lokasi projek anda untuk disimpan. Klik "Ok".
- Cari ATmega328P. Klik "ATmega328P" -> "Ok".
- 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
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
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.
- Klik pada alat tukul.
- Pilih debugger / pengaturcara "mEDBG * ATML".
- Pilih antara muka "debugWIRE".
- 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:
- Tukar skru sensor;
- 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
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:
Switch Adapt a Toy: WolVol Train Made Switch Accessible !: 7 Langkah
Switch Adapt a Toy: WolVol Train Made Switch Switchable !: Adaptasi mainan membuka jalan baru dan penyelesaian khusus untuk membolehkan kanak-kanak dengan kemampuan motor terhad atau kecacatan perkembangan untuk berinteraksi dengan mainan secara bebas. Dalam banyak kes, kanak-kanak yang memerlukan mainan yang disesuaikan tidak dapat
Clap-Off Bra: 27 Langkah (dengan Gambar)
Clap-Off Bra: Kali pertama saya membaca mengenai Pakaian Dalam Syria saya agak terharu. Di Barat, kita sering menganggap budaya Arab sebagai masyarakat yang ditekan secara seksual, apabila - sebenarnya - ternyata mereka jelas melonjak dan maju di hadapan kita dalam kemajuan pakaian dalam
Light Switch + Fan Dimmer dalam Satu Papan Dengan ESP8266: 7 Langkah (dengan Gambar)
Lampu Suis + Kipas Dimmer dalam Satu Papan Dengan ESP8266: Dalam tutorial ini, anda akan belajar bagaimana membina suis lampu dan peredam kipas anda sendiri hanya dalam satu papan dengan mikrokontroler dan modul WiFi ESP8266. Ini adalah projek hebat untuk IoT. : Litar ini menangani voltan utama AC, jadi berhati-hatilah
Two Clap ON - Clap OFF Circuits - 555 IC - 4017 IC: 3 Langkah
Two Clap ON - Clap OFF Circuits - 555 IC | 4017 IC: Clap ON - Clap OFF circuit adalah litar yang boleh digunakan untuk mengawal pelbagai peralatan elektronik dengan hanya CLAP. Satu tepukan menghidupkan beban dan satu lagi tepukan mematikannya. Sangat biasa dan mudah untuk membuat litar ini menggunakan IC 4017, tetapi di sini
Cara Membongkar Komputer Dengan Langkah dan Gambar yang Mudah: 13 Langkah (dengan Gambar)
Cara Membongkar Komputer Dengan Langkah dan Gambar yang Mudah: Ini arahan mengenai cara membongkar PC. Sebilangan besar komponen asas adalah modular dan mudah dikeluarkan. Walau bagaimanapun, adalah penting untuk anda mengaturnya. Ini akan membantu mengelakkan anda kehilangan bahagian, dan juga dalam membuat pemasangan semula