Përmbajtje:

Çelësi i kapjes: 7 hapa (me fotografi)
Çelësi i kapjes: 7 hapa (me fotografi)

Video: Çelësi i kapjes: 7 hapa (me fotografi)

Video: Çelësi i kapjes: 7 hapa (me fotografi)
Video: Noizy - Ke Ngju Per Mu (Prod. by Rvssian) 2024, Korrik
Anonim
Image
Image

Një i afërm më pyeti një herë nëse mund të krijoja një ndërprerës që reagon ndaj duartrokitjeve tuaja. Kështu që unë kam porositur disa gjëra për të krijuar një projekt dhe vendosa të bëj një udhëzues në mënyrë që të gjithë të kenë një ndërrim të mrekullueshëm si ai.

Mikrokontrolluesi është truri i këtij projekti. Një sensor i zërit është i lidhur me mikrokontrolluesin, sensori po dërgon të dhëna analoge kur zbulohet zëri. Mikrokontrolluesi është programuar për të zbuluar dallime të mëdha në zë. Kur zbulohet një ndryshim mjaft i lartë, që do të thotë një duartrokitje, mikrokontrolluesi dërgon një sinjal në stafetë. Stafeta ndizet dhe drita ndizet. Kur duartrokitni për herë të dytë, drita do të fiket përsëri.

Furnizimet

Gjërat fizike:

  • 1x ATmega328P Xplained Mini me kabllo për programim
  • Moduli i stafetës 1x 5v 1-kanalësh (KY-019 ose i ngjashëm)
  • 1x modul i sensorit të zërit (KY-038 ose i ngjashëm)
  • 1x Breadboard
  • 6x tela bluzë Mashkull-Mashkull
  • 1x prizë drite me kordon (ose ndonjë pajisje tjetër që dëshironi të ndizni)
  • 1x llambë drite
  • 1x rezistencë* (Unë përdor 220 Ohm)
  • 1x LED*

Softuer (shkarko):

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

* Për qëllime testimi

Hapi 1: Lidhjet

Krijimi i Programit
Krijimi i Programit

Lidhni të gjitha telat siç tregohet në figurë.

Hapi 2: Krijimi i Programit

Krijimi i Programit
Krijimi i Programit
Krijimi i Programit
Krijimi i Programit

Më pëlqen të kodoj në C kështu që ky projekt është shkruar në C.

Nëse ende nuk e keni shkarkuar dhe instaluar programin e nevojshëm, shkarkoni dhe instaloni tani.

Tani ndiqni këto hapa të tjerë:

  1. Hap AtmelStudio.
  2. Klikoni në "File" -> "New" -> "Project".
  3. Klikoni në "Projekti i ekzekutueshëm i GCC C". Jepini projektit tuaj një emër dhe vendndodhje për të ruajtur. Klikoni "Ok".
  4. Kërkoni për ATmega328P. Klikoni "ATmega328P" -> "Ok".
  5. Klikoni në Solution Explorer në "main.c" për të hapur programin kryesor.

Hapi 3: Shtimi i Kodit

Fshini kodin tashmë të pranishëm në main.c

Kopjoni dhe ngjisni kodin e mëposhtëm në main.c

#përcakto F_CPU 16000000

#include #include #include #include "usart.h" #define MINIMALVALUE 5 void InitADC (); uint16_t ReadADC (uint8_t ADCchannel); val1 i dyfishtë, val2; int kryesore (e pavlefshme) {// Filloni USART USin_init (9600); USART_putstr ("#USART init / n"); // Filloni ADC InitADC (); USART_putstr ("#ADC init / n"); // PIN PC1 i daljes PORTC, pjesa tjetër hyrëse. DDRC = 0b00000010; // vendosni vlerat fillestare në PORTC të ulëta. PORTC = 0b00000000; ndërsa (1) {// vlera e leximit të potenciometrit // vlera e leximit dhe ruhet në val1 val1 = ReadADC (0); _vonesa_ms (1); // lexoni vlerën tjetër në dyqan në val2 val2 = ReadADC (0); rruga e karbonit [10]; // ReadADC () jep vlerën përsëri në numra të plotë. Nëse duam të debugojmë ose të shohim vlerën e stuko, // vlera duhet të konvertohet në karaktere në mënyrë që USART ta printojë atë. itoa (val1, rr, 10); USART_putstr (rr); USART_putstr ("\ n"); // nëse 2 vlerat kanë një ndryshim të caktuar. Një zë zbulohet dhe ndërron një port. // MINIMALVALUE mund të ndryshohet, rritja do ta bëjë atë më pak të ndjeshëm. Zvogëlimi do ta bëjë atë më të ndjeshëm nëse (val1-val2> MINIMALVALUE || val2-val1> MINIMALVALUE) {PORTC ^= 0b00000010; // Drita në UC _vonesa_ms (200); }}} void InitADC () {// Zgjidh Vref = AVcc ADMUX | = (1 << REFS0); // vendosni prescaller në 128 dhe aktivizoni ADC ADCSRA | = (1 << ADPS2] | (1 << ADPS1] | (1 << ADPS0) | (1 << ADEN); } uint16_t ReadADC (uint8_t ADCchannel) {// zgjidhni kanalin ADC me maskë sigurie ADMUX = (ADMUX & 0xF0) | (ADCchannel & 0x0F); // mënyra e konvertimit të vetëm ADCSRA | = (1 << ADSC); // prisni derisa konvertimi ADC të përfundojë derisa (ADCSRA & (1 << ADSC)); kthimi ADC; }

Hapi 4: Shtimi i USART

Shtimi i USART
Shtimi i USART

USART është një protokoll komunikimi serik që mund të përdoret në mikrokontrollues. Unë e përdor atë në mikrokontrollues për të parë të dhëna analoge nga sensori.

USART është programuar tashmë saktë, që përmban një kokë (.h) dhe skedar burimi (.c). Shkarkoni 2 skedarët dhe shtojini ato në programin tuaj në AtmelStudio.

Klikoni me të djathtën mbi emrin e projektit në Solution Explorer. Klikoni "Shto" -> "Artikulli Ekzistues …" dhe zgjidhni 2 skedarët e shkarkuar.

Hapi 5: Drejtimi i Kodit

Drejtimi i Kodit
Drejtimi i Kodit
Drejtimi i Kodit
Drejtimi i Kodit

Lidhni mikrokontrolluesin me kompjuterin. Kërkoni në kompjuterin tuaj për "menaxherin e pajisjes" dhe hapeni atë. Shikoni për "Portet (COM & LPT)" dhe mbani mend portën COM në të cilën është aktivizuar mikrokontrolluesi.

Hapni PuTTY dhe klikoni në "Serial" shkruani portën COM që keni gjetur të mikrokontrolluesit dhe klikoni "Open". Një terminal shfaqet, lëreni për tani.

Kthehuni te AtmelStudio për të zgjedhur mjetin e duhur për programimin e mikrokontrolluesit.

  1. Klikoni në mjetin e çekiçit.
  2. Zgjidhni korrigjuesin/programuesin "mEDBG*ATML".
  3. Zgjidhni ndërfaqen "debugWIRE".
  4. Klikoni "filloni pa korrigjim".

Programi do të ndërtojë dhe shkruajë.

Kur programi funksionon si duhet, do të shihni vlera të plota në puTTY. Duke përdorur një kaçavidë mund të ndryshoj vlerën e parë në puTTY duke e kthyer vidën në sensor. Sensori im jep vlerat nga 0 në 1000 kur ktheni vidën deri në fund. Po e kthej vidën në 100 (10%) të vlerës totale. Kam zbuluar se kjo funksionon për mua.

Hapi 6: Ndryshoni ndjeshmërinë

Për të rregulluar ndjeshmërinë kur ndizet drita, mund të përdorni 2 opsione, por zgjidhni njërën jo të dyja:

  1. Ndryshoni vidën e sensorit;
  2. Ndryshoni vlerën e kodit.

Unë përdor opsionin 2. Rritja e MINIMALVALUE do ta bëjë atë më pak të ndjeshëm, zvogëlimi e bën atë më të ndjeshëm.

#përcakto MINIMALVALUE 5

Hapi 7: Ndërroni gjithçka që ju pëlqen

Ndërroni gjithçka që ju pëlqen!
Ndërroni gjithçka që ju pëlqen!
Ndërroni gjithçka që ju pëlqen!
Ndërroni gjithçka që ju pëlqen!

KUJDES: Kini kujdes kur ndërroni tensione më të larta

Kur jeni të kënaqur me ndjeshmërinë e sensorit, mund të ndryshoni qarkun. Ndryshoni qarkun si imazhi i mësipërm. Tani mund të ndryshoni gjithçka që ju pëlqen!

Recommended: