- Vad är en kapacitiv beröringssensor?
- Material som krävs
- Kretsschema
- Programmering Atmega AT89S52 Microcontroller
I modern elektronikvärld används pekinmatning nästan överallt, oavsett om det kan vara en mobiltelefon eller en LCD-skärmbrytare. Kapacitiv beröring används ofta i beröringssensorsegmentet och vi använde tidigare kapacitiv beröring med en Raspberry Pi. Här i det här projektet kommer vi att gränssnitt touch sensor med 8051 mikrokontroller AT89S52. Om du är ny på 8051 mikrokontroller kan du börja med att LED blinkar med 8051.
Vad är en kapacitiv beröringssensor?
Kapacitiv beröring fungerar på den elektrostatiska laddningen som finns på vår kropp. Skärmen är redan laddad med ett elektriskt fält. När vi rör på skärmen bildas en nära krets på grund av elektrostatisk laddning som flyter genom vår kropp. Vidare bestämmer programvaran platsen och åtgärden som ska utföras. Kapacitiv pekskärm fungerar inte med handhandskar eftersom det inte blir någon ledning mellan fingret / fingrarna och skärmen.
Touch Sensor som används i detta projekt
Touch-sensorn som används i detta projekt är en kapacitiv touch-sensormodul och sensor-drivrutinen är baserad på drivrutinen IC TTP223. Driftspänningen hos IC TTP23 är 2.0V till 5,5 V och strömförbrukningen hos beröringssensorn är mycket låg. På grund av den billiga, låga strömförbrukningen och det lätta att integrera stödet är pekssensorn med TTP223 mycket populär i ett segment.
I bilden ovan visas båda sidor av sensorn där pinout-diagrammet syns tydligt. Den har också en lödbygel som kan användas för att konfigurera om sensorn med avseende på utgången. Bygeln är A och B. Standardkonfiguration eller i standardläget för lödbygeln ändras utgången från låg till hög när sensorn berörs. Men när bygeln är inställd och sensorn konfigureras på nytt, ändras utgången dess tillstånd när beröringssensorn upptäcker beröringen. Känsligheten hos beröringssensorn kan också konfigureras genom att byta kondensator. För detaljerad information är databladet för TTP 223 mycket användbart.
Nedanstående diagram visar olika utgångar vid olika bygelinställningar-
Bygel A | Bygel B |
Utgångslåsstatus |
Utgång TTL-nivå |
Öppet | Öppet |
Inget lås |
Hög |
Öppet | Stänga |
Självlåsande |
Hög |
Stänga | Öppet |
No-Lock |
Låg |
Stänga | Stänga |
Självlås |
Låg |
För det här projektet kommer sensorn att användas i standardkonfiguration som är tillgänglig i fabriksläge. I det här projektet kommer touch-sensorn att användas för att styra en AC-lampa med hjälp av AT89S52 mikrokontroller.
Ett relä är gränssnitt med 8051 mikrokontroller. Reläets pinout kan ses på bilden nedan-
NO är normalt öppen och NC är normalt ansluten. L1 och L2 är de två anslutningarna på reläspolen. När spänningen inte appliceras stängs reläet av och POLE kopplas till NC-stiftet. När spänningen appliceras över spolanslutningarna slås L1 och L2 på reläet PÅ och POLEN kopplas till NO. Därför kan anslutningen mellan POLE och NO kopplas PÅ eller AV genom att ändra reläets driftstillstånd.
Material som krävs
- AT89S52 8051 Microcontroller
- Standard kubiskt relä - 5V
- 11,592 MHz kristall
- 33pF kondensatorer - 2st
- 2k motstånd -1 st
- 4,7 k motstånd - 1 st
- 10uF kondensator
- BC549B transistor
- TTP223-sensor
- 1N4007 Diod
- Glödlampa med glödlampa
- En brädbräda
- 5V strömförsörjning, en telefonladdare kan fungera.
- Massor av bygeltrådar eller bergtrådar.
- Programmeringsmiljö AT89S52 med Programmer Kit och IDE med kompilator
Kretsschema
Schemat för styrning av ljus med touch-sensor och 8051 ges nedan på bilden,
Transistorn används för att slå på eller av reläet. Pekssensorn är ansluten till AT89S52 mikrokontroller. Kretsen är konstruerad med ett brödbräda.
Programmering Atmega AT89S52 Microcontroller
Komplett 8051-kod ges i slutet. Här förklarar vi några delar av koden. Om du är nybörjare på 8051 mikrokontroller, lär dig först hur du programmerar en 8051 mikrokontroller.Nedanstående kodrader används för att integrera relä och pekssensor med 8051 mikrokontroller. REGX52 är rubrikfilen för AT89S52-mikrokontroller-enheten. En fördröjningsfunktion deklareras också.
#omfatta
Touch och relä initialiseras som 0. Touch-sensorn ändrar logiken 0 till 1. Om uttalandet är sant när touch-sensorn aktiveras och på grund av detta ändras reläets tillstånd. För att upptäcka beröringen exakt används dock en avstängningsfördröjning.
// Huvudfunktion ogiltig huvud (ogiltig) { RELAY = 0; Touch = 0; medan (1) { if (Touch == 1) { fördröjning (15); // debounce delay om (Touch == 1) { RELAY =! RELAY; // Växla RELÄ stiftfördröjning (30); } } } }
Nedan skrivs fördröjningsfunktionen. Funktionen tar inmatning i millisekunder och genererar fördröjning med två för slingor. Denna fördröjning är inte mycket exakt men är acceptabel och beror mest på tidpunkten för klockcykeln.
/ * Fördröjningsrelaterad funktion * / tomrumsfördröjning (char ms) {int a, b; för (a = 0; a <1295; a ++) {för (b = 0; b
Denna beröringskontrollerade ljuskrets testas på brödbrädan med en lampa med låg effekt ansluten till den. Den kompletta skiss med en demonstration video bifogas nedan. Du kan kontrollera fler hemautomationsprojekt här.