- Berøringssensor
- Lær mere om Relay
- Komponenter, der kræves
- Kredsløbsdiagram
- Programmering af Arduino UNO til styring af pære ved hjælp af berøringssensor
- Test af bearbejdning af berøringssensor TTP223
I nogle applikationer kræves brugerinput for at kontrollere funktionerne på en enhed. Der er forskellige slags brugerinputmetoder, der anvendes i den integrerede og digitale elektronik. Berøringssensoren er en af dem. Berøringssensor er en vigtig og meget anvendt inputenhed til interface med en mikrocontroller, og det har gjort det lettere at indtaste data. Der er individuelle steder, hvor berøringsføleren kan bruges, hvad enten det kan være en mobiltelefon eller en LCD-skærmkontakt. Der er dog mange typer sensorer tilgængelige på markedet, men kapacitiv berøringssensor er den meget anvendte type inden for berøringssensorsegment.
I den foregående vejledning har vi gjort styring af lys ved hjælp af berøringssensor og 8051 mikrokontroller. Nu i dette projekt vil den samme berøringssensor være grænseflade med Arduino UNO. Arduino er et meget populært og let tilgængeligt udviklingsbræt.
Vi har tidligere brugt berøringsbaserede inputmetoder ved hjælp af kapacitive berøringspads med forskellige mikrocontrollere såsom:
- Tryk på tastaturgrænseflade med ATmega32 Microcontroller
- Kapacitiv pegefelt med Raspberry Pi
Berøringssensor
Berøringssensoren, som vil blive brugt til dette projekt, er et kapacitivt berøringssensormodul, og sensordriveren er baseret på driveren IC TTP223. Driftsspændingen på TTP223 IC er fra 2 V til 5,5 V, og berøringssensorens strømforbrug er meget lavt. På grund af det billige, lave strømforbrug og den nemme at integrere understøttelse bliver berøringssensoren med TTP223 populær i det kapacitive berøringssensorsegment.
På ovenstående billede vises begge sider af sensoren, hvor pinout-diagrammet er tydeligt synligt. Den har også en loddetilbehør, der kan bruges til at omkonfigurere sensoren i forhold til output. Jumperen er A og B. Standardkonfiguration eller i standardtilstanden for loddejumperen skifter output fra LAV til HØJ, når der berøres sensoren. Når jumperen er indstillet, og sensoren er omkonfigureret, ændres output imidlertid sin tilstand, når berøringssensoren registrerer berøringen. Berøringssensorens følsomhed kan også konfigureres ved at skifte kondensator. For detaljeret information, gå gennem databladet til TTP 223, som vil være meget nyttigt.
Nedenstående diagram viser forskellige output ved forskellige jumperindstillinger-
Jumper A | Jumper B | Output Lock State | Output TTL-niveau |
Åben | Åben | Ingen lås | Høj |
Åben | Tæt | Selvlås | Høj |
Tæt | Åben | Ingen lås | Lav |
Tæt | Tæt | Selvlås | Lav |
I dette projekt vil sensoren blive brugt som standardkonfiguration, der er tilgængelig i fabriksfrigivelsesbetingelsen.
Apparater kan styres ved hjælp af berøringssensoren og ved at grænsefladen til den med en mikrocontroller. I dette projekt vil berøringssensoren blive brugt til at styre en pære som ON eller OFF ved hjælp af Arduino UNO og Relay.
Lær mere om Relay
For at grænsefladen til relæet er det vigtigt at have en god ide om relæets pinbeskrivelse. Relæets pinout kan ses i nedenstående billede-
NO er normalt åben, og NC er normalt tilsluttet. L1 og L2 er de to terminaler på relæspolen. Når spændingen ikke tilføres, slukkes relæet, og POLE tilsluttes NC-stiften. Når spændingen tilføres over spoleterminalerne, bliver relæets L1 og L2 tændt, og POLEN bliver forbundet med NO. Så forbindelsen mellem POLE og NO kan tændes eller slukkes ved at ændre relæets driftstilstand. Det anbefales stærkt at kontrollere relæspecifikationen inden ansøgningen. Relæet har en driftsspænding på tværs af L1 og L2. Nogle relæer fungerer med 12V, nogle med 6V og nogle med 5V. Ikke alene har dette, NO, NC og POLE også haft en spændings- og strømklassificering. Til vores applikation bruger vi 5V-relæ med 250V, 6A-klassificering på skiftesiden.
Komponenter, der kræves
- Arduino UNO
- USB-kablet til programmering og strøm
- Standard kubisk relæ - 5V
- 2k modstand -1 stk
- 4,7 k modstand - 1 stk
- BC549B transistor
- TTP223 sensormodul
- 1N4007 Diode
- Pære med pæreholder
- Et brødbræt
- En telefonoplader til at forbinde Arduino via USB-kabel.
- Masser af tilslutningsledninger eller bergledninger.
- Arduino programmeringsplatform.
2k modstand, BC549B, 1N4007, og relæet kan udskiftes med et relæmodul.
Kredsløbsdiagram
Skematisk tilslutning af berøringssensor til Arduino er enkel og kan ses nedenfor,
Transistoren bruges til at tænde eller slukke for relæet. Dette skyldes, at Arduino GPIO-ben ikke er i stand til at give tilstrækkelig strøm til at køre relæet. 1N4007 kræves til EMI-blokering under relæ til eller fra-situation. Dioden fungerer som en frihjulsdiode. Berøringsføleren er forbundet med Arduino UNO-kortet.
Kredsløbet er konstrueret på et brødbræt med Arduino som nedenfor.
Den korrekte breadboard-forbindelse kan ses i nedenstående skematisk.
Programmering af Arduino UNO til styring af pære ved hjælp af berøringssensor
Komplet program med fungerende video er givet i slutningen. Her forklarer vi nogle få vigtige dele af koden. Arduino UNO vil blive programmeret ved hjælp af Arduino IDE. For det første er Arduino-biblioteket inkluderet for at få adgang til alle Arduinos standardfunktioner.
#omfatte
Definer alle pin-numre, hvor relæ og berøringssensor skal tilsluttes. Her er berøringsføleren tilsluttet pin A5. Den indbyggede LED bruges også, som er direkte forbundet i kortet til pin 13. Relæet er forbundet til pin A4.
/ * * Stiftbeskrivelse * / int Touch_Sensor = A5; int LED = 13; int Relæ = A4;
Definer pin-tilstand dvs. hvad der skal være pin-funktionen, hvad enten det er input eller output. Her er berøringssensor lavet input. Relæ- og LED-stifter udsendes.
/ * * Opsætning af pin-tilstand * / ugyldig opsætning () { pinMode (Touch_Sensor, INPUT); pinMode (LED, OUTPUT); pinMode (relæ, OUTPUT); }
To heltal erklæres, hvor 'tilstanden' bruges til at holde sensorens tilstand, uanset om den berøres eller ej. 'Tilstanden' bruges til at holde LED'en og relæets tilstand til eller fra.
/ * * Beskrivelse af programflow * / int-tilstand = 0; int-tilstand = 0; // At holde switch-tilstanden.
Berøringsføleren ændrer logikken 0 til 1, når den berøres. Dette læses af digitalRead- funktionen () , og værdien gemmes i tilstandsvariablen. Når tilstanden er 1, ændres tilstanden for LED og relæ. For at registrere berøringen nøjagtigt anvendes der imidlertid en frakoblingsforsinkelse. Afvisningsforsinkelsen , forsinkelsen (250); bruges til at bekræfte det enkelte tryk.
ugyldig loop () { condition = digitalRead (A5); // Læsning af digitale data fra A5 Pin i Arduino. hvis (betingelse == 1) { forsinkelse (250); // forsinkelse fra afvisning. hvis (betingelse == 1) { tilstand = ~ tilstand; // Ændring af kontakten. digitalWrite (LED, tilstand); digitalWrite (relæ, tilstand); } } }
Test af bearbejdning af berøringssensor TTP223
Kredsløbet testes i brødpladen med en lavpære tilsluttet.
Bemærk, at dette projekt bruger 230-240V vekselstrøm, så det tilrådes at være forsigtig, når du bruger pære. Hvis du er i tvivl eller forslag, bedes du kommentere nedenfor.