Spisu treści:
- Kieszonkowe dzieci
- Krok 1: Połączenia
- Krok 2: Tworzenie programu
- Krok 3: Dodawanie kodu
- Krok 4: Dodawanie USART
- Krok 5: Uruchamianie kodu
- Krok 6: Zmień czułość
- Krok 7: Zmień wszystko, co chcesz
Wideo: Clap-on Switch: 7 kroków (ze zdjęciami)
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:27
Krewny zapytał mnie kiedyś, czy mógłbym stworzyć przełącznik, który reaguje na klaskanie w dłonie. Zamówiłem więc kilka rzeczy do stworzenia projektu i postanowiłem stworzyć instrukcję, aby każdy mógł mieć taki niesamowity przełącznik.
Mózgiem tego projektu jest mikrokontroler. Do mikrokontrolera podłączony jest czujnik dźwięku, który po wykryciu dźwięku wysyła dane analogowe. Mikrokontroler jest zaprogramowany do wykrywania dużych różnic w dźwięku. Gdy zostanie wykryta wystarczająco duża różnica, czyli klaśnięcie, mikrokontroler wysyła sygnał do przekaźnika. Przekaźnik włącza się i włącza się światło. Po drugim klaśnięciu światło ponownie się wyłączy.
Kieszonkowe dzieci
Rzeczy fizyczne:
- 1x ATmega328P Xplained Mini z kablem do programowania
- 1x moduł przekaźnika 5v 1-kanałowy (KY-019 lub podobny)
- 1x Moduł czujnika dźwięku (KY-038 lub podobny)
- 1x deska do krojenia chleba
- 6x przewód połączeniowy męsko-męski
- 1x gniazdo światła z przewodem (lub dowolne inne urządzenie, które chcesz włączyć)
- 1x żarówka
- 1x rezystor* (ja używam 220 Ohm)
- 1x dioda LED*
Pobieranie oprogramowania):
- AtmelStudio 7.0 (https://www.microchip.com/mplab/avr-support/atmel-studio-7)
- Szpachlówka (www.putty.org)*
* Do celów testowych
Krok 1: Połączenia
Podłącz wszystkie przewody, jak pokazano na obrazku.
Krok 2: Tworzenie programu
Lubię kodować w C, więc ten projekt jest napisany w C.
Jeśli jeszcze nie pobrałeś i nie zainstalowałeś potrzebnego oprogramowania, pobierz je i zainstaluj teraz.
Teraz wykonaj następujące kroki:
- Otwórz AtmelStudio.
- Kliknij „Plik” -> „Nowy” -> „Projekt”.
- Kliknij „Projekt wykonywalny GCC C”. Nadaj swojemu projektowi nazwę i lokalizację do zapisania. Kliknij OK".
- Wyszukaj ATmega328P. Kliknij „ATmega328P” -> „Ok”.
- Kliknij w Eksploratorze rozwiązań na „main.c”, aby otworzyć główny program.
Krok 3: Dodawanie kodu
Usuń kod już obecny w main.c
Skopiuj i wklej następujący kod w main.c
#zdefiniuj F_CPU 16000000
#include #include #include #include "usart.h" #define MINIMALVALUE 5 void InitADC(); uint16_t ReadADC(uint8_t ADCkanał); podwójna val1, val2; int main(void) { // Zainicjuj USART USART_init(9600); USART_putstr("#początek USART\n"); // Zainicjuj ADC InitADC(); USART_putstr("#ADC init\n"); // pin PC1 wyjścia PORTC, reszta wejścia. DDRC = 0b00000010; // ustaw początkowe wartości na PORTC niskie. PORTC = 0b00000000; while(1) { //odczyt wartości potencjometru //odczytaj wartość i zapisz w val1 val1=ReadADC(0); _opóźnienie_ms(1); // odczytaj następną wartość i zapisz w val2 val2=ReadADC(0); znak str[10]; // ReadADC() zwraca wartość w liczbach całkowitych. Jeśli chcemy debugować lub zobaczyć wartość na putty, // wartość musi zostać przekonwertowana na znaki, aby USART mógł ją wydrukować. itoa(val1, str, 10); USART_putstr(str); USART_putstr("\n"); // jeśli 2 wartości mają pewną różnicę. Wykryty zostaje dźwięk i przełącza port. // WARTOŚĆ MINIMALNĄ można zmienić, zwiększanie zmniejsza czułość. Zmniejszenie sprawi, że będzie bardziej czuły if(wart1-war2 > MINIMALVALUE || val2-val1 > MINIMALVALUE) { PORTC ^= 0b00000010; // ŚWIATŁO NA UC _delay_ms(200); } } } void InitADC() { // Wybierz Vref=AVcc ADMUX |= (1<<REFS0); //ustaw prescaller na 128 i włącz ADC ADCSRA |= (1<<ADPS2)|(1<<ADPS1)|(1<<ADPS0)|(1<<ADEN); } uint16_t ReadADC(uint8_t ADCchannel) { //wybierz kanał ADC z maską bezpieczeństwa ADMUX = (ADMUX & 0xF0) | (kanał ADC i 0x0F); //tryb pojedynczej konwersji ADCSRA |= (1<<ADSC); // poczekaj na zakończenie konwersji ADC while(ADCSRA & (1<<ADSC)); zwrot ADC; }
Krok 4: Dodawanie USART
USART to protokół komunikacji szeregowej, który może być używany z mikrokontrolerem. Używam go na mikrokontrolerze, aby zobaczyć dane analogowe z czujnika.
USART jest już poprawnie zaprogramowany, zawiera plik nagłówkowy(.h) i źródłowy(.c). Pobierz 2 pliki i dodaj je do swojego programu w AtmelStudio.
Kliknij prawym przyciskiem myszy nazwę projektu w Eksploratorze rozwiązań. Kliknij „Dodaj” -> „Istniejący element…” i wybierz 2 pobrane pliki.
Krok 5: Uruchamianie kodu
Podłącz mikrokontroler do komputera. Wyszukaj na komputerze „menedżer urządzeń” i otwórz go. Poszukaj „Porty (COM i LPT)” i zapamiętaj port COM, na którym jest włączony mikrokontroler.
Otwórz PuTTY i kliknij "Serial" wpisz port COM, który znalazłeś dla mikrokontrolera i kliknij "Otwórz". Pojawi się terminal, na razie go zostaw.
Wróć do AtmelStudio, aby wybrać odpowiednie narzędzie do programowania mikrokontrolera.
- Kliknij narzędzie młotkowe.
- Wybierz debuger/programator „mEDBG*ATML”.
- Wybierz interfejs "debugWIRE".
- Kliknij „rozpocznij bez debugowania”.
Program zbuduje i napisze.
Gdy program działa poprawnie, zobaczysz wartości całkowite w puTTY. Za pomocą śrubokręta mogę zmienić wartość widoczną w puTTY poprzez przekręcenie śruby na czujniku. Mój czujnik podaje wartości od 0 do 1000 przy przekręcaniu śruby do końca. Dokręcam śrubę do 100(10%) całkowitej wartości. Dowiedziałem się, że to działa dla mnie.
Krok 6: Zmień czułość
Aby dostosować czułość po włączeniu światła, możesz użyć 2 opcji, ale wybierz jedną, a nie obie:
- Zmień śrubę czujnika;
- Zmień wartość kodu.
Używam opcji 2. Zwiększenie MINIMALVALUE sprawi, że będzie on mniej czuły, a zmniejszenie sprawi, że będzie bardziej czuły.
#define MINIMALNA WARTOŚĆ 5
Krok 7: Zmień wszystko, co chcesz
OSTRZEŻENIE: Uważaj przy przełączaniu wyższych napięć
Kiedy jesteś zadowolony z czułości czujnika, możesz zmienić obwód. Zmień obwód jak na powyższym obrazku. Możesz teraz zmienić wszystko, co chcesz!
Zalecana:
Switch-Adapt Toys: Dostępna zabawka pociągu parowego!: 7 kroków (ze zdjęciami)
Switch-Adapt Toys: Dostępna zabawka pociągu parowego!: Adaptacja zabawek otwiera nowe możliwości i niestandardowe rozwiązania, aby umożliwić dzieciom z ograniczonymi zdolnościami motorycznymi lub niepełnosprawnością rozwojową niezależną interakcję z zabawkami. W wielu przypadkach dzieci, które potrzebują przystosowanych zabawek, nie są w stanie
Switch-Adapt Toys: Oddychający wodą chodzący smok staje się dostępny!: 7 kroków (ze zdjęciami)
Switch-Adapt Toys: Water- Breathing Walking Dragon Made Accessible!: Adaptacja zabawek otwiera nowe możliwości i niestandardowe rozwiązania, aby umożliwić dzieciom z ograniczonymi zdolnościami motorycznymi lub niepełnosprawnością rozwojową niezależną interakcję z zabawkami. W wielu przypadkach dzieci, które potrzebują przystosowanych zabawek, nie są w stanie
Biustonosz typu Clap-Off: 27 kroków (ze zdjęciami)
Clap-Off Bra: Kiedy pierwszy raz przeczytałam o syryjskiej bieliźnie, byłam bardzo poruszona. Na Zachodzie często myślimy o kulturach arabskich jako o społeczeństwach represjonowanych seksualnie, podczas gdy – w rzeczywistości – okazuje się, że wyraźnie wyprzedzają nas one w rozwoju bielizny
Dwa obwody Clap ON - Clap OFF - 555 IC - 4017 IC: 3 kroki
Dwa obwody Clap ON - Clap OFF - 555 IC | 4017 IC: Clap ON - Obwód Clap OFF to obwód, który może być używany do sterowania różnymi urządzeniami elektronicznymi za pomocą samego CLAP. Jedno klaśnięcie włącza ładunek, a drugie klaśnięcie wyłącza. Bardzo często i łatwo jest wykonać ten obwód za pomocą IC 4017, ale tutaj
Clap Switch (40 klaśnięć w 5 sekund): 4 kroki (ze zdjęciami)
Przełącznik Clap (40 klaśnięć w 5 sekund): Przełącznik Clap ma możliwość włączania/wyłączania dowolnego elementu elektrycznego poprzez podłączenie wyjścia obwodu do przełącznika przekaźnika. Tutaj zrobimy przełącznik klaśnięcia z kilkoma komponentami z bardzo dobrymi wyjaśnieniami. W porównaniu do wszystkich innych przełączników klaskania