Kazalo:

Stikalo s ploskanjem: 7 korakov (s slikami)
Stikalo s ploskanjem: 7 korakov (s slikami)

Video: Stikalo s ploskanjem: 7 korakov (s slikami)

Video: Stikalo s ploskanjem: 7 korakov (s slikami)
Video: Стиральная машина не блокирует люк (ошибка dE) 2024, Julij
Anonim
Image
Image

Sorodnik me je enkrat vprašal, ali bi lahko ustvaril stikalo, ki bi reagiralo na ploskanje z rokami. Zato sem naročil nekaj stvari za ustvarjanje projekta in se odločil, da bom naredil navodila, da bodo imeli vsi tako super stikalo.

Mikrokrmilnik je možgani tega projekta. Zvočni senzor je priključen na mikrokrmilnik, senzor pošilja analogne podatke, ko zazna zvok. Mikrokrmilnik je programiran za zaznavanje velikih razlik v zvoku. Ko se zazna dovolj velika razlika, kar pomeni ploskanje, mikrokrmilnik pošlje signal releju. Rele se vklopi in lučka se prižge. Ko drugič ploskate, se lučka znova ugasne.

Zaloge

Fizične stvari:

  • 1x ATmega328P Xplained Mini s kablom za programiranje
  • 1x 1-kanalni relejni modul 5V (KY-019 ali podoben)
  • 1x modul senzorja zvoka (KY-038 ali podoben)
  • 1x Ogledna plošča
  • 6x moška moška moška žica
  • 1x vtičnica za svetilko s kablom (ali katero koli drugo napravo, ki jo želite vklopiti)
  • 1x žarnica
  • 1x upor* (uporabljam 220 ohmov)
  • 1x LED*

Programska oprema (prenos):

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

* Za namene testiranja

1. korak: Povezave

Ustvarjanje programa
Ustvarjanje programa

Priključite vse žice, kot je prikazano na sliki.

2. korak: Ustvarjanje programa

Ustvarjanje programa
Ustvarjanje programa
Ustvarjanje programa
Ustvarjanje programa

Rad kodiram v C, zato je ta projekt napisan v C.

Če še niste prenesli in namestili potrebne programske opreme, jo prenesite in namestite zdaj.

Zdaj sledite tem korakom:

  1. Odprite AtmelStudio.
  2. Kliknite "Datoteka" -> "Novo" -> "Projekt".
  3. Kliknite na "GCC C izvedljiv projekt". Dajte svojemu projektu ime in lokacijo za shranjevanje. Kliknite "V redu".
  4. Poiščite ATmega328P. Kliknite "ATmega328P" -> "V redu".
  5. Kliknite Raziskovalec rešitev na "main.c", da odprete glavni program.

3. korak: Dodajanje kode

Izbrišite kodo, ki je že prisotna v main.c

Kopirajte in prilepite naslednjo kodo v main.c

#define F_CPU 16000000

#include #include #include #include "usart.h" #define MINIMALVALUE 5 void InitADC (); uint16_t ReadADC (uint8_t ADCchannel); dvojni val1, val2; int main (void) {// Inicializirajte USART USART_init (9600); USART_putstr ("#USART init / n"); // Inicializiramo ADC InitADC (); USART_putstr ("#začetni ADC / n"); // PC1 pin PORTC izhoda, preostali vhod. DDRC = 0b00000010; // nastavimo začetne vrednosti na PORTC nizko. PORTC = 0b00000000; while (1) {// odčitavanje vrednosti potenciometra // odčitavanje vrednosti in shranjevanje v val1 val1 = ReadADC (0); _dey_ms (1); // preberi naslednjo vrednost shrani v val2 val2 = ReadADC (0); char str [10]; // ReadADC () vrne vrednost nazaj v cela števila. Če želimo odpraviti napake ali videti vrednost na kitu, // je treba vrednost pretvoriti v znake, da jo lahko USART natisne. itoa (val1, str, 10); USART_putstr (str); USART_putstr ("\ n"); // če imata dve vrednosti določeno razliko. Zazna zvok in preklopi na vrata. // MINIMALVALUE je mogoče spremeniti, s povečanjem bo manj občutljiva. Z zmanjšanjem bo občutljivejša, če (val1-val2> MINIMALVALUE || val2-val1> MINIMALVALUE) {PORTC ^= 0b00000010; // LUČ NA UC _delay_ms (200); }}} void InitADC () {// Izberite Vref = AVcc ADMUX | = (1 << REFS0); // nastavite predklikalnik na 128 in omogočite ADC ADCSRA | = (1 << ADPS2) | (1 << ADPS1) | (1 << ADPS0) | (1 << ADEN); } uint16_t ReadADC (uint8_t ADCchannel) {// izberite kanal ADC z varnostno masko ADMUX = (ADMUX & 0xF0) | (ADCchannel & 0x0F); // enojni način pretvorbe ADCSRA | = (1 << ADSC); // počakajte, da se pretvorba ADC konča, medtem ko (ADCSRA & (1 << ADSC)); povratni ADC; }

4. korak: Dodajanje USART

Dodajanje USART
Dodajanje USART

USART je serijski komunikacijski protokol, ki ga je mogoče uporabiti na mikrokrmilniku. Uporabljam ga na mikrokrmilniku za ogled analognih podatkov s senzorja.

USART je že pravilno programiran in vsebuje datoteko z glavo (.h) in izvorno (.c). Prenesite dve datoteki in ju dodajte v program v programu AtmelStudio.

Z desno miškino tipko kliknite ime projekta v Raziskovalcu rešitev. Kliknite "Dodaj" -> "Obstoječi element …" in izberite 2 preneseni datoteki.

5. korak: Zaženite kodo

Izvajanje kode
Izvajanje kode
Izvajanje kode
Izvajanje kode

Priključite mikrokrmilnik na računalnik. V računalniku poiščite »upravitelj naprav« in ga odprite. Poiščite "Vrata (COM & LPT)" in se spomnite, katera vrata COM je na mikrokrmilniku.

Odprite PuTTY in kliknite na "Serial" vnesite COM-vrata, ki ste jih našli na mikrokrmilniku, in kliknite "Open". Pojavi se terminal, pustite ga za zdaj.

Vrnite se v AtmelStudio, da izberete pravo orodje za programiranje mikrokrmilnika.

  1. Kliknite na orodje kladiva.
  2. Izberite iskalnik napak/programer "mEDBG*ATML".
  3. Izberite vmesnik "debugWIRE".
  4. Kliknite »Začni brez odpravljanja napak«.

Program bo ustvarjal in pisal.

Ko se program pravilno zažene, boste v puTTY videli celoštevilčne vrednosti. Z izvijačem lahko vrednost, prikazano v puTTY, spremenim z vrtenjem vijaka na senzorju. Moj senzor daje vrednosti od 0 do 1000, ko vijak do konca zavrtite. Vijak obrnem na 100 (10%) skupne vrednosti. Ugotovil sem, da mi to deluje.

6. korak: Spremenite občutljivost

Če želite prilagoditi občutljivost, ko se prižge luč, lahko uporabite 2 možnosti, vendar izberite eno, ne obe:

  1. Zamenjajte senzorski vijak;
  2. Spremenite vrednost kode.

Uporabljam možnost 2. Če povečate MINIMALVALUE, bo manj občutljiva, z zmanjšanjem pa občutljivejša.

#define MINIMALVALUE 5

7. korak: Preklopite vse, kar vam je všeč

Zamenjajte vse, kar vam je všeč!
Zamenjajte vse, kar vam je všeč!
Zamenjajte vse, kar vam je všeč!
Zamenjajte vse, kar vam je všeč!

OPOZORILO: Pazite pri preklapljanju višjih napetosti

Ko ste zadovoljni z občutljivostjo senzorja, lahko spremenite vezje. Spremenite vezje, kot je prikazano na zgornji sliki. Zdaj lahko zamenjate karkoli želite!

Priporočena: