Sisällysluettelo:
- Tarvikkeet
- Vaihe 1: Liitännät
- Vaihe 2: Ohjelman luominen
- Vaihe 3: Koodin lisääminen
- Vaihe 4: USARTin lisääminen
- Vaihe 5: Koodin suorittaminen
- Vaihe 6: Muuta herkkyyttä
- Vaihe 7: Vaihda mitä tahansa
Video: Taputuskytkin: 7 vaihetta (kuvien kanssa)
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 08:59
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
Kytke kaikki johdot kuvan mukaisesti.
Vaihe 2: 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:
- Avaa AtmelStudio.
- Napsauta "Tiedosto" -> "Uusi" -> "Projekti".
- Napsauta "GCC C Executable Project". Anna projektillesi nimi ja sijainti tallennettavaksi. Napsauta "Ok".
- Etsi ATmega328P. Napsauta "ATmega328P" -> "Ok".
- 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
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
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.
- Napsauta vasaratyökalua.
- Valitse vianmääritys/ohjelmoija "mEDBG*ATML".
- Valitse käyttöliittymä "debugWIRE".
- 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:
- Vaihda anturiruuvi;
- 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
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:
Infrapuna -anturin käyttäminen Arduinon kanssa: 8 vaihetta (kuvien kanssa)
Infrapuna -anturin käyttäminen Arduinon kanssa: Mikä on infrapuna -anturi? . IR -signaali
Automaattinen lataus (tyhjiö) -kytkin ACS712: n ja Arduinon kanssa: 7 vaihetta (kuvien kanssa)
Automaattinen kuorman (tyhjiö) kytkin ACS712: n ja Arduinon kanssa: Hei kaikki! Sähkötyökalun käyttäminen suljetussa tilassa on kiire, koska kaikki ilmassa oleva pöly ja ilmassa oleva pöly tarkoittaa pölyä keuhkoissasi. Vac -myymälän suorittaminen voi poistaa osan tästä riskistä, mutta kytkeä sen päälle ja pois päältä joka kerta
GPS-moduulin (NEO-6m) liittäminen Arduinon kanssa: 7 vaihetta (kuvien kanssa)
GPS-moduulin (NEO-6m) liittäminen Arduinon kanssa: Tässä projektissa olen osoittanut, kuinka liittää GPS-moduuli Arduino UNO: n kanssa. Pituus- ja leveysasteiden tiedot näkyvät nestekidenäytössä ja sijaintia voi tarkastella sovelluksessa. Luettelo materiaalista Arduino Uno == > 8 dollarin Ublox NEO-6m GPS -moduuli == > 15 dollaria 16x
Kuvien tallentaminen tehtävää varten: 4 vaihetta (kuvien kanssa)
Kuvien tallentaminen tehtävää varten: 1. Avaa uusi Google -asiakirja ja suojaa kuvat tällä sivulla. Käytä ctrl (ohjaus) ja " c " kopioitava näppäin 3. Käytä ctrl (control) ja " v " liitettävä avain
Kuvien tekeminen saumattomiksi vain vaaka- tai pystysuunnassa ("The GIMP"): 11 vaihetta (kuvien kanssa)
Kuvien tekeminen saumattomiksi vain vaaka- tai pystysuunnassa ("The GIMP"): Jos yrität "Tee saumaton" -laajennusta GIMP: ssä, se tekee kuvasta saumattoman sekä vaaka- että pystysuunnassa samanaikaisesti. Se ei salli sinun tehdä siitä saumatonta vain yhdessä ulottuvuudessa. Tämä ohje auttaa sinua saamaan kuvan