Სარჩევი:

Clap-on Switch: 7 ნაბიჯი (სურათებით)
Clap-on Switch: 7 ნაბიჯი (სურათებით)

ვიდეო: Clap-on Switch: 7 ნაბიჯი (სურათებით)

ვიდეო: Clap-on Switch: 7 ნაბიჯი (სურათებით)
ვიდეო: What to do after WATER SPILL on a computer! #shorts #shortsyt #ytshorts 2024, ივლისი
Anonim
Image
Image

ნათესავმა ერთხელ მკითხა, შევძლებ თუ არა ჩამრთველის შექმნას, რომელიც რეაგირებს თქვენს ხელთა ტაში. ასე რომ, მე შევუკვეთე რაღაცეები პროექტის შესაქმნელად და გადავწყვიტე გამეკეთებინა ინსტრუქცია, რათა ყველას ჰქონოდა ასეთი გასაოცარი გადართვა.

მიკროკონტროლი არის ამ პროექტის ტვინი. ხმის სენსორი დაკავშირებულია მიკროკონტროლერთან, სენსორი აგზავნის ანალოგიურ მონაცემებს, როდესაც ხმა გამოვლენილია. მიკროკონტროლერი დაპროგრამებულია ხმის დიდი განსხვავებების გამოსავლენად. როდესაც გამოვლენილია საკმაოდ დიდი განსხვავება, რაც ნიშნავს ტაშს, მიკროკონტროლერი აგზავნის სიგნალს სარელეოზე. რელე იცვლება და შუქი ანათებს. მეორედ ტაშის დაკვრისას, შუქი კვლავ ჩაქრება.

მარაგები

ფიზიკური ნივთები:

  • 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– ში.

თუ ჯერ არ გადმოწერილი და დაინსტალირებული გაქვთ საჭირო პროგრამული უზრუნველყოფა, გადმოწერეთ და დააინსტალირეთ ახლავე.

ახლა მიჰყევით შემდეგ ნაბიჯებს:

  1. გახსენით AtmelStudio.
  2. დააწკაპუნეთ "ფაილი" -> "ახალი" -> "პროექტი".
  3. დააწკაპუნეთ "GCC C შესრულებადი პროექტი". მიეცით თქვენს პროექტს სახელი და ადგილი შესანახად. დააწკაპუნეთ "კარგი".
  4. მოძებნეთ ATmega328P. დააწკაპუნეთ "ATmega328P" -> "Ok".
  5. დააწკაპუნეთ 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- ის დამატება

USART არის სერიული საკომუნიკაციო პროტოკოლი, რომლის გამოყენებაც შესაძლებელია მიკროკონტროლერზე. მე მას ვიყენებ მიკროკონტროლერზე სენსორის ანალოგური მონაცემების სანახავად.

USART უკვე სწორად არის დაპროგრამებული, შეიცავს სათაურს (.h) და წყაროს (.c) ფაილს. ჩამოტვირთეთ 2 ფაილი და დაამატეთ ისინი თქვენს პროგრამაში AtmelStudio– ში.

მარჯვენა ღილაკით დააწკაპუნეთ პროექტის სახელზე Solution Explorer- ში. დააწკაპუნეთ "დამატება" -> "არსებული ერთეული …" და შეარჩიეთ გადმოწერილი 2 ფაილი.

ნაბიჯი 5: კოდის გაშვება

კოდის გაშვება
კოდის გაშვება
კოდის გაშვება
კოდის გაშვება

შეაერთეთ მიკროკონტროლი კომპიუტერთან. მოძებნეთ "მოწყობილობის მენეჯერი" თქვენს კომპიუტერში და გახსენით იგი. მოძებნეთ "პორტები (COM & LPT)" და დაიმახსოვრეთ ის COM პორტი, რომელზეც მიკროკონტროლერი არის ჩართული.

გახსენით PuTTY და დააწკაპუნეთ "სერიალზე" ჩაწერეთ მიკროკონტროლერის მიერ ნაპოვნი COM პორტი და დააჭირეთ "გახსნას". ამოდის ტერმინალი, დატოვეთ ის ახლავე.

დაუბრუნდით AtmelStudio– ს მიკროკონტროლერის პროგრამირების სწორი ინსტრუმენტის შესარჩევად.

  1. დააწკაპუნეთ ჩაქუჩის ინსტრუმენტზე.
  2. შეარჩიეთ "mEDBG*ATML" პროგრამული უზრუნველყოფის გამართვის პროგრამა.
  3. აირჩიეთ ინტერფეისი "debugWIRE".
  4. დააწკაპუნეთ "დაწყება გამართვის გარეშე".

პროგრამა შექმნის და წერს.

როდესაც პროგრამა სწორად მუშაობს თქვენ ნახავთ მთელ მნიშვნელობებს puTTY- ში. Screwdriver– ის გამოყენებით შემიძლია შეცვალო მნიშვნელობა puTTY– ში სენსორზე ხრახნიანი გადახვევით. ჩემი სენსორი იძლევა მნიშვნელობებს 0 -დან 1000 -მდე ხრახნის ბოლომდე გადაბრუნებისას. მე ხრახნი ვბრუნებ მთლიანი ღირებულების 100 -ზე (10%). მე აღმოვაჩინე, რომ ეს ჩემთვის მუშაობს.

ნაბიჯი 6: შეცვალეთ მგრძნობელობა

სინათლის ჩართვისას მგრძნობელობის შესაცვლელად შეგიძლიათ გამოიყენოთ 2 ვარიანტი, მაგრამ აირჩიოთ ერთი და არა ორივე:

  1. შეცვალეთ სენსორის ხრახნი;
  2. შეცვალეთ კოდის მნიშვნელობა.

მე ვიყენებ ვარიანტს 2. მინიმუმის გაზრდა გახდის მას ნაკლებად მგრძნობიარე, შემცირება კი მას უფრო მგრძნობიარე გახდის.

#განსაზღვრეთ მინიმალური ღირებულება 5

ნაბიჯი 7: შეცვალეთ ყველაფერი, რაც მოგწონთ

შეცვალეთ ყველაფერი რაც მოგწონთ!
შეცვალეთ ყველაფერი რაც მოგწონთ!
შეცვალეთ ყველაფერი რაც მოგწონთ!
შეცვალეთ ყველაფერი რაც მოგწონთ!

გაფრთხილება: ფრთხილად იყავით მაღალი ძაბვის გადართვისას

როდესაც კმაყოფილი ხართ სენსორის მგრძნობელობით, შეგიძლიათ შეცვალოთ წრე. შეცვალეთ წრე, როგორც ზემოთ მოცემულ სურათზე. ახლა თქვენ შეგიძლიათ შეცვალოთ ყველაფერი, რაც მოგწონთ!

გირჩევთ: