Orodha ya maudhui:

Kubonyeza -geuza: Hatua 7 (na Picha)
Kubonyeza -geuza: Hatua 7 (na Picha)

Video: Kubonyeza -geuza: Hatua 7 (na Picha)

Video: Kubonyeza -geuza: Hatua 7 (na Picha)
Video: Excel: Диагональное разделение ячейки (два заголовка в одной ячейке) 2024, Julai
Anonim
Image
Image

Jamaa aliniuliza wakati mmoja ikiwa ningeweza kuunda swichi ambayo inakabiliana na kupiga makofi mikono yako. Kwa hivyo nimeagiza vitu kadhaa kuunda mradi na nimeamua kufanya kufundisha ili kila mtu awe na swichi nzuri kama hiyo.

Mdhibiti mdogo ni ubongo wa mradi huu. Sensor ya sauti imeunganishwa na microcontroller, sensor hutuma data ya analog wakati sauti hugunduliwa. Mdhibiti mdogo amepangwa kugundua utofauti mkubwa wa sauti. Wakati tofauti kubwa ya kutosha hugunduliwa, ikimaanisha kupiga makofi, mdhibiti mdogo anatuma ishara kwa relay. Swichi za relay na taa inawashwa. Wakati wa kupiga makofi mara ya pili, taa itazima tena.

Vifaa

Vitu vya mwili:

  • 1x ATmega328P Xplained Mini na kebo ya programu
  • 1x 5v moduli ya kupeleka 1-kituo (KY-019 au sawa)
  • Moduli ya sensa ya sauti ya 1x (KY-038 au sawa)
  • Bodi ya mkate ya 1x
  • 6x waya wa kiume na kiume wa kuruka
  • Tundu la taa la 1x na kamba (au kifaa chochote unachotaka kuwasha)
  • 1x taa ya taa
  • Kipinzani cha 1x * (ninatumia 220 Ohm)
  • 1x LED *

Programu (pakua):

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

* Kwa madhumuni ya upimaji

Hatua ya 1: Uunganisho

Kuunda Programu
Kuunda Programu

Unganisha waya zote kama inavyoonyeshwa kwenye picha.

Hatua ya 2: Kuunda Programu

Kuunda Programu
Kuunda Programu
Kuunda Programu
Kuunda Programu

Ninapenda kuweka alama katika C kwa hivyo mradi huu umeandikwa katika C.

Ikiwa bado haujapakua na kusanikisha programu inayohitajika, pakua na usakinishe sasa.

Sasa fuata hatua zifuatazo:

  1. Fungua AtmelStudio.
  2. Bonyeza "Faili" -> "Mpya" -> "Mradi".
  3. Bonyeza "Mradi wa Kutekelezwa wa GCC C". Ipe mradi wako jina na mahali pa kuhifadhi. Bonyeza "Ok".
  4. Tafuta ATmega328P. Bonyeza "ATmega328P" -> "Ok".
  5. Bonyeza kwenye Solution Explorer kwenye "main.c" kufungua programu kuu.

Hatua ya 3: Kuongeza Msimbo

Futa nambari ambayo tayari iko kwenye main.c

Nakili na ubandike nambari ifuatayo katika main.c

#fafanua F_CPU 16000000

# pamoja na # pamoja # #jumlisha # pamoja na "usart.h" #fafanua CHIMBUKO LA CHINI 5 batili InitADC (); uint16_t ReadADC (uint8_t ADCchannel); mara mbili val1, val2; int kuu (batili) {// Anzisha USART USART_init (9600); USART_putstr ("# USART init / n"); // Kuanzisha ADC InitADC (); USART_putstr ("# ADC init / n"); // pini ya PC1 ya pato la PORTC, pembejeo iliyobaki. DDRC = 0b00000010; // weka maadili ya awali kwa PORTC chini. PORTC = 0b00000000; wakati (1) {// kusoma thamani ya potentiometer // thamani ya kusoma na kuhifadhi katika val1 val1 = ReadADC (0); kuchelewesha (1); // soma thamani inayofuata en duka katika val2 val2 = ReadADC (0); char str [10]; // ReadADC () inarudisha dhamana kwa nambari. Ikiwa tunataka kurekebisha au kuona thamani ya putty, // thamani inahitaji kubadilishwa kuwa herufi ili USART iweze kuichapisha. itoa (val1, str, 10); USART_putstr (str); USART_putstr ("\ n"); // ikiwa maadili 2 yana tofauti fulani. Sauti hugunduliwa na hubadilisha bandari. // MINIMALVALUE inaweza kubadilishwa, kuongezeka kutaifanya iwe nyeti zaidi. Kupungua kutafanya iwe nyeti zaidi ikiwa (val1-val2> MINIMALVALUE || val2-val1> MINIMALVALUE) {PORTC ^ = 0b00000010; // MWANGA ILIYO UC _chelewesha (200); }}} utupu InitADC () {// Chagua Vref = AVcc ADMUX | = (1 << REFS0); // weka prescaller hadi 128 na uwezeshe ADC ADCSRA | = (1 << ADPS2) | (1 << ADPS1) | (1 << ADPS0) | (1 << ADEN); } uint16_t ReadADC (uint8_t ADCchannel) {// chagua kituo cha ADC na kinyago cha usalama ADMUX = (ADMUX & 0xF0) | (ADCchannel & 0x0F); // njia moja ya ubadilishaji ADCSRA | = (1 << ADSC); // subiri hadi ubadilishaji wa ADC ukamilike wakati (ADCSRA & (1 << ADSC)); kurudi ADC; }

Hatua ya 4: Kuongeza USART

Inaongeza USART
Inaongeza USART

USART ni itifaki ya mawasiliano ya serial ambayo inaweza kutumika kwenye mdhibiti mdogo. Ninaitumia kwenye microcontroller kuona data ya analog kutoka kwa sensa.

USART tayari imewekwa kwa usahihi, ikiwa na kichwa (.h) na faili ya chanzo (.c). Pakua faili 2 na uziongeze kwenye programu yako katika AtmelStudio.

Bonyeza kulia kwenye jina la mradi katika Solution Explorer. Bonyeza "Ongeza" -> "Bidhaa iliyopo…" na uchague faili 2 zilizopakuliwa.

Hatua ya 5: Kuendesha Msimbo

Kuendesha Kanuni
Kuendesha Kanuni
Kuendesha Kanuni
Kuendesha Kanuni

Unganisha microcontroller kwenye kompyuta. Tafuta "meneja wa kifaa" kwenye kompyuta yako na uifungue. Tafuta "Bandari (COM & LPT)" na ukumbuke bandari ya COM ambayo mdhibiti mdogo amewashwa.

Fungua PuTTY na ubonyeze kwenye "Serial" chapa bandari ya COM ambayo umepata ya microcontroller na bonyeza "Open". Kituo kinaibuka, acha kwa sasa.

Rudi kwa AtmelStudio kuchagua zana inayofaa ya kupanga programu ndogo ya kudhibiti.

  1. Bonyeza kwenye zana ya nyundo.
  2. Chagua kitatuaji / programu ya "mEDBG * ATML".
  3. Chagua kiolesura "debugWIRE".
  4. Bonyeza "anza bila utatuzi".

Programu itaunda na kuandika.

Wakati programu inaendesha kwa usahihi ungeona nambari kamili katika puTTY. Kutumia bisibisi naweza kubadilisha thamani inayoonekana katika puTTY kwa kugeuza screw kwenye sensor. Sensor yangu inatoa maadili kutoka 0 hadi 1000 wakati wa kugeuza screw njia yote. Ninageuza screw kuwa 100 (10%) ya jumla ya thamani. Nimegundua kuwa hii inanifanyia kazi.

Hatua ya 6: Badilisha Usikivu

Ili kurekebisha usikivu wakati taa inawasha unaweza kutumia chaguo mbili, lakini chagua moja sio zote mbili:

  1. Badilisha screw screw;
  2. Badilisha thamani ya msimbo.

Ninatumia chaguo 2. Kuongeza MINIMALVALUE itafanya iwe chini ya nyeti, kupungua kunafanya iwe nyeti zaidi.

#fafanua THAMANI YA KIDOGO 5

Hatua ya 7: Badilisha kitu chochote unachopenda

Badilisha kitu chochote unachopenda!
Badilisha kitu chochote unachopenda!
Badilisha kitu chochote unachopenda!
Badilisha kitu chochote unachopenda!

ONYO: Jihadharini unapobadilisha voltages za juu

Unapofurahi na usikivu wa sensa unaweza kubadilisha mzunguko. Badilisha mzunguko kama picha hapo juu. Sasa unaweza kubadilisha chochote unachopenda!

Ilipendekeza: