شِفر (کود) آردوینو و ویدیو برای حساس(حس کننده) شیب
این پروژه نحوهٔ ساخت یک حساس(حس کننده) شیب ساده با استفاده از آردوینو را نشان میدهد. این حساس(حس کننده) را میتوان در کاربردهای متنوعی که در آنها تشخیص تغییرات جهتگیری اهمیت دارد، بهکار برد. در اینجا چند ایده:

- رباتیک:حساس(حس کننده) شیب را در بازوی رباتیک ادغام کنید تا موقعیت و جهت بازو را تشخیص دهد.
- سیستمهای امنیتی:از آن بهعنوان یک کلید شیب ساده برای هشدار امنیتی استفاده کنید؛ اگر جسمی جابهجا شود، هشدار فعال میشود.
- پایش صنعتی:شیب ماشینآلات یا تجهیزات را پایش کنید تا خرابیها یا ناپایداریهای احتمالی را تشخیص دهید.
- دستههای بازی:آن را در یک کنترلر بازی سفارشی برای ورودیهای مبتنی بر شیب ادغام کنید.
این پروژه از یک ماجیول حساس(حس کننده) شیب، یک میکروکنترلر آردوینو و چند قطعهٔ پایهای استفاده میکند تا یک سیستم کاربردی تشخیص شیب ایجاد کند. هنگامی که حساس(حس کننده) کج میشود، خروجی آن سیگنال سطح پایین میدهد که آردوینو آن را تفسیر میکند تا یک LED و یک بیزر را فعال کند (در ویدئو در 00:18).
سختافزار/قطعات
سختافزار مورد نیاز این پروژه شامل موارد زیر است: (در ویدیو در 00:49)
- Arduino Uno (یا برد سازگار)
- ماجیول حساس(حس کننده) شیب
- بازر
- الایدی
- مقاومت 220Ω (برای LED)
- سیمهای جامپر
راهنمای سیمکشی
سیمکشی ساده است. برای راهنمای تصویری به ویدیو مراجعه کنید. (در ویدیو در 02:36) اتصالات کلیدی عبارتاند از:
- VCC حساس(حس کننده) شیب به 5V آردوینو
- پایه GND حساس(حس کننده) شیب به پایه GND آردوینو
- خروجی دیجیتال (DO) حساس(حس کننده) شیب را به پایه 2 آردوینو وصل کنید.
- پایه مثبت LED به پایه 8 آردوینو از طریق یک مقاومت 220Ω
- پایهٔ منفی LED به GND آردوینو
- پایه مثبت بیزر به پایه 8 آردوینو
- پایه منفی بیزر به GND آردوینو

توضیح شِفر (کود)
شِفر (کود) آردوینو بهمنظور خواندن خروجی حساس(حس کننده) شیب و کنترل LED و بیزر طراحی شده است. (در ویدیو در 04:30)
#define TILT 2 // pin 2 for tilt sensor
#define LED 8 // pin 8 for LED and buzzer
آنTILTوLEDثابتها پایههای آردوینو را که به حساس(حس کننده) شیب و اجزای خروجی متصلاند، به ترتیب مشخص میکنند. میتوانید این شمارههای پایه را برای مطابقت با سیمکشی خود تغییر دهید. منطق اصلی درloop()عملکرد: (در ویدیو در 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");
}
شِفر (کود) حالت حساس(حس کننده) شیب را با استفاده ازdigitalRead(). اگر حساس(حس کننده) کج شده باشد (LOW), الایدی و بیزر فعال میشوند (HIGH); در غیر این صورت، غیرفعال میشوند (LOW).
Thedelay(200);این تابع (در ویدیو در 07:16) فرکانس خواندن حساس(حس کننده) را کنترل میکند. برای تغییر اینکه هر چند وقت یکبار حساس(حس کننده) بررسی شود، این مقدار را تنظیم کنید.
پروژه/نمایش زنده
ویدئو عملکرد حساس(حس کننده) شیب را نشان میدهد (در ویدئو در :34). وقتی دستگاه در جهت مشخصی کج میشود، LED روشن میشود و بازر به صدا درمیآید، که نشاندهندهٔ تشخیص شیب است. حساسیت حساس(حس کننده) را میتوان با استفاده از یک پتانسیومتر تنظیم کرد (در ویدئو در :50)، که به شما امکان میدهد میزان پاسخدهی آن را دقیقتر تنظیم کنید.
فصلها
- [00:06] مقدمه
- [00:49] مروری بر سختافزار
- [01:08] جزئیات حساس(حس کننده) شیب
- [02:36] توضیح سیمکشی
- [04:30] شرح شِفر (کود)
- [07:34] نمایش زنده
- [08:21] نتیجهگیری
++
/*
* 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);
}
مواردی که ممکن است به آنها نیاز داشته باشید
-
ایبی
-
علیاکسپرسخرید سنسور شیب توپ از AliExpresss.click.aliexpress.com
منابع و مراجع
هنوز هیچ منبعی موجود نیست.
فایلها📁
هیچ فایلی موجود نیست.
