
Բովանդակություն:
2025 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2025-01-23 14:48


Հարազատներից մեկը մի անգամ ինձ հարցրեց, թե կարո՞ղ եմ անջատիչ ստեղծել, որն արձագանքում է ձեր ձեռքերին ծափահարելուն: Այսպիսով, ես որոշ նյութեր պատվիրեցի նախագիծ ստեղծելու համար և որոշեցի պատրաստել ուսանելի, որպեսզի յուրաքանչյուրը կարողանա ունենալ այդպիսի հիանալի անջատիչ:
Միկրոկոնտրոլերն այս նախագծի ուղեղն է: Ձայնի տվիչը միացված է միկրոկառավարիչին, սենսորը անալոգային տվյալներ է ուղարկում, երբ ձայնը հայտնաբերվում է: Միկրոկառավարիչը ծրագրված է ձայնի մեծ տարբերություններ հայտնաբերելու համար: Երբ հայտնաբերվում է բավականաչափ բարձր տարբերություն, ինչը նշանակում է ծափ, միկրոկոնտրոլերը ազդանշան է փոխանցում ռելեին: Ռելեն միանում է, և լույսը միանում է: Երկրորդ անգամ ծափահարելիս լույսը նորից կփակվի:
Պարագաներ
Ֆիզիկական իրեր.
- 1x ATmega328P Xplained Mini մալուխով `ծրագրավորման համար
- 1x 5v ռելեի մոդուլ 1-ալիք (KY-019 կամ նմանատիպ)
- 1x Ձայնի տվիչի մոդուլ (KY-038 կամ նմանատիպ)
- 1x Breadboard
- 6x Արական և Արական թռիչքի մետաղալար
- 1x թեթև վարդակից լարով (կամ ցանկացած այլ սարք, որը ցանկանում եք միացնել)
- 1x լամպ
- 1x դիմադրություն* (ես օգտագործում եմ 220 Օմ)
- 1x LED*
Softwareրագրային ապահովում (ներբեռնում):
- AtmelStudio 7.0 (https://www.microchip.com/mplab/avr-support/atmel-studio-7)
- Tyեփամածիկ (www.putty.org)*
* Փորձարկման նպատակով
Քայլ 1: Միացումներ

Միացրեք բոլոր լարերը, ինչպես ցույց է տրված նկարում:
Քայլ 2: ingրագրի ստեղծում


Ես սիրում եմ C- ով ծածկագրել, այնպես որ այս նախագիծը գրված է C- ով:
Եթե դեռ չեք ներբեռնել և տեղադրել անհրաժեշտ ծրագրակազմը, ներբեռնեք և տեղադրեք այն հիմա:
Այժմ հետևեք այս հաջորդ քայլերին.
- Բացեք AtmelStudio- ն:
- Կտտացրեք «Ֆայլ» -> «Նոր» -> «Նախագիծ»:
- Կտտացրեք «GCC C Կատարելի նախագիծ»: Տվեք ձեր նախագծին անուն և վայր ՝ պահելու համար: Կտտացրեք «Լավ»:
- Որոնեք ATmega328P- ը: Կտտացրեք «ATmega328P» -> «Լավ»:
- Կտտացրեք Solution Explorer- ին «main.c» - ում ՝ հիմնական ծրագիրը բացելու համար:
Քայլ 3: Կոդ ավելացնելը
Leteնջել main.c- ում արդեն առկա կոդը
Պատճենեք և տեղադրեք հետևյալ ծածկագիրը main.c- ում
#սահմանի F_CPU 16000000
#ներառել #ներառել #ներառել #ներառել "usart.h" #սահմանել MINIMALVALUE 5 void InitADC (); uint16_t ReadADC (uint8_t ADCchannel); կրկնակի val1, val2; int main (անվավեր) {// Initialise the USART USART_init (9600); USART_putstr ("#USART init / n"); // Նախաստորագրեք ADC InitADC (); USART_putstr ("#ADC init / n"); // PORTC ելքի PC1 քորոց, մնացածը ՝ մուտքագրում: DDRC = 0b00000010; // սկզբնական արժեքները սահմանել PORTC ցածր: PORTC = 0b00000000; մինչդեռ (1) {// կարդալ պոտենցիոմետրի արժեքը // կարդալ արժեքը և պահպանել val1 val1 = ReadADC (0); _ ուշացում (1); // կարդալ հաջորդ արժեքը en store in val2 val2 = ReadADC (0); char փող [10]; // ReadADC () արժեքը վերադարձնում է ամբողջ թվերով: Եթե ցանկանում ենք վրիպազերծել կամ տեսնել ծեփի արժեքը, // արժեքը պետք է փոխակերպվի նիշերի, որպեսզի USART- ը կարողանա տպել այն: itoa (val1, փող., 10); USART_putstr (փող); USART_putstr ("\ n"); // եթե 2 արժեքները որոշակի տարբերություն ունեն: Ձայնը հայտնաբերվում է և փոխում է նավահանգիստը: // MINIMALVALUE- ը կարող է փոխվել, ավելացումը կդարձնի այն ավելի քիչ զգայուն: Նվազումը կդարձնի այն ավելի զգայուն, եթե (val1-val2> MINIMALVALUE || val2-val1> MINIMALVALUE) {PORTC ^= 0b00000010; // LIGHT ON UC _delay_ms (200); }}} void InitADC () {// Ընտրեք Vref = AVcc ADMUX | = (1 << REFS0); // սահմանել prescaller- ը 128 -ի վրա և միացնել ADC ADCSRA | = (1 << ADPS2] | (1 << ADPS1] | (1 << ADPS0) | (1 << ADEN); } uint16_t ReadADC (uint8_t ADCchannel) {// ընտրել ADC ալիք անվտանգության դիմակով ADMUX = (ADMUX & 0xF0) | (ADCchannel & 0x0F); // մեկ փոխարկման ռեժիմ ADCSRA | = (1 << ADSC); // սպասեք, մինչև ADC- ի փոխարկումը ավարտվի (ADCSRA & (1 << ADSC)); վերադարձ ADC; }
Քայլ 4: USART- ի ավելացում

USART- ը սերիական հաղորդակցության արձանագրություն է, որը կարող է օգտագործվել միկրոկառավարիչի վրա: Ես այն օգտագործում եմ միկրոկառավարիչի վրա ՝ սենսորից անալոգային տվյալներ տեսնելու համար:
USART- ն արդեն ճիշտ է ծրագրված ՝ պարունակելով վերնագիր (.h) և աղբյուր (.c) ֆայլ: Ներբեռնեք 2 ֆայլերը և դրանք ավելացրեք ձեր ծրագրին AtmelStudio- ում:
Solution Explorer- ում աջ սեղմեք ծրագրի անվան վրա: Կտտացրեք «Ավելացնել» -> «Առկա նյութ…» և ընտրեք ներբեռնված 2 ֆայլերը:
Քայլ 5: Գործարկել ծածկագիրը


Միացրեք միկրոկառավարիչը համակարգչին: Ձեր համակարգչում փնտրեք «սարքի կառավարիչ» և բացեք այն: Փնտրեք «Նավահանգիստներ (COM & LPT)» և հիշեք, թե ինչ COM- պորտով է միկրոկոնտրոլերը միացված:
Բացեք PuTTY- ը և կտտացրեք «Սերիա», մուտքագրեք միկրոկառավարիչի կողմից գտած COM- պորտը և կտտացրեք «Բացել»: Տերմինալ է հայտնվում, թողեք այն առայժմ:
Վերադարձեք AtmelStudio ՝ միկրոկառավարիչը ծրագրավորելու համար ճիշտ գործիք ընտրելու համար:
- Կտտացրեք մուրճի գործիքը:
- Ընտրեք «mEDBG*ATML» վրիպազերծիչ/ծրագրավորող:
- Ընտրեք «debugWIRE» ինտերֆեյսը:
- Կտտացրեք «սկսել առանց վրիպազերծման»:
Buildրագիրը կկառուցվի և կգրվի:
Երբ ծրագիրը ճիշտ է աշխատում, puTTY- ում կտեսնեք ամբողջ արժեքներ: Պտուտակահանի օգնությամբ ես կարող եմ փոխել puTTY- ում տեսած արժեքը ՝ պտուտակը պտտելով սենսորի վրա: Իմ տվիչը տալիս է 0 -ից 1000 արժեքները պտուտակն ամբողջովին պտտելիս: Պտուտակը պտտեցնում եմ ընդհանուր արժեքի 100 -ի (10%): Ես պարզեցի, որ սա աշխատում է ինձ համար:
Քայլ 6: Փոխեք զգայունությունը
Լույսը միացնելիս զգայունությունը կարգավորելու համար կարող եք օգտագործել 2 տարբերակ, բայց ընտրեք մեկը, ոչ թե երկուսը.
- Փոխել սենսորային պտուտակը;
- Փոխել կոդի արժեքը:
Ես օգտագործում եմ 2 -րդ տարբերակը: Եթե նվազագույն արժեքը ավելացնեք, այն կդառնա ավելի քիչ զգայուն, իսկ նվազումը `ավելի զգայուն:
#սահմանել ՄԻՆԱՇՆԱՀԱՏՈԹՅՈՆ 5
Քայլ 7: Փոխեք այն, ինչ ձեզ դուր է գալիս:


WԳՈՇԱՈՄ. Higherգույշ եղեք բարձր լարման միացման ժամանակ:
Երբ գոհ եք սենսորի զգայունությունից, կարող եք փոխել շրջանը: Փոխեք սխեման, ինչպես վերը նշված պատկերը: Այժմ կարող եք փոխել այն, ինչ ցանկանում եք:
Խորհուրդ ենք տալիս:
Clap Switch: 4 քայլ

Clap Switch. Հոգնե՞լ եք ոտքի կանգնելուց ՝ անջատիչն անջատելու համար/սարքը չկա, կամ հոգնել եք մթության մեջ անջատիչ փնտրելուց: Ի՞նչ է Clap անջատիչը: Claափահարել -անջատիչ միացումը ձայնային բազայի նկատմամբ զգայուն միացում է, այն ներխուժում էր
Clap-Off կրծկալ. 27 քայլ (նկարներով)

Clap-Off կրծկալ. Առաջին անգամ, երբ կարդացի սիրիական ներքնազգեստի մասին, բավականին հուզվեցի: Արևմուտքում մենք հաճախ ենք արաբական մշակույթները համարում սեռական ճնշված հասարակություններ, երբ, ըստ էության, պարզվում է, որ դրանք ակնհայտորեն թռիչքներ են կատարում մեզանից ներքնազգեստի ձեռքբերումներում
Two Clap ON - Clap OFF Circuits - 555 IC - 4017 IC: 3 քայլ

Two Clap ON - Clap OFF Circuits - 555 IC | 4017 IC: Clap ON - Clap OFF միացումն այն միացումն է, որը կարող է օգտագործվել միայն CLAP- ով էլեկտրոնային սարքավորումների բազմազանությունը վերահսկելու համար: Մեկ ծափը բեռը միացնում է, իսկ մեկ այլ ծափահարում այն անջատում: Շատ տարածված և պարզ է այս սխեման պատրաստել IC 4017 -ի միջոցով, բայց այստեղ
Clap Switch (40 ծափ 5 վայրկյանում) ՝ 4 քայլ (նկարներով)

Clap Switch (40 Claps 5 վայրկյանում). Clap Switch- ը հնարավորություն ունի միացնել/անջատել ցանկացած էլեկտրական բաղադրիչ `միացման ելքը միացնելով ռելեի անջատիչին: Այստեղ մենք պատրաստվում ենք ծափահարել անջատիչ `մի քանի բաղադրիչներով` շատ լավ բացատրություններով: Բոլոր մյուս ծափերի անջատիչի համեմատ
Bluetooth Clap Switch. 3 քայլ (նկարներով)

Bluetooth Clap Switch. Սա հին bluetooth բարձրախոսների վերաօգտագործման էժան միջոց է: Սա DIY սարք է, որն ի վիճակի է միացնել կամ անջատել լույսերը կամ քաղաքի լարման որևէ իր ՝ բջջայինում տեղադրված ծրագրաշարի մեջ ծափահարելով: Ձեզ անհրաժեշտ է իրեր