Sisällysluettelo:

Taputuskytkin: 7 vaihetta (kuvien kanssa)
Taputuskytkin: 7 vaihetta (kuvien kanssa)

Video: Taputuskytkin: 7 vaihetta (kuvien kanssa)

Video: Taputuskytkin: 7 vaihetta (kuvien kanssa)
Video: Как сделать переключатель хлопков с микросхемой cd4013 #shorts #zaferyildiz #short 2024, Marraskuu
Anonim
Image
Image

Sukulainen kysyi minulta kerran, voisinko luoda kytkimen, joka reagoi käden taputukseen. Joten olen tilannut jotain tavaraa projektin luomiseksi ja päättänyt tehdä opastettavan, jotta kaikilla voisi olla mahtava kytkin.

Mikro -ohjain on tämän projektin aivot. Mikro -ohjaimeen on liitetty äänianturi, anturi lähettää analogista dataa, kun ääni havaitaan. Mikro -ohjain on ohjelmoitu havaitsemaan suuria äänieroja. Kun riittävän suuri ero havaitaan, mikä tarkoittaa taputusta, mikro -ohjain lähettää signaalin releelle. Rele kytkeytyy ja valo syttyy. Kun taputat toisen kerran, valo sammuu uudelleen.

Tarvikkeet

Fyysiset asiat:

  • 1x ATmega328P Xplained Mini, kaapeli ohjelmointia varten
  • 1x 5v relemoduuli 1-kanavainen (KY-019 tai vastaava)
  • 1x äänianturimoduuli (KY-038 tai vastaava)
  • 1x leipälauta
  • 6x uros-uros-hyppyjohdin
  • 1x pistorasia johdolla (tai mikä tahansa muu laite, jonka haluat kytkeä päälle)
  • 1x hehkulamppu
  • 1x vastus* (käytän 220 ohmia)
  • 1x LED*

Ohjelmisto (lataa):

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

* Testausta varten

Vaihe 1: Liitännät

Ohjelman luominen
Ohjelman luominen

Kytke kaikki johdot kuvan mukaisesti.

Vaihe 2: Ohjelman luominen

Ohjelman luominen
Ohjelman luominen
Ohjelman luominen
Ohjelman luominen

Tykkään koodata C: llä, joten tämä projekti on kirjoitettu C.

Jos et ole vielä ladannut ja asentanut tarvittavaa ohjelmistoa, lataa ja asenna se nyt.

Noudata nyt seuraavia vaiheita:

  1. Avaa AtmelStudio.
  2. Napsauta "Tiedosto" -> "Uusi" -> "Projekti".
  3. Napsauta "GCC C Executable Project". Anna projektillesi nimi ja sijainti tallennettavaksi. Napsauta "Ok".
  4. Etsi ATmega328P. Napsauta "ATmega328P" -> "Ok".
  5. Avaa pääohjelma napsauttamalla Solution Explorer -kohdassa "main.c".

Vaihe 3: Koodin lisääminen

Poista koodi, joka on jo main.c

Kopioi ja liitä seuraava koodi main.c

#define F_CPU 16000000

#Sisällytä #Sisällytä #Sisällytä #Sisällytä "usart.h" #Määritä MINIMALVALUE 5 void InitADC (); uint16_t ReadADC (uint8_t ADCchannel); kaksoisval1, val2; int main (void) {// Alusta USART USART_init (9600); USART_putstr ("#USART init / n"); // Alusta ADC InitADC (); USART_putstr ("#ADC init / n"); // PC1 -nastainen PORTC -lähtö, loput tulo. DDRC = 0b00000010; // aseta alkuarvot PORTC matalaksi. PORTC = 0b00000000; while (1) {// potentiometrin arvon lukeminen // lukuarvo ja tallennus val1: een val1 = ReadADC (0); _viive_ms (1); // lue seuraava arvo en store in val2 val2 = ReadADC (0); char str [10]; // ReadADC () antaa arvon takaisin kokonaislukuina. Jos haluamme debugia tai nähdä arvon kitillä, // arvo on muunnettava merkeiksi, jotta USART voi tulostaa sen. itoa (val1, str, 10); USART_putstr (str); USART_putstr ("\ n"); // jos kahdella arvolla on tietty ero. Ääni havaitaan ja vaihtaa porttia. // MINIMALVALUE -arvoa voidaan muuttaa, sen lisääminen tekee siitä vähemmän herkän. Pienentäminen tekee siitä herkemmän, jos (val1-val2> MINIMALVALUE || val2-val1> MINIMALVALUE) {PORTC ^= 0b00000010; // LIGHT ON UC _delay_ms (200); }}} void InitADC () {// Valitse Vref = AVcc ADMUX | = (1 << REFS0); // aseta esivalitsin arvoon 128 ja ota käyttöön ADC ADCSRA | = (1 << ADPS2) | (1 << ADPS1) | (1 << ADPS0) | (1 << ADEN); } uint16_t ReadADC (uint8_t ADCchannel) {// valitse ADC -kanava suojamaskilla ADMUX = (ADMUX & 0xF0) | (ADCchannel & 0x0F); // yhden muuntotilan ADCSRA | = (1 << ADSC); // odota, kunnes ADC -muunnos on valmis, kun (ADCSRA & (1 << ADSC)); palauta ADC; }

Vaihe 4: USARTin lisääminen

Lisätään USART
Lisätään USART

USART on sarjaliikenneprotokolla, jota voidaan käyttää mikro -ohjaimessa. Käytän sitä mikrokontrollerissa nähdäksesi anturin analogiset tiedot.

USART on jo ohjelmoitu oikein, ja se sisältää otsikon (.h) ja lähdetiedoston (.c). Lataa kaksi tiedostoa ja lisää ne ohjelmaan AtmelStudiossa.

Napsauta hiiren kakkospainikkeella projektin nimeä Solution Explorerissa. Napsauta "Lisää" -> "Olemassa oleva kohde…" ja valitse 2 ladattua tiedostoa.

Vaihe 5: Koodin suorittaminen

Koodin suorittaminen
Koodin suorittaminen
Koodin suorittaminen
Koodin suorittaminen

Liitä mikro -ohjain tietokoneeseen. Hae tietokoneeltasi "laitehallinta" ja avaa se. Etsi "Portit (COM & LPT)" ja muista, että mikro-ohjaimen COM-portti on päällä.

Avaa PuTTY ja napsauta "Sarja", kirjoita mikro-ohjaimen COM-portti ja napsauta "Avaa". Terminaali avautuu, jätä se nyt.

Palaa AtmelStudioon ja valitse oikea työkalu mikro -ohjaimen ohjelmointiin.

  1. Napsauta vasaratyökalua.
  2. Valitse vianmääritys/ohjelmoija "mEDBG*ATML".
  3. Valitse käyttöliittymä "debugWIRE".
  4. Napsauta "aloita ilman virheenkorjausta".

Ohjelma rakentaa ja kirjoittaa.

Kun ohjelma toimii oikein, näet puTTY: ssä kokonaislukuarvot. Ruuvitaltalla i voi muuttaa puTTY: ssä näkyvää arvoa kiertämällä anturin ruuvia. Anturi antaa arvot 0-1000, kun ruuvi käännetään kokonaan. Käännä ruuvi 100 (10%) kokonaisarvosta. Olen huomannut, että tämä toimii minulle.

Vaihe 6: Muuta herkkyyttä

Voit säätää herkkyyttä, kun valo syttyy, käyttämällä kahta vaihtoehtoa, mutta älä valitse kumpaakaan:

  1. Vaihda anturiruuvi;
  2. Muuta koodin arvoa.

Käytän vaihtoehtoa 2. MINIMALVALUE -arvon lisääminen tekee siitä vähemmän herkän, pienentäminen tekee siitä herkemmän.

#define MINIMALVALUE 5

Vaihe 7: Vaihda mitä tahansa

Vaihda mitä tahansa!
Vaihda mitä tahansa!
Vaihda mitä tahansa!
Vaihda mitä tahansa!

VAROITUS: Varo kytkettäessä korkeampia jännitteitä

Kun olet tyytyväinen anturin herkkyyteen, voit vaihtaa piiriä. Vaihda piiri kuten yllä olevassa kuvassa. Nyt voit vaihtaa mitä haluat!

Suositeltava: