Kazalo:
- Zaloge
- 1. korak: Povezave
- 2. korak: Ustvarjanje programa
- 3. korak: Dodajanje kode
- 4. korak: Dodajanje USART
- 5. korak: Zaženite kodo
- 6. korak: Spremenite občutljivost
- 7. korak: Preklopite vse, kar vam je všeč
Video: Stikalo s ploskanjem: 7 korakov (s slikami)
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:02
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
Priključite vse žice, kot je prikazano na sliki.
2. korak: 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:
- Odprite AtmelStudio.
- Kliknite "Datoteka" -> "Novo" -> "Projekt".
- Kliknite na "GCC C izvedljiv projekt". Dajte svojemu projektu ime in lokacijo za shranjevanje. Kliknite "V redu".
- Poiščite ATmega328P. Kliknite "ATmega328P" -> "V redu".
- 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
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
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.
- Kliknite na orodje kladiva.
- Izberite iskalnik napak/programer "mEDBG*ATML".
- Izberite vmesnik "debugWIRE".
- 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:
- Zamenjajte senzorski vijak;
- 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č
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:
Stikalo s ploskanjem: 4 koraki
Stikalo s ploskanjem: Ste utrujeni od vstajanja samo zato, da stikalo obrnete, da izklopite/brez aparata?, Ali ste utrujeni od iskanja stikala v temi?. Kaj je stikalo Clap? Vezje stikala za ploskanje je vezje, občutljivo na zvočno bazo, bilo je nepozabno
Modrček s ploskanjem: 27 korakov (s slikami)
Modrček za ploskanje: Ko sem prvič prebral o sirskem spodnjem perilu, sem bil zelo ganjen. Na zahodu pogosto razmišljamo o arabskih kulturah kot spolno potlačenih družbah, ko se v resnici izkaže, da so očitno skoki in meje pred nami pri napredovanju spodnjega perila
LED stikalo z dvojnim ploskanjem: 3 koraki
LED stikalo z dvojnim ploskanjem: kaj počne Z Abidovimi sredstvi sem ustvaril stikalo LED z dvojno ploskajočo lučjo z uporabo Arduino Leonarda, ploščico, nekaj kablov, preprost mikrofon in LED. Ko dvakrat ploskate, se LED prižge. Ponovno dvakrat ploskajte in LED lučka se bo zasvetila
Stikalo za svetlobo z daljinskim upravljalnikom Bluetooth - naknadno opremljanje. Stikalo za luč še vedno deluje, brez dodatnega pisanja .: 9 korakov (s slikami)
Stikalo za luč z daljinskim upravljalnikom Bluetooth - naknadno opremljanje. Stikalo za luči še vedno deluje, brez dodatnega pisanja.: Posodobitev 25. november 2017 - Za različico tega projekta z visoko močjo, ki lahko nadzoruje kilovate obremenitve, glejte Prenovitev nadzora BLE na obremenitve z veliko močjo - brez dodatnih kablov Posodobitev 15. november 2017 - Nekatere plošče BLE / programska oprema zbirajo
Samodejno stikalo za tipkovnico in miško - stikalo USB navzgor: 5 korakov
Samodejno stikalo za tipkovnico in miško - stikalo USB Upstream: V tem projektu bomo sestavili samodejno stikalo za tipkovnico in miško, ki omogoča preprosto skupno rabo med dvema računalnikoma. Ideja za ta projekt je prišla iz moje potrebe, da imam v vsakem trenutku dva računalnika moja laboratorijska miza. Večinoma je to moj D