Satura rādītājs:

Aploksnes slēdzis: 7 soļi (ar attēliem)
Aploksnes slēdzis: 7 soļi (ar attēliem)

Video: Aploksnes slēdzis: 7 soļi (ar attēliem)

Video: Aploksnes slēdzis: 7 soļi (ar attēliem)
Video: Не жарьте и НЕ СОЛИТЕ! Продавцы рыбы не хотят чтобы вы об этом знали! Гениальный ТРЮК на Новый Год! 2024, Novembris
Anonim
Image
Image

Kāds radinieks man vienu reizi jautāja, vai es varu izveidot slēdzi, kas reaģē uz plaukstu plaukstām. Tāpēc es esmu pasūtījis dažas lietas, lai izveidotu projektu, un nolēmu izveidot pamācību, lai ikvienam varētu būt lielisks slēdzis.

Mikrokontrolleris ir šī projekta smadzenes. Mikrokontrolleram ir pievienots skaņas sensors, un, nosakot skaņu, sensors sūta analogus datus. Mikrokontrolleris ir ieprogrammēts, lai noteiktu lielas skaņas atšķirības. Ja tiek konstatēta pietiekami liela atšķirība, kas nozīmē aplausi, mikrokontrolleris nosūta signālu relejam. Relejs ieslēdzas un gaisma iedegas. Otrreiz klapējot, gaisma atkal izslēgsies.

Piegādes

Fiziskās lietas:

  • 1x ATmega328P Xplained Mini ar kabeli programmēšanai
  • 1x 5V releja modulis 1 kanāls (KY-019 vai līdzīgs)
  • 1x skaņas sensora modulis (KY-038 vai līdzīgs)
  • 1x maizes dēlis
  • 6x vīriešu un vīriešu džemperis
  • 1x gaismas ligzda ar vadu (vai jebkura cita ierīce, kuru vēlaties ieslēgt)
  • 1x spuldze
  • 1x rezistors* (es izmantoju 220 omus)
  • 1x LED*

Programmatūra (lejupielādēt):

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

* Pārbaudes nolūkos

1. darbība. Savienojumi

Programmas izveidošana
Programmas izveidošana

Pievienojiet visus vadus, kā parādīts attēlā.

2. darbība. Programmas izveide

Programmas izveidošana
Programmas izveidošana
Programmas izveidošana
Programmas izveidošana

Man patīk kodēt C, tāpēc šis projekts ir rakstīts C.

Ja vēl neesat lejupielādējis un instalējis nepieciešamo programmatūru, lejupielādējiet un instalējiet to tūlīt.

Tagad veiciet tālāk norādītās darbības.

  1. Atveriet AtmelStudio.
  2. Noklikšķiniet uz "Fails" -> "Jauns" -> "Projekts".
  3. Noklikšķiniet uz "GCC C izpildāms projekts". Piešķiriet savam projektam nosaukumu un atrašanās vietu, kur to uzglabāt. Noklikšķiniet uz "Labi".
  4. Meklēt ATmega328P. Noklikšķiniet uz "ATmega328P" -> "Labi".
  5. Lai atvērtu galveno programmu, noklikšķiniet uz risinājumu pārlūka "main.c".

3. darbība: koda pievienošana

Izdzēsiet kodu, kas jau ir main.c

Kopējiet un ielīmējiet šādu kodu galvenajā.c

#define F_CPU 16000000

#include #include #include #include "usart.h" #define MINIMALVALUE 5 void InitADC (); uint16_t ReadADC (uint8_t ADCchannel); dubultā val1, val2; int main (void) {// Inicializēt USART USART_init (9600); USART_putstr ("#USART init / n"); // Inicializēt ADC InitADC (); USART_putstr ("#ADC init / n"); // PC1 izeja no PORTC izejas, pārējā ievade. DDRC = 0b00000010; // iestatiet sākotnējās vērtības uz zemu PORTC. PORTC = 0b00000000; while (1) {// potenciometra vērtības nolasīšana // nolasīšanas vērtība un uzglabāšana val1 val1 = ReadADC (0); _kavēšanās_ms (1); // lasīt nākamo vērtību en store in val2 val2 = ReadADC (0); char str [10]; // ReadADC () atgriež vērtību veselos skaitļos. Ja mēs vēlamies atkļūdot vai redzēt špakteles vērtību, // vērtība ir jāpārvērš rakstzīmēs, lai USART varētu to izdrukāt. itoa (val1, str, 10); USART_putstr (str); USART_putstr ("\ n"); // ja 2 vērtībām ir noteikta atšķirība. Tiek konstatēta skaņa un tiek pārslēgts ports. // MINIMĀLĀVĒRTĪBU var mainīt, palielinot to, tas kļūs mazāk jutīgs. Samazinot, tas kļūs jutīgāks, ja (val1-val2> MINIMALVALUE || val2-val1> MINIMALVALUE) {PORTC ^= 0b00000010; // LIGHT ON UC _delay_ms (200); }}} void InitADC () {// Izvēlieties Vref = AVcc ADMUX | = (1 << REFS0); // iestatiet prescaller uz 128 un iespējojiet ADC ADCSRA | = (1 << ADPS2) | (1 << ADPS1) | (1 << ADPS0) | (1 << ADEN); } uint16_t ReadADC (uint8_t ADCchannel) {// izvēlieties ADC kanālu ar drošības masku ADMUX = (ADMUX & 0xF0) | (ADCchannel & 0x0F); // viena konversijas režīms ADCSRA | = (1 << ADSC); // pagaidiet, līdz ADC konvertēšana ir pabeigta, kamēr (ADCSRA & (1 << ADSC)); atgriezt ADC; }

4. darbība. USART pievienošana

USART pievienošana
USART pievienošana

USART ir sērijas sakaru protokols, ko var izmantot mikrokontrollerī. Es to izmantoju mikrokontrollerī, lai redzētu sensora analogos datus.

USART jau ir ieprogrammēts pareizi, tajā ir galvenes (.h) un avota (.c) fails. Lejupielādējiet 2 failus un pievienojiet tos savai programmai programmā AtmelStudio.

Solution Explorer ar peles labo pogu noklikšķiniet uz projekta nosaukuma. Noklikšķiniet uz "Pievienot" -> "Esošais vienums …" un atlasiet 2 lejupielādētos failus.

5. darbība: koda palaišana

Koda izpildīšana
Koda izpildīšana
Koda izpildīšana
Koda izpildīšana

Pievienojiet mikrokontrolleru datoram. Datorā meklējiet “ierīces pārvaldnieks” un atveriet to. Atrodiet "Porti (COM un LPT)" un atcerieties COM portu, kurā ir ieslēgts mikrokontrolleris.

Atveriet PuTTY un noklikšķiniet uz "Serial", ierakstiet mikrokontrollera COM portu un noklikšķiniet uz "Open". Parādās terminālis, pagaidām atstājiet to.

Atgriezieties AtmelStudio, lai izvēlētos pareizo mikrokontrollera programmēšanas rīku.

  1. Noklikšķiniet uz āmura rīka.
  2. Atlasiet atkļūdotāju/programmētāju "mEDBG*ATML".
  3. Atlasiet interfeisu "debugWIRE".
  4. Noklikšķiniet uz "sākt bez atkļūdošanas".

Programma tiks veidota un rakstīta.

Kad programma darbojas pareizi, puTTY redzēsiet veselu skaitļu vērtības. Izmantojot skrūvgriezi, es varu mainīt puTTY redzamo vērtību, pagriežot sensora skrūvi. Mans sensors dod vērtības no 0 līdz 1000, pagriežot skrūvi līdz galam. Es pagriežu skrūvi līdz 100 (10%) no kopējās vērtības. Esmu uzzinājis, ka tas man der.

6. darbība: mainiet jutību

Lai pielāgotu jutību, kad gaisma ieslēdzas, varat izmantot divas iespējas, bet izvēlēties vienu, nevis abas:

  1. Mainīt sensora skrūvi;
  2. Mainiet koda vērtību.

Es izmantoju 2. opciju. Palielinot MINIMALVALUE, tas kļūst mazāk jutīgs, samazinājums padara to jutīgāku.

#define MINIMĀLVĒRTĪBA 5

7. solis: pārslēdziet visu, kas jums patīk

Pārslēdziet visu, kas jums patīk!
Pārslēdziet visu, kas jums patīk!
Pārslēdziet visu, kas jums patīk!
Pārslēdziet visu, kas jums patīk!

BRĪDINĀJUMS: Esiet piesardzīgs, pārslēdzot augstāku spriegumu

Kad esat apmierināts ar sensora jutīgumu, varat mainīt ķēdi. Mainiet ķēdi, kā parādīts iepriekš. Tagad jūs varat mainīt visu, kas jums patīk!

Ieteicams: