Talaan ng mga Nilalaman:
- Mga gamit
- Hakbang 1: Mga Koneksyon
- Hakbang 2: Paglikha ng Programa
- Hakbang 3: Pagdaragdag ng Code
- Hakbang 4: Pagdaragdag ng USART
- Hakbang 5: Pagpapatakbo ng Code
- Hakbang 6: Baguhin ang Sensitivity
- Hakbang 7: Lumipat ng Anumang Gusto mo
Video: Clap-on Switch: 7 Hakbang (na may Mga Larawan)
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:10
Tinanong ako ng isang kamag-anak isang beses kung makakalikha ako ng switch na tumutugon sa pagpalakpak ng iyong mga kamay. Kaya't nag-order ako ng ilang mga bagay upang lumikha ng isang proyekto at nagpasya na gumawa ng isang itinuro sa gayon ang lahat ay maaaring magkaroon ng isang kahanga-hangang switch tulad nito.
Ang microcontroller ang utak ng proyektong ito. Ang isang sound sensor ay konektado sa microcontroller, ang sensor ay nagpapadala ng analog data kapag nakita ang tunog. Naka-program ang microcontroller upang makita ang malalaking pagkakaiba-iba ng tunog. Kapag may napansin na sapat na mataas na sapat, nangangahulugang isang palakpak, ang microcontroller ay nagpapadala ng isang senyas sa relay. Ang relay switch at ang ilaw ay nakabukas. Kapag pumalakpak sa pangalawang pagkakataon, papatay muli ang ilaw.
Mga gamit
Mga bagay na pisikal:
- 1x ATmega328P Xplained Mini na may cable para sa pagprograma
- 1x 5v relay module 1-channel (KY-019 o katulad)
- 1x module ng Sound sensor (KY-038 o katulad)
- 1x Breadboard
- 6x Male-Male jumper wire
- 1x light socket na may kurdon (o anumang iba pang aparato na nais mong i-on)
- 1x bombilya
- 1x risistor * (Gumagamit ako ng 220 Ohm)
- 1x LED *
Software (pag-download):
- AtmelStudio 7.0 (https://www.microchip.com/mplab/avr-support/atmel-studio-7)
- Putty (www.putty.org) *
* Para sa mga layunin sa pagsubok
Hakbang 1: Mga Koneksyon
Ikonekta ang lahat ng mga wire tulad ng ipinakita sa imahe.
Hakbang 2: Paglikha ng Programa
Gusto kong mag-code sa C kaya ang proyektong ito ay nakasulat sa C.
Kung hindi mo pa nai-download at na-install ang kinakailangang software, i-download at i-install ito ngayon.
Sundin ngayon ang mga susunod na hakbang:
- Buksan ang AtmelStudio.
- Mag-click sa "File" -> "Bago" -> "Project".
- Mag-click sa "GCC C Executable Project". Bigyan ang iyong proyekto ng isang pangalan at lokasyon upang maiimbak. I-click ang "Ok".
- Maghanap para sa ATmega328P. I-click ang "ATmega328P" -> "Ok".
- Mag-click sa Solution Explorer sa "main.c" upang buksan ang pangunahing programa.
Hakbang 3: Pagdaragdag ng Code
Tanggalin ang code na mayroon na sa main.c
Kopyahin at i-paste ang sumusunod na code sa main.c
# tukuyin ang F_CPU 16000000
#include #include #include #include "usart.h" #define MINIMALVALUE 5 void InitADC (); uint16_t ReadADC (uint8_t ADCchannel); dobleng val1, val2; int main (void) {// Initialise the USART USART_init (9600); USART_putstr ("# USART init / n"); // Initialise the ADC InitADC (); USART_putstr ("# ADC init / n"); // PC1 pin ng PORTC output, ang natitirang input. DDRC = 0b00000010; // itakda ang mga paunang halaga sa PORTC mababa. PORTC = 0b00000000; habang (1) {// pagbabasa ng potensyomentong halaga // basahin ang halaga at itabi sa val1 val1 = ReadADC (0); _delay_ms (1); // basahin ang susunod na halaga en store sa val2 val2 = ReadADC (0); char str [10]; // ang ReadADC () ay nagbibigay ng pabalik ng halaga sa mga integer. Kung nais naming i-debug o makita ang halaga sa masilya, // ang halaga ay kailangang mai-convert sa mga character upang mai-print ito ng USART. itoa (val1, str, 10); USART_putstr (str); USART_putstr ("\ n"); // kung ang 2 halaga ay may tiyak na pagkakaiba. Ang isang tunog ay napansin at lumilipat ng isang port. // MINIMALVALUE ay maaaring mabago, ang pagdaragdag ay gagawing hindi gaanong sensitibo. Ang pagbawas ay magiging mas sensitibo kung (val1-val2> MINIMALVALUE || val2-val1> MINIMALVALUE) {PORTC ^ = 0b00000010; // LIGHT ON UC _delay_ms (200); }}} walang bisa InitADC () {// Piliin Vref = AVcc ADMUX | = (1 << REFS0); // itakda ang prescaller sa 128 at paganahin ang ADC ADCSRA | = (1 << ADPS2) | (1 << ADPS1) | (1 << ADPS0) | (1 << ADEN); } uint16_t ReadADC (uint8_t ADCchannel) {// piliin ang ADC channel na may safety mask ADMUX = (ADMUX & 0xF0) | (ADCchannel & 0x0F); // solong conversion mode ADCSRA | = (1 << ADSC); // maghintay hanggang makumpleto ang pag-convert ng ADC habang (ADCSRA & (1 << ADSC)); ibalik ang ADC; }
Hakbang 4: Pagdaragdag ng USART
Ang USART ay isang serial protocol ng komunikasyon na maaaring magamit sa microcontroller. Ginagamit ko ito sa microcontroller upang makita ang analog data mula sa sensor.
Na-program na nang tama ang USART, naglalaman ng isang header (.h) at source (.c) na file. I-download ang 2 file at idagdag ang mga ito sa iyong programa sa AtmelStudio.
Mag-right click sa pangalan ng proyekto sa Solution Explorer. I-click ang "Idagdag" -> "Umiiral na Item …" at piliin ang 2 na nai-download na mga file.
Hakbang 5: Pagpapatakbo ng Code
Ikonekta ang microcontroller sa computer. Maghanap sa iyong computer para sa "device manager" at buksan ito. Hanapin ang "Ports (COM & LPT)" at alalahanin ang COM-port kung nasaan ang microcontroller.
Buksan ang PuTTY at mag-click sa "Serial" na uri ng COM-port na iyong natagpuan ng microcontroller at i-click ang "Buksan". Isang terminal ang pop up, iwanan ito sa ngayon.
Bumalik sa AtmelStudio upang piliin ang tamang tool para sa pagprograma ng microcontroller.
- Mag-click sa tool ng martilyo.
- Piliin ang "mEDBG * ATML" debugger / programmer.
- Piliin ang interface na "debugWIRE".
- I-click ang "magsimula nang walang pag-debug".
Ang programa ay magtatayo at magsusulat.
Kapag ang programa ay tumatakbo nang tama makikita mo ang mga halaga ng integer sa puTTY. Gamit ang isang distornilyador maaari kong mabago ang halagang nakikita sa puTTY sa pamamagitan ng pag-on ng tornilyo sa sensor. Ibinibigay ng aking sensor ang mga halaga mula 0 hanggang 1000 kapag binabaling ang tornilyo. Ginagawa ko ang turnilyo sa 100 (10%) ng kabuuang halaga. Nalaman kong gumagana ito para sa akin.
Hakbang 6: Baguhin ang Sensitivity
Upang ayusin ang pagkasensitibo kapag bumukas ang ilaw maaari kang gumamit ng 2 mga pagpipilian, ngunit pumili ng isa hindi pareho:
- Baguhin ang tornilyo ng sensor;
- Baguhin ang halaga ng code.
Gumagamit ako ng pagpipilian 2. Ang pagdaragdag ng MINIMALVALUE ay gagawin itong mas sensitibo, ang pagbawas ay ginagawang mas sensitibo.
# tukuyin ang MINIMALVALUE 5
Hakbang 7: Lumipat ng Anumang Gusto mo
BABALA: Mag-ingat kapag lumilipat ng mas mataas na mga voltages
Kapag masaya ka sa sensibilidad ng sensor maaari mong baguhin ang circuit. Baguhin ang circuit tulad ng imahe sa itaas. Maaari mo na ngayong ilipat ang anumang gusto mo!
Inirerekumendang:
Mga Laruang Switch-Adapt: Mga Paglalakad sa Tubig na Lumalakad sa Tubig na Naa-access !: 7 Mga Hakbang (na may Mga Larawan)
Mga Laruang Switch-Adapt: Mga Paglalakad sa Tubig na Lumalakad sa Dragon na Naa-access !: Ang pagbagay ng laruan ay nagbubukas ng mga bagong paraan at na-customize na solusyon upang payagan ang mga bata na may limitadong mga kakayahan sa motor o mga kapansanan sa pag-unlad na makipag-ugnay sa mga laruan nang nakapag-iisa. Sa maraming mga kaso, ang mga bata na nangangailangan ng inangkop na mga laruan ay hindi maaring
Paano Gumawa ng Clap Switch Circuit: 12 Hakbang (na may Mga Larawan)
Paano Gumawa ng Clap Switch Circuit: Hii kaibigan, Ngayon ay gagawa ako ng isang circuit ng clapping switch. Kapag magpapalakpak kami pagkatapos ay mamula ang LED. Kamangha-mangha ang circuit na ito. Upang gawin ang circuit na ito gagamitin ko ang LM555 IC at C945 transistor. Let's Magsimula
Bluetooth Remote Controlled Light Switch - Retrofit. Gumagana pa rin ang Light Switch, Walang Dagdag na Pagsulat .: 9 Mga Hakbang (na may Mga Larawan)
Bluetooth Remote Controlled Light Switch - Retrofit. Gumagana Pa rin ang Light Switch, Walang Extra Writing: Update 25 Nobyembre 2017 - Para sa isang bersyon ng Mataas na Kapangyarihan ng proyektong ito na makokontrol ang kilowatts ng pag-load tingnan ang Retrofit BLE Control sa Mga Mataas na Load ng Kuryente - Walang Kinakailangan na Dagdag na Mga Kable sa Update Nobyembre 15, 2017 - Ang ilang mga board na BLE / software ay nagtatampok ng deli
Clap Switch (40 Claps in 5 Second): 4 Hakbang (na may Mga Larawan)
Clap Switch (40 Claps in 5 Second): Ang Clap Switch ay may kakayahang I-ON / OFF ang anumang sangkap na elektrikal sa pamamagitan ng pagkonekta sa output ng circuit sa isang relay switch. Dito magsasagawa kami ng isang clap switch na may ilang mga bahagi na may napakahusay na mga paliwanag. Kung ihahambing sa lahat ng iba pang clap switch
Bluetooth Clap Switch .: 3 Mga Hakbang (na may Mga Larawan)
Bluetooth Clap Switch .: Ito ay isang murang paraan upang magamit muli ang mga lumang Bluetooth spaker. Ito ay ang aparato ng DIY na kung saan ay magagawang i-on o i-off ang mga ilaw o anumang bagay ng boltahe ng lungsod sa pamamagitan ng claping sa isang software na naka-install sa mobile. Stuff na kailangan mo: .Arduino board 5v relayany old blu