- Materiaal vereist
- Schakelschema
- PIC-microcontroller:
- Code en uitleg
- Werking van PIR-sensor met PIC-microcontroller:
PIR (passief infrarood) of bewegingssensor wordt gebruikt om de beweging van bewegend menselijk lichaam of objecten te detecteren. Telkens wanneer iemand in het bereik van de PIR-sensor komt, geeft deze Hoog aan de uitgangspen. We hebben PIR eerder gekoppeld aan andere microcontrollers:
- Arduino Bewegingsmelder met PIR-sensor
- IOT-gebaseerd Raspberry Pi-huisbeveiligingssysteem met e-mailwaarschuwing
- Automatische trapverlichting met AVR-microcontroller
Vandaag gaan we eenvoudig PIR koppelen aan PIC Microcontroller PIC16F877A. Als in dit circuit enkele bewegende objecten binnen het bereik van de PIR-sensor komen, begint de zoemer te piepen.
Materiaal vereist
- PicKit 3
- PIR-sensor.
- PIC16F877A IC
- 40 - Pin IC houder
- Perf bord
- 20 MHz Crystal OSC
- Vrouwelijke en mannelijke Bergstick-pinnen
- 33pf condensator - 2Nos, 100uf en 10uf cap.
- 680 ohm, 10K en 560ohm weerstand
- LED in elke kleur
- 1 soldeerkit
- IC 7805
- 12V adapter
- Zoemer
- Draden aansluiten
- Breadboard
PIR-sensor:
PIR-sensor is goedkoop, energiezuinig en gebruiksvriendelijk Bewegingsdetectie Sesnor. PIR-sensor ontvangt alleen infraroodstralen, zendt niet uit, daarom wordt het passief genoemd. PIR neemt elke verandering in warmte waar, en als er een verandering is, geeft het HOOG bij OUTPUT. PIR-sensor wordt ook wel Pyro-elektrische of IR-bewegingssensor genoemd.
Elk object zendt bij verhitting een bepaalde hoeveelheid infrarood uit, vergelijkbaar met dat het menselijk lichaam IR uitzendt als gevolg van lichaamswarmte. Infrarood gecreëerd door elk object vanwege de wrijving tussen lucht en object. Het belangrijkste onderdeel van de PIR-sensor is een pyro-elektrische sensor. Samen met dit, BISS0001 ("Micro Power PIR Motion Detector IC"), enkele weerstanden, condensatoren en andere componenten die worden gebruikt om PIR-sensor te bouwen. BISS0001 IC neemt de input van de sensor en voert de verwerking uit om de outputpin HIGH of LOW dienovereenkomstig te maken.
Lees hier meer over de PIR-sensor. U kunt ook de afstandsgevoeligheid en de tijdsduur aanpassen waarvoor de outputpin hoog zal zijn zodra er beweging wordt gedetecteerd. Het heeft twee potentiometerknoppen om deze twee parameters aan te passen.
Schakelschema
PIC-microcontroller:
Om de PIC-microcontroller te programmeren voor het koppelen van PIR, hebben we een IDE (Integrated Development Environment) nodig, waar de programmering plaatsvindt. Een compiler, waar ons programma wordt geconverteerd naar een MCU-leesbare vorm, genaamd HEX-bestanden. Een IPE (Integrated Programming Environment), die wordt gebruikt om ons hex-bestand in onze PIC MCU's te dumpen.
IDE: MPLABX v3.35
IPE: MPLAB IPE v3.35
Samensteller : XC8
Microchip heeft al deze drie software gratis verstrekt. Ze kunnen rechtstreeks worden gedownload vanaf hun officiële pagina. Ik heb de link ook voor uw gemak verstrekt. Installeer ze na het downloaden op uw computer. Als u hier problemen mee heeft, kunt u de video aan het einde bekijken.
Om onze code in PIC te dumpen of te uploaden, hebben we PICkit 3 nodig . De PICkit 3 programmeur / debugger is een eenvoudige, goedkope in-circuit debugger die wordt bestuurd door een pc waarop MPLAB IDE (v8.20 of hoger) een Windows-platform. De PICkit 3 programmeur / debugger is een integraal onderdeel van de toolsuite van de ontwikkelaar. Daarnaast hebben we ook andere hardware nodig, zoals een Perf-bord, een soldeerstation, PIC IC's, kristaloscillatoren, condensatoren enz. Maar we zullen ze aan onze lijst toevoegen naarmate we verder komen met onze tutorials.
We zullen onze PIC16F877A programmeren met behulp van de ICSP-optie die beschikbaar is in onze MCU.
Volg onderstaande stappen om de code te branden:
- Start de MPLAB IPE.
- Verbind het ene uiteinde van uw PicKit 3 met uw pc en het andere uiteinde met uw ICSP-pinnen op de printplaat.
- Maak verbinding met uw PIC-apparaat door op de verbindingsknop te klikken.
- Blader naar het Blink HEX-bestand en klik op Program.
Als PIC Microcontroller nieuw voor je is, doorloop dan eerst onderstaande tutorials om te leren hoe je PIC kunt gebruiken en programmeren:
- Aan de slag met PIC Microcontroller: Inleiding tot PIC en MPLABX
- Je eerste programma schrijven met PIC Microcontroller en configuratiebits instellen
- LED knippert met PIC Microcontroller
Code en uitleg
Eerst moeten we de configuratiebits in de pic-microcontroller instellen en dan beginnen met de hoofdfunctie ongeldig .
In de onderstaande code is 'XC.h' het header-bestand dat alle beschrijvende namen voor de pinnen en randapparatuur bevat. We hebben ook de kristaloscillatorfrequentie, PIR- en zoemerpinnenverbinding in onderstaande code gedefinieerd.
# omvatten
In de void main () wordt ' TRISB = 0X00' gebruikt om de MCU te instrueren dat de PORTB- pinnen worden gebruikt als OUTPUT, 'TRISC = 0Xff' wordt gebruikt om de MCU te instrueren dat de PORTB-pinnen worden gebruikt als INPUT. En 'PORTB = 0X00' wordt gebruikt om de MCU te instrueren om alle OUTPUT van RB3 Low te maken.
TRISB = 0X00; TRISC = 0Xff; PORTB = 0X00; // Maak alle uitvoer van RB3 LAAG
Volgens de onderstaande code, telkens wanneer PIR HOOG wordt, wordt de zoemer HOOG of blijft hij UIT.
while (1) // Ga naar de Infinie While-lus {if (PIR == 1) {Buzzer = 1; __delay_ms (1000); // Wait} else {Buzzer = 0; }}}
Aan het einde van dit project wordt de volledige code met een demovideo gegeven.
Werking van PIR-sensor met PIC-microcontroller:
Dit project heeft geen ingewikkelde hardware-instellingen, we gebruiken opnieuw hetzelfde PIC Microcontroller-bord (zoals hieronder weergegeven) dat we hebben gemaakt in de LED-knipperende zelfstudie. Verbind de PIR-sensormodule eenvoudig met uw PIC-microcontroller-kaart volgens het aansluitschema. Als je klaar bent met de verbindingen, dump je gewoon de code met je PicKit 3-programmeur zoals uitgelegd in de vorige tutorial en geniet je van je output.
Na het uploaden van het programma is de PIR-sensor klaar om OUTPUT te geven. Elke keer dat een mens of object dat IR uitzendt binnen het bereik van PIR komt, geeft het HOOG aan de UITGANG. En op basis van die output zal de zoemer werken. Als de PIR-output hoog is, wordt de zoemer-input hoog en vice versa.
U kunt de afstand van de detectie en de tijdvertraging regelen door twee potentiometers te gebruiken die op de PIR-module zijn bevestigd. Volg de link om meer te weten over de PIR-sensor.