- Trillingssensormodule SW-420
- Componenten vereist
- Arduino trillingssensor schakelschema
- Arduino Uno trillingssensor programmeren
- Het Arduino-trillingssensorcircuit testen
Er zijn verschillende kritische machines of dure apparatuur die door trillingen beschadigd raken. In dat geval is een trillingssensor nodig om te bepalen of de machine of apparatuur trillingen veroorzaakt of niet. Het identificeren van het object dat continu trilt, is geen lastige klus als de juiste sensor wordt gebruikt om de trilling te detecteren. Er zijn verschillende soorten trillingssensorenbeschikbaar op de markt die de trilling kan detecteren door versnelling of snelheid te detecteren en een uitstekend resultaat kan opleveren. Dergelijke sensoren zijn echter te duur als de versnellingsmeter wordt gebruikt. Accelerometer is erg gevoelig en kan worden gebruikt om een aardbevingsdetectorcircuit te maken. Maar er zijn maar weinig speciale en goedkope sensoren beschikbaar om alleen de trillingen te detecteren, een dergelijke trillingssensor is SW-420, die we gaan koppelen met Arduino Uno.
Dus in dit project is een basis vibratiesensormodule gekoppeld aan de populaire Arduino UNO en wanneer de vibratiesensor een vibratie of schok detecteert, zal een LED gaan knipperen.
Trillingssensormodule SW-420
Dit is een SW-420 vibratiemodule, die kan werken van 3.3V tot 5V. De sensor gebruikt een LM393-comparator om de trilling boven een drempelpunt te detecteren en digitale gegevens te leveren, Logic Low of Logic High, 0 of 1. Tijdens normaal bedrijf levert de sensor Logic Low en wanneer de trilling wordt gedetecteerd, levert de sensor Logic High. Er zijn drie randapparatuur beschikbaar in de module, twee LED's, een voor de Power-status en een andere voor de sensoruitgang. Bovendien is er een potentiometer beschikbaar die verder kan worden gebruikt om het drempelpunt van de trilling te regelen. In dit project gebruiken we 5V om de module van stroom te voorzien.
We gebruikten dezelfde sensor in het antidiefstalwaarschuwingssysteem met ATmega8 Microcontroller. Ook kan een hellingsensor worden gebruikt om een plotseling ongeval te detecteren.
Componenten vereist
- Arduino UNO
- SW-420 Trillingssensormodule
- 5 mm LED (elke kleur)
- Doorverbindingsdraden (aansluitdraden)
- USB-kabel voor het uploaden van programma
Arduino trillingssensor schakelschema
Het schema voor het koppelen van trillingssensor met Arduino uno wordt hieronder gegeven.
De LED is verbonden in de D13-pin. De module wordt gevoed via de beschikbare 5V-pin in de Arduino. De aarde en de 5V-pin worden gebruikt om de Arduino van stroom te voorzien, terwijl de A5-pin wordt gebruikt om de gegevens van de trillingssensor te krijgen.
Het circuit is geconstrueerd waar de SW-420-module en LED zijn verbonden met Arduino Uno.
Arduino Uno trillingssensor programmeren
Het programmeren van de Arduino UNO om een trillingssensor te koppelen vereist niet veel inspanning, aangezien alleen de invoerpin moet worden bewaakt om een conclusie te trekken. De volledige code en werkende video zijn aan het einde bijgevoegd.
In eerste instantie zijn de koptekstbestanden inbegrepen. De arduino-header is inbegrepen omdat deze tutorial is geschreven in Eclipse IDE met Arduino-extensie. Deze sketch werkt ook voor Arduino IDE en als je deze sketch in Arduino IDE gebruikt, is het niet nodig om een header op te nemen.
# omvatten
Hier zijn twee macro's gedefinieerd voor AAN en UIT.
#define AAN 1 #define UIT 0
De onderstaande verklaring wordt gebruikt voor het integreren van de LED's en de trillingssensor. De trillingssensor is aangesloten op pin A5. De ingebouwde LED wordt ook gebruikt die rechtstreeks in het bord is aangesloten op pin 13. De 5 mm LED is ook verbonden met pin 13.
/ * * Pin Beschrijving * / int vibration_Sensor = A5; int LED = 13;
Er worden twee gehele getallen gedeclareerd waar de sensoren de output presenteren en de vorige output zal worden opgeslagen, die verder zullen worden gebruikt om te detecteren of de trilling plaatsvindt of niet.
/ * * Programmastroom Beschrijving * / int present_condition = 0; int previous_condition = 0;
Dezelfde pin die wordt verklaard als de perifere verbinding, de richting van de pinnen is geconfigureerd. De sensorpin als input en de LED-pin als output.
/ * * Pin-modus setup * / void setup () { pinMode (vibration_Sensor, INPUT); pinMode (LED, UITGANG); }
Een functie is geschreven om de led tweemaal te laten knipperen. De vertraging kan worden geconfigureerd door de vertragingswaarde te wijzigen.
void led_blink (void) { digitalWrite (LED, ON); vertraging (250); digitalWrite (LED, UIT); vertraging (250); digitalWrite (LED, AAN); vertraging (250); digitalWrite (LED, UIT); vertraging (250); }
In de lusfunctie worden huidige en vorige toestand vergeleken. Als deze twee niet hetzelfde zijn, beginnen de leds te knipperen totdat ze allebei hetzelfde zijn. Bij het starten houden de twee variabelen 0 vast en blijft de led uit tijdens de start van het programma. Wanneer er enige virbraion is, wordt present_condition variabele 1 en begint de led te knipperen. En nogmaals, wanneer de trillingen stoppen, worden beide waarden 0 en stopt de LED met knipperen.
void loop () { previous_condition = present_condition; present_condition = digitalRead (A5); // Digitale gegevens lezen van de A5-pin van de Arduino. if (previous_condition! = present_condition) { led_blink (); } else { digitalWrite (LED, UIT); } }
Hiermee is de programmering van de arduino UNO met trillingssensor voltooid. De laatste stap is het testen van de hele installatie.
Het Arduino-trillingssensorcircuit testen
Het circuit heeft geen extra breadboard nodig. Het kan eenvoudig worden getest met behulp van het Arduino UNO-bord. De led wordt bewaakt wanneer de trillingssensor wordt geraakt of als deze van toestand verandert. De led zal knipperen verbonden met pin 13 van Arduino UNO als er wat trillingen zijn. Als de trillingssensor niet werkt, controleer dan de aansluiting en voeding. Voorkom een losse verbinding tussen sensor en microcontroller.
Dit is dus hoe een trillingssensor kan worden gekoppeld aan Arduino UNO. Als u enige twijfel of suggestie heeft, kunt u ons bereiken via het forum of u kunt hieronder ook reageren.