![Clap-on Switch: 7 алхам (зурагтай) Clap-on Switch: 7 алхам (зурагтай)](https://i.howwhatproduce.com/images/001/image-2858-18-j.webp)
Агуулгын хүснэгт:
2025 Зохиолч: John Day | [email protected]. Хамгийн сүүлд өөрчлөгдсөн: 2025-01-23 15:00
![Image Image](https://i.howwhatproduce.com/images/001/image-2858-20-j.webp)
![](https://i.ytimg.com/vi/x4kvyEj_pTQ/hqdefault.jpg)
Хамаатан садан маань нэг удаа надаас гараа алгадахад хариу үйлдэл үзүүлэх унтраалга үүсгэж болох эсэхийг асуусан. Тиймээс би төсөл зохиохын тулд зарим зүйлийг захиалж, зааварчилгаа өгөхөөр шийдсэн бөгөөд ингэснээр хүн бүр ийм гайхалтай унтраалга авах боломжтой болно.
Микроконтроллер бол энэ төслийн тархи юм. Дууны мэдрэгч нь микроконтроллерт холбогдсон бөгөөд дуу илрэх үед мэдрэгч аналог өгөгдлийг илгээдэг. Микроконтроллер нь дууны том ялгааг илрүүлэхээр програмчлагдсан байдаг. Алга ташилт гэсэн утгатай хангалттай өндөр зөрүүг илрүүлэхэд микроконтроллер реле рүү дохио илгээдэг. Реле шилжиж, гэрэл асдаг. Хоёр дахь удаагаа алгадахад гэрэл дахин унтарна.
Хангамж
Физик зүйл:
- Програмчлалын кабель бүхий 1x ATmega328P Xplained Mini
- 1х 5в реле модуль 1 суваг (KY-019 эсвэл үүнтэй төстэй)
- 1х Дууны мэдрэгч модуль (KY-038 эсвэл үүнтэй төстэй)
- 1х талхны самбар
- 6х эрэгтэй-эрэгтэй холбогч утас
- 1х утастай гэрлийн залгуур (эсвэл асаахыг хүссэн бусад төхөөрөмж)
- 1х чийдэн
- 1х эсэргүүцэл* (би 220 Ом ашигладаг)
- 1х LED*
Програм хангамж (татаж авах):
- AtmelStudio 7.0 (https://www.microchip.com/mplab/avr-support/atmel-studio-7)
- Шаваас (www.putty.org)*
* Туршилтын зорилгоор
Алхам 1: Холболтууд
![Хөтөлбөрийг бий болгох Хөтөлбөрийг бий болгох](https://i.howwhatproduce.com/images/001/image-2858-21-j.webp)
Зурагт үзүүлсэн шиг бүх утсыг холбоно уу.
Алхам 2: Програм үүсгэх
![Хөтөлбөрийг бий болгох Хөтөлбөрийг бий болгох](https://i.howwhatproduce.com/images/001/image-2858-22-j.webp)
![Хөтөлбөрийг бий болгох Хөтөлбөрийг бий болгох](https://i.howwhatproduce.com/images/001/image-2858-23-j.webp)
Би C дээр код бичих дуртай тул энэ төслийг C дээр бичсэн болно.
Хэрэв та шаардлагатай програм хангамжийг татаж аваад суулгаагүй байгаа бол одоо татаж аваад суулгаарай.
Одоо дараах алхамуудыг дагана уу.
- AtmelStudio -ийг нээнэ үү.
- "Файл" -> "Шинэ" -> "Төсөл" дээр дарна уу.
- "GCC C Executable Project" дээр дарна уу. Төслөө хадгалах нэр, байршлыг өгнө үү. "Ok" дээр дарна уу.
- ATmega328P хайх. "ATmega328P" -> "Ok" дээр дарна уу.
- "Main.c" дээрх Solution Explorer дээр дарж үндсэн програмыг нээнэ үү.
Алхам 3: Код нэмэх
Main.c дээр байгаа кодоо устга
Дараах кодыг main.c дээр хуулж буулгана уу
#тодорхойлох F_CPU 16000000
#include #include #include #include "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 low болгож тохируулна уу. PORTC = 0b00000000; while (1) {// унших потенциометрийн утга // унших утга ба val1 дотор хадгалах val1 = ReadADC (0); _хойшлох_ms (1); // val2 дахь дэлгүүрийн дараагийн утгыг уншина уу val2 = ReadADC (0); char str [10]; // ReadADC () нь бүхэл тоогоор буцааж өгдөг. Хэрэв бид дибаг хийхийг хүсч байвал шаваасны утгыг харахыг хүсвэл // утгыг тэмдэгт болгон хөрвүүлэх шаардлагатай бөгөөд ингэснээр USART хэвлэх боломжтой болно. itoa (val1, str, 10); USART_putstr (str); 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 нэмж байна](https://i.howwhatproduce.com/images/001/image-2858-24-j.webp)
USART бол микроконтроллер дээр ашиглах боломжтой цуваа холбооны протокол юм. Мэдрэгчийн аналог өгөгдлийг харахын тулд би үүнийг микроконтроллер дээр ашигладаг.
USART нь аль хэдийн зөв програмчлагдсан бөгөөд толгой (.h) болон эх сурвалж (.c) файлыг агуулсан болно. 2 файлыг татаж аваад AtmelStudio дахь програмдаа нэмээрэй.
Solution Explorer дээрх төслийн нэр дээр хулганы баруун товчийг дарна уу. "Нэмэх" -> "Байгаа зүйл …" дээр дараад татаж авсан 2 файлыг сонгоно уу.
Алхам 5: Кодыг ажиллуулах
![Кодыг ажиллуулж байна Кодыг ажиллуулж байна](https://i.howwhatproduce.com/images/001/image-2858-25-j.webp)
![Кодыг ажиллуулж байна Кодыг ажиллуулж байна](https://i.howwhatproduce.com/images/001/image-2858-26-j.webp)
Микроконтроллерийг компьютерт холбоно уу. Компьютер дээрээ "төхөөрөмжийн менежер" гэж хайгаад нээнэ үү. "Ports (COM & LPT)" гэж хайж олоод микроконтроллерийн COM портыг санаарай.
PuTTY-ийг нээгээд "Цуваа" дээр дарж микроконтроллерийн COM портыг бичээд "Нээх" дээр дарна уу. Терминал гарч ирнэ, одоохондоо орхи.
AtmelStudio руу буцаж очоод микроконтроллер програмчлах зөв хэрэгслийг сонгоно уу.
- Алхны хэрэгсэл дээр дарна уу.
- "MEDBG*ATML" дибаг хийгч/програмистыг сонгоно уу.
- "DebugWIRE" интерфэйсийг сонгоно уу.
- "Дебаг хийхгүйгээр эхлүүлэх" дээр дарна уу.
Хөтөлбөрийг бүтээх, бичих болно.
Хөтөлбөр зөв ажиллаж байх үед puTTY дотор бүхэл тоон утгыг харах болно. Би халив ашиглан мэдрэгчийн боолтыг эргүүлснээр puTTY -д үзүүлсэн утгыг өөрчилж болно. Боолтыг бүхэлд нь эргүүлэхэд миний мэдрэгч 0 -ээс 1000 хүртэлх утгыг өгдөг. Би боолтыг нийт үнийн дүнгийн 100 (10%) болгож байна. Энэ нь надад тохирсон болохыг би олж мэдсэн.
Алхам 6: Мэдрэмжийг өөрчлөх
Гэрэл асах үед мэдрэмжийг тохируулахын тулд та 2 сонголтыг ашиглаж болно, гэхдээ хоёуланг нь биш аль нэгийг нь сонгоорой.
- Мэдрэгчийн боолтыг өөрчлөх;
- Кодын утгыг өөрчлөх.
Би 2 -р сонголтыг ашигладаг. MINIMALVALUE -ийг нэмэгдүүлэх нь мэдрэмтгий байдлыг бууруулж, багасгах нь илүү мэдрэмтгий болгодог.
MINIMALVALUE 5 -ийг тодорхойлох
Алхам 7: Таалагдсан бүх зүйлээ солино уу
![Таалагдсан бүх зүйлээ солино уу! Таалагдсан бүх зүйлээ солино уу!](https://i.howwhatproduce.com/images/001/image-2858-27-j.webp)
![Таалагдсан бүх зүйлээ солино уу! Таалагдсан бүх зүйлээ солино уу!](https://i.howwhatproduce.com/images/001/image-2858-28-j.webp)
АНХААРУУЛГА: Өндөр хүчдэлийг солихдоо болгоомжтой байгаарай
Мэдрэгчийн мэдрэмжинд сэтгэл хангалуун байвал та хэлхээг өөрчилж болно. Дээрх зураг шиг схемийг өөрчил. Та одоо дуртай зүйлээ сольж болно!
Зөвлөмж болгож буй:
Clappy: Clap Controlled Lamp: 4 алхам
![Clappy: Clap Controlled Lamp: 4 алхам Clappy: Clap Controlled Lamp: 4 алхам](https://i.howwhatproduce.com/images/001/image-1370-j.webp)
Clappy: Clap Controlled Lamp: Хамгийн гол нь код бөгөөд логикийг ашигладаг. Бид алга таших үед дууны мэдрэгч нь өндөр дохио илгээдэг бөгөөд энэ нь бидний реле байдлыг үнэн эсвэл худал болгодог
DIY Flight Sim Switch Panel: 7 алхам (зурагтай)
![DIY Flight Sim Switch Panel: 7 алхам (зурагтай) DIY Flight Sim Switch Panel: 7 алхам (зурагтай)](https://i.howwhatproduce.com/images/001/image-1603-j.webp)
DIY Flight Sim Switch Panel: Нислэгийн сим нийгэмлэгт олон жилийг өнгөрөөж, илүү төвөгтэй нисэх онгоцонд хамрагдсаны дараа би үүнийг ашиглахдаа баруун гараараа нисэх гэж оролдохын оронд гараа физик унтраалга дээр байлгахыг хүсч байна. м
Endstop Switch бүхий 3 соронзон гогцооны антенны хянагч: 18 алхам (зурагтай)
![Endstop Switch бүхий 3 соронзон гогцооны антенны хянагч: 18 алхам (зурагтай) Endstop Switch бүхий 3 соронзон гогцооны антенны хянагч: 18 алхам (зурагтай)](https://i.howwhatproduce.com/images/001/image-55-27-j.webp)
Endstop Switch бүхий 3 соронзон гогцооны антенны хянагч: Энэхүү төсөл нь арилжааны зориулалтгүй сонирхогчид зориулагдсан болно. Гагнуурын төмөр, хуванцар хайрцаг, arduino -ийн талаар бага зэрэг мэдлэгтэйгээр бүтээхэд хялбар байдаг. Хянагч нь төсвийн бүрэлдэхүүн хэсгүүдээр хийгдсэн бөгөөд та үүнийг интернетээс амархан олох боломжтой (~ 20 €)
Sonoff Switch Module -ийг жолоодохын тулд Homie Firmware -ийг ашиглана уу (ESP8266 дээр суурилсан): 5 алхам (зурагтай)
![Sonoff Switch Module -ийг жолоодохын тулд Homie Firmware -ийг ашиглана уу (ESP8266 дээр суурилсан): 5 алхам (зурагтай) Sonoff Switch Module -ийг жолоодохын тулд Homie Firmware -ийг ашиглана уу (ESP8266 дээр суурилсан): 5 алхам (зурагтай)](https://i.howwhatproduce.com/images/004/image-10725-j.webp)
Sonoff Switch Module -ийг жолоодохын тулд Homie Firmware -ийг ашиглана уу (ESP8266 дээр суурилсан): Энэ бол зааварчилгаа бөгөөд би үүнийг "IoT эсвэл гэрийн автоматжуулалтад зориулж Homie төхөөрөмж бүтээх" -ээс хойш бичсэн. Хожим нь D1 Mini самбарыг тойрсон үндсэн хяналт (DHT22, DS18B20, гэрэл) дээр анхаарлаа төвлөрүүлж байсан бөгөөд энэ удаад би
Bluetooth Clap Switch: 3 алхам (зурагтай)
![Bluetooth Clap Switch: 3 алхам (зурагтай) Bluetooth Clap Switch: 3 алхам (зурагтай)](https://i.howwhatproduce.com/images/001/image-837-56-j.webp)
Bluetooth Clap Switch: Энэ бол хуучин bluetooth задлагчийг дахин ашиглах хямд арга юм. Энэ бол гар утсанд суулгасан програм хангамжийг алгадах замаар гэрэл эсвэл хотын хүчдэлийн аливаа зүйлийг асаах, унтраах боломжтой DIY төхөөрөмж юм. Танд хэрэгтэй зүйл: