Სარჩევი:
- მარაგები
- ნაბიჯი 1: კავშირები
- ნაბიჯი 2: პროგრამის შექმნა
- ნაბიჯი 3: კოდის დამატება
- ნაბიჯი 4: USART- ის დამატება
- ნაბიჯი 5: კოდის გაშვება
- ნაბიჯი 6: შეცვალეთ მგრძნობელობა
- ნაბიჯი 7: შეცვალეთ ყველაფერი, რაც მოგწონთ
ვიდეო: Clap-on Switch: 7 ნაბიჯი (სურათებით)
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:16
ნათესავმა ერთხელ მკითხა, შევძლებ თუ არა ჩამრთველის შექმნას, რომელიც რეაგირებს თქვენს ხელთა ტაში. ასე რომ, მე შევუკვეთე რაღაცეები პროექტის შესაქმნელად და გადავწყვიტე გამეკეთებინა ინსტრუქცია, რათა ყველას ჰქონოდა ასეთი გასაოცარი გადართვა.
მიკროკონტროლი არის ამ პროექტის ტვინი. ხმის სენსორი დაკავშირებულია მიკროკონტროლერთან, სენსორი აგზავნის ანალოგიურ მონაცემებს, როდესაც ხმა გამოვლენილია. მიკროკონტროლერი დაპროგრამებულია ხმის დიდი განსხვავებების გამოსავლენად. როდესაც გამოვლენილია საკმაოდ დიდი განსხვავება, რაც ნიშნავს ტაშს, მიკროკონტროლერი აგზავნის სიგნალს სარელეოზე. რელე იცვლება და შუქი ანათებს. მეორედ ტაშის დაკვრისას, შუქი კვლავ ჩაქრება.
მარაგები
ფიზიკური ნივთები:
- 1x ATmega328P Xplained Mini კაბელით პროგრამირებისთვის
- 1x 5v სარელეო მოდული 1 არხი (KY-019 ან მსგავსი)
- 1x ხმის სენსორის მოდული (KY-038 ან მსგავსი)
- 1x პურის დაფა
- 6x მამაკაცი-მხტუნავის მავთული
- 1x მსუბუქი ბუდე კაბელით (ან ნებისმიერი სხვა მოწყობილობა, რომლის ჩართვაც გსურთ)
- 1x ნათურა
- 1x რეზისტორი* (მე ვიყენებ 220 Ohm)
- 1x LED*
პროგრამული უზრუნველყოფა (ჩამოტვირთვა):
- AtmelStudio 7.0 (https://www.microchip.com/mplab/avr-support/atmel-studio-7)
- პუტი (www.putty.org)*
* ტესტირების მიზნით
ნაბიჯი 1: კავშირები
შეაერთეთ ყველა მავთული, როგორც ნაჩვენებია სურათზე.
ნაბიჯი 2: პროგრამის შექმნა
მე მიყვარს კოდირება C– ში, ასე რომ, ეს პროექტი დაწერილია C– ში.
თუ ჯერ არ გადმოწერილი და დაინსტალირებული გაქვთ საჭირო პროგრამული უზრუნველყოფა, გადმოწერეთ და დააინსტალირეთ ახლავე.
ახლა მიჰყევით შემდეგ ნაბიჯებს:
- გახსენით AtmelStudio.
- დააწკაპუნეთ "ფაილი" -> "ახალი" -> "პროექტი".
- დააწკაპუნეთ "GCC C შესრულებადი პროექტი". მიეცით თქვენს პროექტს სახელი და ადგილი შესანახად. დააწკაპუნეთ "კარგი".
- მოძებნეთ ATmega328P. დააწკაპუნეთ "ATmega328P" -> "Ok".
- დააწკაპუნეთ Solution Explorer- ზე "main.c" - ზე, რომ გახსნათ ძირითადი პროგრამა.
ნაბიჯი 3: კოდის დამატება
წაშალეთ main.c- ში უკვე არსებული კოდი
დააკოპირეთ და ჩასვით შემდეგი კოდი main.c
#განსაზღვრეთ F_CPU 16000000
#მოიცავს #მოიცავს #მოიცავს #მოიცავს #usart.h " #განსაზღვრეთ MINIMALVALUE 5 void InitADC (); uint16_t ReadADC (uint8_t ADCchannel); ორმაგი val1, val2; int main (void) {// ინიციალიზაცია 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); _ დაგვიანებით_ms (1); // წაიკითხეთ შემდეგი მნიშვნელობა en store in val2 val2 = ReadADC (0); char str [10]; // ReadADC () მნიშვნელობას უბრუნებს მთელ რიცხვებს. თუ ჩვენ გვსურს გამოსწორება ან ჩვენება ღირებულება putty, // მნიშვნელობა უნდა გადაკეთდეს სიმბოლოებად, რათა USART- მა შეძლოს მისი დაბეჭდვა. იტოა (val1, str, 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".
- დააწკაპუნეთ "დაწყება გამართვის გარეშე".
პროგრამა შექმნის და წერს.
როდესაც პროგრამა სწორად მუშაობს თქვენ ნახავთ მთელ მნიშვნელობებს puTTY- ში. Screwdriver– ის გამოყენებით შემიძლია შეცვალო მნიშვნელობა puTTY– ში სენსორზე ხრახნიანი გადახვევით. ჩემი სენსორი იძლევა მნიშვნელობებს 0 -დან 1000 -მდე ხრახნის ბოლომდე გადაბრუნებისას. მე ხრახნი ვბრუნებ მთლიანი ღირებულების 100 -ზე (10%). მე აღმოვაჩინე, რომ ეს ჩემთვის მუშაობს.
ნაბიჯი 6: შეცვალეთ მგრძნობელობა
სინათლის ჩართვისას მგრძნობელობის შესაცვლელად შეგიძლიათ გამოიყენოთ 2 ვარიანტი, მაგრამ აირჩიოთ ერთი და არა ორივე:
- შეცვალეთ სენსორის ხრახნი;
- შეცვალეთ კოდის მნიშვნელობა.
მე ვიყენებ ვარიანტს 2. მინიმუმის გაზრდა გახდის მას ნაკლებად მგრძნობიარე, შემცირება კი მას უფრო მგრძნობიარე გახდის.
#განსაზღვრეთ მინიმალური ღირებულება 5
ნაბიჯი 7: შეცვალეთ ყველაფერი, რაც მოგწონთ
გაფრთხილება: ფრთხილად იყავით მაღალი ძაბვის გადართვისას
როდესაც კმაყოფილი ხართ სენსორის მგრძნობელობით, შეგიძლიათ შეცვალოთ წრე. შეცვალეთ წრე, როგორც ზემოთ მოცემულ სურათზე. ახლა თქვენ შეგიძლიათ შეცვალოთ ყველაფერი, რაც მოგწონთ!
გირჩევთ:
Clap Switch: 4 ნაბიჯი
Clap Switch: დაიღალეთ ადგომისას, უბრალოდ გადაატრიალეთ გადამრთველი, რომ გამორთოთ ან არ გაქვთ მოწყობილობა? რა არის Clap შეცვლა? ტაში -გადართვის წრე არის ხმის ფუძისადმი მგრძნობიარე წრე, ის შედიოდა
Hand Clap Lights Switch: 4 ნაბიჯი
ხელის ჩამორთმევის შუქების გადამრთველი: ხშირად თქვენ გჭირდებათ სიბნელეში რამდენიმე ნაბიჯის გადადგმა, სანამ სინათლის გადამრთველს მიაღწევთ. ახლა ხელის ჩამორთმევით შეგიძლიათ განათება აანთოთ, ძალისხმევის გარეშე
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– ს აქვს შესაძლებლობა ჩართოს/გამორთოს ნებისმიერი ელექტრული კომპონენტი ჩართვის გამომავალი ჩართვა სარელეო გადამრთველთან. აქ ჩვენ ვაპირებთ clap გადამრთველს რამდენიმე კომპონენტით, ძალიან კარგად განმარტებით. ყველა სხვა clap switch– თან შედარებით
Bluetooth Clap Switch .: 3 ნაბიჯი (სურათებით)
Bluetooth Clap Switch .: ეს არის იაფი გზა ძველი bluetooth სპიკერების ხელახალი გამოყენებისათვის. ეს არის წვრილმანი მოწყობილობა, რომელსაც შეუძლია ჩართოს ან გამორთოს განათება ან ქალაქის ძაბვის ნებისმიერი ნივთი მობილურში დაინსტალირებულ პროგრამულ უზრუნველყოფაში. თქვენ გჭირდებათ:. Arduino board 5v relayany ძველი bluetooth