Mündəricat:

Çırpma açarı: 7 addım (şəkillərlə)
Çırpma açarı: 7 addım (şəkillərlə)

Video: Çırpma açarı: 7 addım (şəkillərlə)

Video: Çırpma açarı: 7 addım (şəkillərlə)
Video: Windows 7/8/10 Əməliyyat Sisteminin Aktivləşdirilməsi (Ömürlük Lisenziya) 2024, Iyul
Anonim
Image
Image

Bir qohum məndən əllərinizi çalmağa reaksiya verən bir keçid yarada biləcəyimi soruşdu. Bir layihə yaratmaq üçün bəzi şeylər sifariş etdim və hər kəsin belə bir zəhmli keçidinə sahib ola bilməsi üçün öyrədici bir şey etmək qərarına gəldim.

Mikro nəzarətçi bu layihənin beynidir. Mikro nəzarətçiyə bir səs sensoru qoşulur, səs aşkar edildikdə sensor analoq məlumat göndərir. Mikro nəzarətçi, səsdəki böyük fərqləri aşkar etmək üçün proqramlaşdırılmışdır. Kifayət qədər yüksək bir fərq algılandığında, mikro nəzarətçi röleye bir siqnal göndərir. Röle açılır və işıq yanır. İkinci dəfə əl çalanda işıq yenidən sönəcək.

Təchizat

Fiziki maddələr:

  • Proqramlaşdırma üçün kabel ilə 1x ATmega328P Xplained Mini
  • 1x 5v röle modulu 1 kanal (KY-019 və ya bənzəri)
  • 1x Səs sensoru modulu (KY-038 və ya bənzəri)
  • 1x Çörək Paneli
  • 6x Kişi-Kişi tullanan tel
  • Şnurlu 1x işıq soketi (və ya açmaq istədiyiniz hər hansı digər cihaz)
  • 1 x ampul
  • 1x rezistor* (220 Ohm istifadə edirəm)
  • 1x LED*

Proqram təminatı (yükləyin):

  • AtmelStudio 7.0 (https://www.microchip.com/mplab/avr-support/atmel-studio-7)
  • Macun (www.putty.org)*

* Test məqsədləri üçün

Addım 1: Bağlantılar

Proqramın yaradılması
Proqramın yaradılması

Şəkildə göstərildiyi kimi bütün telləri bağlayın.

Addım 2: Proqramın yaradılması

Proqramın yaradılması
Proqramın yaradılması
Proqramın yaradılması
Proqramın yaradılması

C -də kod yazmağı sevirəm, buna görə də bu layihə C -də yazılıb.

Lazımi proqramı hələ yükləməmisinizsə və yükləməmisinizsə, indi yükləyin və quraşdırın.

İndi aşağıdakı addımları izləyin:

  1. AtmelStudio açın.
  2. "Fayl" -> "Yeni" -> "Layihə" düyməsini basın.
  3. "GCC C Executable Project" düyməsini basın. Layihənizi saxlamaq üçün bir ad və yer verin. "Ok" düyməsini basın.
  4. ATmega328P axtarın. "ATmega328P" -> "Tamam" düyməsini basın.
  5. Əsas proqramı açmaq üçün "main.c" üzərindəki Solution Explorer -ə vurun.

Addım 3: Kod əlavə edin

Main.c -də artıq mövcud olan kodu silin

Aşağıdakı kodu kopyalayın və main.c -ə yapışdırın

#F_CPU 16000000 təyin edin

#include #include #include #include "usart.h" #define MINIMALVALUE 5 void InitADC (); uint16_t ReadADC (uint8_t ADCchannel); ikiqat val1, val2; int main (void) {// USART USART_init'i (9600) başladın; USART_putstr ("#USART init / n"); // ADC InitADC () işə salın; USART_putstr ("#ADC init / n"); // PORTC çıxışının PC1 pin, qalan giriş. DDRC = 0b00000010; // ilkin dəyərləri PORTC aşağı olaraq təyin edin. PORTC = 0b00000000; while (1) {// oxu potansiyometrinin dəyəri // oxu dəyəri və val1 -də saxla val1 = ReadADC (0); _delay_ms (1); // val2 -də saxlanılan növbəti dəyəri oxuyun val2 = ReadADC (0); char str [10]; // ReadADC () dəyəri tam ədədlərlə qaytarır. Hata ayıklamaq və ya macunun dəyərini görmək istəyiriksə, // USART -ın çap edə bilməsi üçün dəyərin simvollara çevrilməsi lazımdır. itoa (val1, str, 10); USART_putstr (str); USART_putstr ("\ n"); // 2 dəyərin müəyyən bir fərqi varsa. Bir səs aşkarlanır və bir portu dəyişdirir. // MINIMALVALUE dəyişdirilə bilər, artması onu daha az həssas edəcək. Azaldılması onu daha həssas edəcək (val1-val2> MINIMALVALUE || val2-val1> MINIMALVALUE) {PORTC ^= 0b00000010; // UC -da İŞIQ _delay_ms (200); }}} void InitADC () {// Vref = AVcc ADMUX | = (1 << REFS0) seçin; // prescaller'ı 128 olaraq təyin edin və ADC ADCSRA'yı etkinleştirin | = (1 << ADPS2) | (1 << ADPS1) | (1 << ADPS0) | (1 << ADEN); } uint16_t ReadADC (uint8_t ADCchannel) {// təhlükəsizlik maskası olan ADC kanalını seçin ADMUX = (ADMUX & 0xF0) | (ADCchannel & 0x0F); // tək dönüşüm rejimi ADCSRA | = (1 << ADSC); // ADC çevrilməsinin tamamlanmasını gözləyin (ADCSRA & (1 << ADSC)); ADC -ni geri qaytarmaq; }

Addım 4: USART əlavə edin

USART əlavə olunur
USART əlavə olunur

USART, mikrokontrolördə istifadə edilə bilən serial ünsiyyət protokoludur. Sensordan analoq məlumatları görmək üçün mikrokontrolördə istifadə edirəm.

USART artıq bir başlıq (.h) və mənbə (.c) faylı olan düzgün proqramlaşdırılmışdır. 2 faylı yükləyin və AtmelStudio proqramına əlavə edin.

Solution Explorer-da layihə adına sağ vurun. "Əlavə et" -> "Mövcud maddə …" düyməsini basın və yüklənmiş 2 faylı seçin.

Addım 5: Kodun işə salınması

Kodun işlədilməsi
Kodun işlədilməsi
Kodun işlədilməsi
Kodun işlədilməsi

Mikro nəzarətçini kompüterə qoşun. Kompüterinizdə "cihaz meneceri" ni axtarın və açın. "Limanlar (COM & LPT)" tapın və mikro nəzarətçinin COM portunu unutmayın.

PuTTY açın və "Serial" düyməsini basın, mikro nəzarətçidən tapdığınız COM portunu yazın və "Aç" düyməsini basın. Bir terminal açılır, hələlik buraxın.

Mikro nəzarətçini proqramlaşdırmaq üçün doğru vasitəni seçmək üçün AtmelStudio -ya qayıdın.

  1. Çəkic alətinə vurun.
  2. "MEDBG*ATML" ayıklayıcı/proqramçı seçin.
  3. "DebugWIRE" interfeysini seçin.
  4. "Hata ayırmadan başla" düyməsini basın.

Proqram quracaq və yazacaq.

Proqram düzgün işlədikdə puTTY -də tam ədədləri görürsünüz. Tornavida istifadə edərək, sensoru vintini çevirərək puTTY -də görünən dəyəri dəyişə bilərəm. Vidayı tamamilə döndərərkən sensorum 0 -dan 1000 -ə qədər dəyərlər verir. Vidayı ümumi dəyərin 100 -ə (10%) çevirirəm. Bunun mənim üçün işlədiyini öyrəndim.

Addım 6: Həssaslığı dəyişdirin

İşıq yandıqda həssaslığı tənzimləmək üçün 2 variantdan istifadə edə bilərsiniz, lakin hər ikisindən birini seçin:

  1. Sensor vintini dəyişdirin;
  2. Kod dəyərini dəyişdirin.

Seçim 2 -dən istifadə edirəm. MİNİMALVALU artırmaq onu daha az həssas edəcək, azaltmaq daha həssas edir.

#MİNIMALVALUE 5 -i təyin edin

Addım 7: İstədiyiniz hər şeyi dəyişdirin

İstədiyiniz hər şeyi dəyişdirin!
İstədiyiniz hər şeyi dəyişdirin!
İstədiyiniz hər şeyi dəyişdirin!
İstədiyiniz hər şeyi dəyişdirin!

XƏBƏRDARLIQ: Yüksək gərginlik dəyişdirərkən diqqətli olun

Sensorun həssaslığından məmnun olduğunuzda dövrəni dəyişə bilərsiniz. Dövrəni yuxarıdakı şəkildəki kimi dəyişdirin. İndi istədiyiniz hər şeyi dəyişə bilərsiniz!

Tövsiyə: