Агуулгын хүснэгт:

Clap-on Switch: 7 алхам (зурагтай)
Clap-on Switch: 7 алхам (зурагтай)

Видео: Clap-on Switch: 7 алхам (зурагтай)

Видео: Clap-on Switch: 7 алхам (зурагтай)
Видео: БЕСПРОВОДНОЕ ВИДЕОНАБЛЮДЕНИЕ WIFI комплект KERUI со слежением за людьми 2024, Долдугаар сарын
Anonim
Image
Image

Хамаатан садан маань нэг удаа надаас гараа алгадахад хариу үйлдэл үзүүлэх унтраалга үүсгэж болох эсэхийг асуусан. Тиймээс би төсөл зохиохын тулд зарим зүйлийг захиалж, зааварчилгаа өгөхөөр шийдсэн бөгөөд ингэснээр хүн бүр ийм гайхалтай унтраалга авах боломжтой болно.

Микроконтроллер бол энэ төслийн тархи юм. Дууны мэдрэгч нь микроконтроллерт холбогдсон бөгөөд дуу илрэх үед мэдрэгч аналог өгөгдлийг илгээдэг. Микроконтроллер нь дууны том ялгааг илрүүлэхээр програмчлагдсан байдаг. Алга ташилт гэсэн утгатай хангалттай өндөр зөрүүг илрүүлэхэд микроконтроллер реле рүү дохио илгээдэг. Реле шилжиж, гэрэл асдаг. Хоёр дахь удаагаа алгадахад гэрэл дахин унтарна.

Хангамж

Физик зүйл:

  • Програмчлалын кабель бүхий 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: Холболтууд

Хөтөлбөрийг бий болгох
Хөтөлбөрийг бий болгох

Зурагт үзүүлсэн шиг бүх утсыг холбоно уу.

Алхам 2: Програм үүсгэх

Хөтөлбөрийг бий болгох
Хөтөлбөрийг бий болгох
Хөтөлбөрийг бий болгох
Хөтөлбөрийг бий болгох

Би C дээр код бичих дуртай тул энэ төслийг C дээр бичсэн болно.

Хэрэв та шаардлагатай програм хангамжийг татаж аваад суулгаагүй байгаа бол одоо татаж аваад суулгаарай.

Одоо дараах алхамуудыг дагана уу.

  1. AtmelStudio -ийг нээнэ үү.
  2. "Файл" -> "Шинэ" -> "Төсөл" дээр дарна уу.
  3. "GCC C Executable Project" дээр дарна уу. Төслөө хадгалах нэр, байршлыг өгнө үү. "Ok" дээр дарна уу.
  4. ATmega328P хайх. "ATmega328P" -> "Ok" дээр дарна уу.
  5. "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 нэмж байна

USART бол микроконтроллер дээр ашиглах боломжтой цуваа холбооны протокол юм. Мэдрэгчийн аналог өгөгдлийг харахын тулд би үүнийг микроконтроллер дээр ашигладаг.

USART нь аль хэдийн зөв програмчлагдсан бөгөөд толгой (.h) болон эх сурвалж (.c) файлыг агуулсан болно. 2 файлыг татаж аваад AtmelStudio дахь програмдаа нэмээрэй.

Solution Explorer дээрх төслийн нэр дээр хулганы баруун товчийг дарна уу. "Нэмэх" -> "Байгаа зүйл …" дээр дараад татаж авсан 2 файлыг сонгоно уу.

Алхам 5: Кодыг ажиллуулах

Кодыг ажиллуулж байна
Кодыг ажиллуулж байна
Кодыг ажиллуулж байна
Кодыг ажиллуулж байна

Микроконтроллерийг компьютерт холбоно уу. Компьютер дээрээ "төхөөрөмжийн менежер" гэж хайгаад нээнэ үү. "Ports (COM & LPT)" гэж хайж олоод микроконтроллерийн COM портыг санаарай.

PuTTY-ийг нээгээд "Цуваа" дээр дарж микроконтроллерийн COM портыг бичээд "Нээх" дээр дарна уу. Терминал гарч ирнэ, одоохондоо орхи.

AtmelStudio руу буцаж очоод микроконтроллер програмчлах зөв хэрэгслийг сонгоно уу.

  1. Алхны хэрэгсэл дээр дарна уу.
  2. "MEDBG*ATML" дибаг хийгч/програмистыг сонгоно уу.
  3. "DebugWIRE" интерфэйсийг сонгоно уу.
  4. "Дебаг хийхгүйгээр эхлүүлэх" дээр дарна уу.

Хөтөлбөрийг бүтээх, бичих болно.

Хөтөлбөр зөв ажиллаж байх үед puTTY дотор бүхэл тоон утгыг харах болно. Би халив ашиглан мэдрэгчийн боолтыг эргүүлснээр puTTY -д үзүүлсэн утгыг өөрчилж болно. Боолтыг бүхэлд нь эргүүлэхэд миний мэдрэгч 0 -ээс 1000 хүртэлх утгыг өгдөг. Би боолтыг нийт үнийн дүнгийн 100 (10%) болгож байна. Энэ нь надад тохирсон болохыг би олж мэдсэн.

Алхам 6: Мэдрэмжийг өөрчлөх

Гэрэл асах үед мэдрэмжийг тохируулахын тулд та 2 сонголтыг ашиглаж болно, гэхдээ хоёуланг нь биш аль нэгийг нь сонгоорой.

  1. Мэдрэгчийн боолтыг өөрчлөх;
  2. Кодын утгыг өөрчлөх.

Би 2 -р сонголтыг ашигладаг. MINIMALVALUE -ийг нэмэгдүүлэх нь мэдрэмтгий байдлыг бууруулж, багасгах нь илүү мэдрэмтгий болгодог.

MINIMALVALUE 5 -ийг тодорхойлох

Алхам 7: Таалагдсан бүх зүйлээ солино уу

Таалагдсан бүх зүйлээ солино уу!
Таалагдсан бүх зүйлээ солино уу!
Таалагдсан бүх зүйлээ солино уу!
Таалагдсан бүх зүйлээ солино уу!

АНХААРУУЛГА: Өндөр хүчдэлийг солихдоо болгоомжтой байгаарай

Мэдрэгчийн мэдрэмжинд сэтгэл хангалуун байвал та хэлхээг өөрчилж болно. Дээрх зураг шиг схемийг өөрчил. Та одоо дуртай зүйлээ сольж болно!

Зөвлөмж болгож буй: