Mündəricat:
- Təchizat
- Addım 1: Bağlantılar
- Addım 2: Proqramın yaradılması
- Addım 3: Kod əlavə edin
- Addım 4: USART əlavə edin
- Addım 5: Kodun işə salınması
- Addım 6: Həssaslığı dəyişdirin
- Addım 7: İstədiyiniz hər şeyi dəyişdirin
Video: Çırpma açarı: 7 addım (şəkillərlə)
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:43
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
Şəkildə göstərildiyi kimi bütün telləri bağlayın.
Addım 2: 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:
- AtmelStudio açın.
- "Fayl" -> "Yeni" -> "Layihə" düyməsini basın.
- "GCC C Executable Project" düyməsini basın. Layihənizi saxlamaq üçün bir ad və yer verin. "Ok" düyməsini basın.
- ATmega328P axtarın. "ATmega328P" -> "Tamam" düyməsini basın.
- Ə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, 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ı
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.
- Çəkic alətinə vurun.
- "MEDBG*ATML" ayıklayıcı/proqramçı seçin.
- "DebugWIRE" interfeysini seçin.
- "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:
- Sensor vintini dəyişdirin;
- 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
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ə:
DIY Çırpma Dövrü: 5 addım
DIY əl çalma dövrəsi: Salam uşaqlar! Gəlin Yeniləyək adlı başqa bir təlimata yenidən xoş gəldiniz. Bu dəfə sizə cihazlarınızı yalnız vaxtında 3 dəfə çalmaqla açmağa və ya söndürməyə imkan verən sadə bir dövrə necə quracağınızı göstərəcəyəm
Bluetooth Uzaqdan İdarə Edilən İşıq Açarı - Gücləndirmə. İşıq Açarı Hələ İşləyir, Əlavə Yazı yoxdur.: 9 Addım (Şəkillərlə)
Bluetooth Uzaqdan İdarə Edilən İşıq Açarı - Gücləndirmə. İşıq Açarı Hələ İşləyir, Əlavə Yazı yoxdur .: 25 Noyabr 2017 -ni yeniləyin - Yükün kilovatını idarə edə bilən bu layihənin Yüksək Güclü bir versiyası üçün BLE Nəzarətini Yüksək Güclü Yüklərə Baxın - Əlavə Kablolama Lazım deyil Yeniləmə 15 Noyabr 2017 - Bəzi BLE lövhələri / proqram yığınları
İki keçici çırpma açarı dövrə: 3 addım
İki Keçid Alqı -Satqı Dövrə: Keçici Alqış Şalteri, bir alqış səsi ilə açılan dövrədir. Çıxış bir müddət açıq qalır və sonra avtomatik olaraq sönür. Kondansatörün kapasitansının dəyərini dəyişdirərək fəaliyyətin vaxtını idarə etmək olar. Daha çox
Çırpma ilə aktivləşdirilmiş LED Array: 4 addım
Çırpma ilə aktivləşdirilmiş LED Array: Bu təlimatın sonunda, çırpma kimi yüksək səsləri dinləyən və onlara 3 LED yandıraraq söndürərək cavab verən bir cihaz qura biləcəksiniz. Yuxarıda son nəticənin görüntüsü var
Tokat Açarı: Sadə, Lehimsiz Toxunma Açarı: 7 addım
Tokat Anahtarı: Sadə, Lehimsiz Toxunma Anahtarı: Tokat Açarı, Makey Makey və Scratch ilə kompüter oyunlarına fiziki oyun daxil etmək üçün Explode Controller layihəm üçün nəzərdə tutulmuş sadə müqavimət toxunma açarıdır. Layihənin toxunma açarına ehtiyacı var idi: möhkəm, çırpıla bilən