Obsah:

Prepínač klapky: 7 krokov (s obrázkami)
Prepínač klapky: 7 krokov (s obrázkami)

Video: Prepínač klapky: 7 krokov (s obrázkami)

Video: Prepínač klapky: 7 krokov (s obrázkami)
Video: Секреты Быстрого Облегчения Вздутия Живота 2024, Júl
Anonim
Image
Image

Príbuzný sa ma raz opýtal, či by som mohol vytvoriť spínač, ktorý reaguje na tlieskanie rukami. Takže som si objednal nejaké veci na vytvorenie projektu a rozhodol som sa, že urobím návod, aby každý mohol mať taký úžasný prepínač.

Mikrokontrolér je mozgom tohto projektu. K mikrokontroléru je pripojený zvukový senzor, ktorý pri detekcii zvuku odosiela analógové údaje. Mikrokontrolér je naprogramovaný tak, aby detekoval veľké rozdiely vo zvuku. Keď je detegovaný dostatočne vysoký rozdiel, čo znamená tlesknutie, mikrokontrolér vyšle signál do relé. Relé sa zapne a rozsvieti sa svetlo. Pri druhom tlieskaní sa svetlo opäť vypne.

Zásoby

Fyzické veci:

  • 1x ATmega328P Xplained Mini s káblom na programovanie
  • 1 x 5v reléový modul, 1 kanál (KY-019 alebo podobný)
  • 1x modul zvukového senzora (KY-038 alebo podobný)
  • 1x Breadboard
  • 6x prepojovací kábel male-male
  • 1x svetelná zásuvka s káblom (alebo iným zariadením, ktoré chcete zapnúť)
  • 1x žiarovka
  • 1x odpor* (používam 220 ohmov)
  • 1x LED*

Softvér (na stiahnutie):

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

* Na testovacie účely

Krok 1: Pripojenia

Vytvorenie programu
Vytvorenie programu

Pripojte všetky vodiče podľa obrázku.

Krok 2: Vytvorenie programu

Vytvorenie programu
Vytvorenie programu
Vytvorenie programu
Vytvorenie programu

Rád kódujem v jazyku C, takže tento projekt je napísaný v jazyku C.

Ak ste si ešte nestiahli a nenainštalovali potrebný softvér, stiahnite si ho a nainštalujte.

Teraz postupujte podľa nasledujúcich krokov:

  1. Otvorte AtmelStudio.
  2. Kliknite na „Súbor“-> „Nový“-> „Projekt“.
  3. Kliknite na „Spustiteľný projekt GCC C“. Pomenujte svoj projekt a uložte ho. Kliknite na „Ok“.
  4. Vyhľadajte ATmega328P. Kliknite na „ATmega328P“-> „Ok“.
  5. Kliknutím na položku v Prieskumníkovi riešení na adrese „main.c“otvoríte hlavný program.

Krok 3: Pridanie kódu

Odstráňte kód, ktorý je už prítomný v main.c

Skopírujte a prilepte nasledujúci kód do súboru main.c

#define F_CPU 16000000

#include #include #include #include "usart.h" #define MINIMALVALUE 5 void InitADC (); uint16_t ReadADC (uint8_t ADCchannel); dvojitý val1, val2; int main (void) {// Inicializácia USART USART_init (9600); USART_putstr ("#USART init / n"); // Inicializácia ADC InitADC (); USART_putstr ("#ADC init / n"); // PC1 pin výstupu PORTC, zvyšok vstup. DDRC = 0b00000010; // nastavenie počiatočných hodnôt na PORTC nízke. PORTC = 0b00000000; while (1) {// čítanie hodnoty potenciometra // čítanie hodnoty a uloženie do hodnoty val1 val1 = ReadADC (0); _delay_ms (1); // čítanie ďalšej hodnoty v obchode val2 val2 = ReadADC (0); char str [10]; // ReadADC () vráti hodnotu späť v celých číslach. Ak chceme ladiť alebo vidieť hodnotu na tmeli, // hodnotu je potrebné previesť na znaky, aby ju USART mohol vytlačiť. itoa (val1, str, 10); USART_putstr (str); USART_putstr ("\ n"); // ak tieto 2 hodnoty majú určitý rozdiel. Zistí sa zvuk a prepne port. // MINIMÁLNU HODNOTU je možné zmeniť, jej zvýšením bude menšia citlivosť. Znížením bude citlivejšie, ak (val1-val2> MINIMALVALUE || val2-val1> MINIMALVALUE) {PORTC ^= 0b00000010; // LIGHT ON UC _delay_ms (200); }}} neplatné InitADC () {// Vybrať Vref = AVcc ADMUX | = (1 << REFS0); // nastavte prescaller na 128 a povoľte ADC ADCSRA | = (1 << ADPS2) | (1 << ADPS1) | (1 << ADPS0) | (1 << ADEN); } uint16_t ReadADC (uint8_t ADCchannel) {// vyberte kanál ADC s bezpečnostnou maskou ADMUX = (ADMUX & 0xF0) | (Kanál ADC & 0x0F); // režim jednoduchej konverzie ADCSRA | = (1 << ADSC); // počkajte, kým sa konverzia ADC nedokončí while (ADCSRA & (1 << ADSC)); vrátiť ADC; }

Krok 4: Pridanie USART

Pridáva sa USART
Pridáva sa USART

USART je sériový komunikačný protokol, ktorý je možné použiť v mikrokontroléri. Používam to na mikrokontroléri na zobrazenie analógových údajov zo snímača.

USART je už naprogramovaný správne a obsahuje súbor hlavičky (.h) a zdrojový (.c) súbor. Stiahnite si 2 súbory a pridajte ich do svojho programu v AtmelStudio.

V programe Solution Explorer kliknite pravým tlačidlom myši na názov projektu. Kliknite na „Pridať“-> „Existujúca položka …“a vyberte 2 stiahnuté súbory.

Krok 5: Spustenie kódu

Spustenie kódu
Spustenie kódu
Spustenie kódu
Spustenie kódu

Pripojte mikrokontrolér k počítaču. V počítači vyhľadajte „správca zariadení“a otvorte ho. Vyhľadajte „Porty (COM a LPT)“a pamätajte na COM port, na ktorom je mikrokontrolér zapnutý.

Otvorte PuTTY a kliknite na „Sériový“, zadajte COM port, ktorý ste našli v mikrokontroléri, a kliknite na „Otvoriť“. Vyskočí terminál, nechajte ho zatiaľ.

Vráťte sa na stránku AtmelStudio a vyberte správny nástroj na programovanie mikrokontroléra.

  1. Kliknite na nástroj kladivo.
  2. Vyberte ladiaci program/programátor „mEDBG*ATML“.
  3. Vyberte rozhranie „debugWIRE“.
  4. Kliknite na „začať bez ladenia“.

Program bude stavať a písať.

Keď program beží správne, v puTTY sa zobrazia celočíselné hodnoty. Pomocou skrutkovača môžem zmeniť hodnotu zobrazenú v puTTY otáčaním skrutky na senzore. Môj senzor pri úplnom otočení skrutky udáva hodnoty od 0 do 1000. Skrutku otáčam na 100 (10%) z celkovej hodnoty. Zistil som, že to na mňa funguje.

Krok 6: Zmeňte citlivosť

Na úpravu citlivosti pri zapnutí svetla môžete použiť 2 možnosti, ale vyberte jednu, nie obe:

  1. Vymeňte skrutku snímača;
  2. Zmeňte hodnotu kódu.

Používam možnosť 2. Zvýšením MINIMÁLNEJ HODNOTY dôjde k jej menšej citlivosti, znížením k zvýšeniu citlivosti.

#define MINIMALVALUE 5

Krok 7: Prepnite všetko, čo sa vám páči

Prepnite všetko, čo sa vám páči!
Prepnite všetko, čo sa vám páči!
Prepnite všetko, čo sa vám páči!
Prepnite všetko, čo sa vám páči!

UPOZORNENIE: Dávajte pozor pri prepínaní vyšších napätí

Keď ste s citlivosťou senzora spokojní, môžete zmeniť obvod. Zmeňte obvod podľa obrázku vyššie. Teraz môžete prepnúť čokoľvek, čo sa vám páči!

Odporúča: