Arduino kod i video za tilt senzor
Ovaj projekat pokazuje kako napraviti jednostavan senzor nagiba koristeći Arduino. Ovaj senzor se može koristiti u raznim aplikacijama gdje je detekcija promjena u orijentaciji ključna. Evo nekoliko ideja:

- Robotika: Ugradite senzor nagiba u robotsku ruku kako biste detektovali njen položaj i orijentaciju.
- Sigurnosni sistemi: Koristite ga kao osnovni prekidač nagiba za sigurnosni alarm, koji pokreće upozorenje ako se objekat pomjeri.
- Industrijsko praćenje: Pratite nagib mašina ili opreme kako biste otkrili potencijalne kvarove ili nestabilnost.
- Kontroleri za igre: Integrišite ga u prilagođeni kontroler za igre za unos zasnovan na nagibu.
Projekat koristi modul senzora nagiba, Arduino mikrokontroler i nekoliko osnovnih komponenti za stvaranje funkcionalnog sistema za detekciju nagiba. Senzor šalje nizak signal kada je nagnut, što Arduino interpretira kako bi aktivirao LED i zujalicu (u videu na 00:18).
Hardver/Komponente
Hardver potreban za ovaj projekat uključuje: (u videu na 00:49)
- Arduino Uno (ili kompatibilan)
- Modul senzora nagiba
- Zujalica
- LED
- 220Ω otpornik (za LED)
- Konektorske žice
Vodič za povezivanje
Povezivanje je jednostavno. Pogledajte video za vizuelni vodič. (u videu na 02:36) Ključne veze su:
- VCC senzora nagiba na Arduino 5V
- GND senzora nagiba na Arduino GND
- DO senzora nagiba na Arduino pin 2
- Pozitivna nožica LED-a na Arduino pin 8 kroz 220Ω otpornik
- Negativna nožica LED-a na Arduino GND
- Pozitivna nožica zujalice na Arduino pin 8
- Negativna nožica zujalice na Arduino GND

Objašnjenje koda
Arduino kod je dizajniran da čita izlaz senzora nagiba i kontroliše LED i zujalicu u skladu s tim. (u videu na 04:30)
#define TILT 2 // pin 2 za senzor nagiba
#define LED 8 // pin 8 za LED i zujalicu
Konstante TILT i LED definišu Arduino pinove povezane sa senzorom nagiba i izlaznim komponentama. Možete promijeniti ove brojeve pinova kako biste odgovarali vašem povezivanju. Osnovna logika je u loop() funkciji: (u videu na 05:36)
int TILT_SENSED = digitalRead(TILT);
if(TILT_SENSED == LOW) {
digitalWrite(LED, HIGH);
Serial.println("Tilt detected");
} else {
digitalWrite(LED, LOW);
Serial.println("Normal");
}
Kod čita stanje senzora nagiba koristeći digitalRead(). Ako je senzor nagnut (LOW), LED i zujalica se aktiviraju (HIGH); u suprotnom, deaktiviraju se (LOW).
Funkcija delay(200); (u videu na 07:16) kontroliše učestalost čitanja senzora. Prilagodite ovu vrijednost da promijenite koliko često se senzor provjerava.
Živi projekat/Demonstracija
Video demonstrira funkcionalnost senzora nagiba. (u videu na 07:34) Kada je uređaj nagnut u naznačenom smjeru, LED se osvjetljava i zujalica se oglašava, što ukazuje da je nagib detektovan. Osjetljivost senzora se može podesiti pomoću potenciometra (u videu na 07:50), što vam omogućava da fino podesite njegovu reakciju.
Poglavlja
- [00:06] Uvod
- [00:49] Pregled hardvera
- [01:08] Detalji o senzoru nagiba
- [02:36] Objašnjenje povezivanja
- [04:30] Objašnjenje koda
- [07:34] Živa demonstracija
- [08:21] Zaključak
++
/*
* This is the Arduino code for a tilt sensor that detects tilt and
* turns on a buzzer, or you can control a motor, servo, or any other action.
* Watch the video https://youtu.be/46Z-6MVxKnc
*
* Arduino Code for Tilt Sensor
* Written by Ahmad Nejrabi for Robojax.com
* on January 16, 2018 at 21:04 in Ajax, Ontario, Canada
* Permission granted to share this code given that this
* note is kept with the code.
* Disclaimer: This code is "AS IS" and for educational purposes only.
*
*/
/*
What it does?
This module has 3 pins: VCC (connected to 5V),
GND (connected to GND of Arduino), and
DO (data out), which is connected to pin 2.
From pin 8 of Arduino, when tilt is detected, you can stop a
motor, move a servo, or turn an LED on to indicate tilt.
*/
// Tilt Sensor code for Robojax.com
#define TILT 2 // pin 2 for front-left sensor
#define LED 8 // pin 3 for front-right sensor
void setup() {
Serial.begin(9600);
Serial.println("Robojax Tilt Test");
pinMode(TILT, INPUT);//define Data input pin input pin
pinMode(LED,OUTPUT);// define LED pin as output
}
void loop() {
// Tilt Sensor code for Robojax.com
int TILT_SENSED = digitalRead(TILT);// read TILT sensor
// if tilt is sensed
if( TILT_SENSED ==LOW)
{
digitalWrite(LED,HIGH);// set the LED pin HIGH and buzzer will buzz
Serial.println("Tilt detected");
}else{
digitalWrite(LED,LOW); // Set the LED pin LOW to turn it OFF or buzzer OFF
Serial.println("Normal");
}
delay(200);
}
Things you might need
-
eBay
-
AliExpressKupite senzor nagiba kugle na AliExpressus.click.aliexpress.com
Resources & references
No resources yet.
Files📁
No files available.
