ربما أحد المشاريع الأساسية اردوينو أنا أجهزة استشعار وقوف السيارات. لكن هذه المقالة لن تصف إنشاء أجهزة استشعار وقوف عادية ، ولكن أجهزة استشعار وقوف السيارات مع الضبط اليدوي للمسافة الحرجة. في عملية إنشاء هذا الجهاز ، ستزيد مهاراتك في الدوائر والبرمجة.
المكونات الرئيسية:
• لوحة اردوينو نانو / اونو
• جهاز استشعار المسافة بالموجات فوق الصوتية HC-CR04
• 6 مصابيح LED
• 6 مقاومات عند 220 أوم
• مقاومتان لكل 10 كم
• 2 أزرار ساعة
• صرير بيزو
• لوحة هذيانية
• أسلاك أبي أبي
• إسفنجة للأحذية (للحالة)
من الأدوات:
• لحام الحديد
• الغراء الحراري
خذ بعين الاعتبار خوارزمية الجهاز
بعد عرض الخوارزمية ، نجمع المخطط على لوحة هذيانية:
منذ أن قمت بتركيب الدائرة في الحالة ، تقرر إنشاء دروع صغيرة للأزرار ومصابيح LED.
حالة الجهاز مصنوعة من صندوق من اسفنجة للأحذية.
يبدو أن الجهاز في الداخل.
دعنا نرى الرمز.
int switch1 = 9 ؛ // الزر 1
int switch2 = 10 ؛ // الزر 2
عدد int = 2 ؛
int int = 40 ؛ // المسافة الحرجة الأولية بالسنتيمتر !!!
int echoPin = 12 ؛ // Echo pin في وحدة HC-SR04
int trigPin = 11 ؛ // Trig pin في وحدة HC-SR04
int buz = 8 ؛ // تثبيت مكبر الصوت
منطقي lBut1 = منخفض ؛
منطقي lBut2 = منخفض ؛
منطقي cBut1 = منخفض ؛
منطقي cBut2 = منخفض ؛
إعداد باطل () {
Serial.begin (9600) ؛
pinMode (trigPin ، OUTPUT) ؛
pinMode (echoPin ، INPUT) ؛
pinMode (switch1 ، INPUT) ؛
pinMode (switch2 ، INPUT) ؛
pinMode (2 ، OUTPUT) ؛ // LED 1
pinMode (3 ، OUTPUT) ؛ // LED 2
pinMode (4 ، OUTPUT) ؛ // LED 3
pinMode (5 ، OUTPUT) ؛ // LED 4
pinMode (6 ، OUTPUT) ؛ // LED 5
pinMode (7 ، OUTPUT) ؛ // LED 6
pinMode (8 ، OUTPUT) ؛ // صرير
}}
منطقية منطقية (آخر منطقية)
{
القيمة المنطقية = digitalRead (switch1) ؛
إذا (الأخير! = الحالي)
{
تأخير (5) ؛
الحالية = قراءة رقمية (مفتاح 1) ؛
}}
عودة التيار ؛
}}
منطقية منطقية 2 (منطقية last2)
{
boolean current2 = digitalRead (switch2) ؛
إذا (last2! = current2)
{
تأخير (5) ؛
تيار 2 = قراءة رقمية (مفتاح 2) ؛
}}
عودة التيار 2 ؛
}}
حلقة فارغة () {
مدة int ، سم ؛
الكتابة الرقمية (trigPin ، LOW) ؛
تأخير ميكروثانية (2) ؛
الكتابة الرقمية (trigPin ، عالية) ؛
تأخير ميكروثانية (10) ؛
الكتابة الرقمية (trigPin ، LOW) ؛
المدة = pulseIn (echoPin ، HIGH) ؛
سم = المدة / 58 ؛
Serial.print (سم) ؛
Serial.println ("سم") ؛
تأخير (10) ؛
cBut1 = الخصم (lBut1) ؛
if (lBut1 == LOW && cBut1 == HIGH)
{
pin = pin-1 ؛
bin = bin-7 ؛ // الرقم 7 يعني الطرح بمقدار 7 سم من المسافة الحرجة !!!
}}
lBut1 = cBut1 ؛
الكتابة الرقمية (دبوس ، عالي) ؛
cBut2 = debounce2 (lBut2) ؛
if (lBut2 == LOW && cBut2 == HIGH)
{
pin = pin + 1 ؛
bin = bin + 7 ؛ // الرقم 7 يعني إضافة 7 سم من المسافة الحرجة !!!
}}
lBut2 = cBut2 ؛
الكتابة الرقمية (دبوس ، منخفض) ؛
إذا (سم 0)
{
نغمة (8،200،200) ؛
تأخير (300) ؛
}}
آخر
{
noTone (8) ؛
}}
}}
يمكن تغيير قيم السلة لتصبح أكثر ملاءمة لك.
ونتيجة لذلك ، يؤدي الجهاز وظائفه بانتظام.
ستساعدك هذه المقالة على عمل أجهزة استشعار الانتظار نفسها دون بذل الكثير من الجهد.
أتمنى للجميع التوفيق في تكرار هذا الجهاز. آمل أن يكون دليلي مفيدًا لك.