اصنع سلة ذكية متعددة الأغراض باستخدام الاردوينو

مبتدئ

image_pdf

الكود البرمجي

عليك تنصيب مكتبة <NewPing.h> من الرابط التالي مكتبة NewPing.

بعد ذلك ارفع الكود البرمجي على لوحة الاردوينو باستخدام برنامج اردوينو IDE لتستطيع التحكم في السلة الذكية.

#include <Wire.h>
#include <NewPing.h>
#include <Servo.h>

Servo myservo1;
Servo myservo2;

#define TRIGGER_PIN_1 7
#define ECHO_PIN_1 6
#define MAX_DISTANCE 400

NewPing sonar1(TRIGGER_PIN_1,ECHO_PIN_1,MAX_DISTANCE);

float distance1;
float duration1;

void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
myservo1.attach(11); // Servo pin
myservo2.attach(10); // Servo pin
}
void loop() {
// put your main code here, to run repeatedly:
duration1=sonar1.ping();
distance1=(duration1 / 2)*0.0343; Serial.println(distance1);
if(distance1 < 35){ // set the minimum distance here
myservo1.write(10);
myservo2.write(100);
delay(600);}
else{ myservo1.write(100); myservo2.write(10); } }

شرح الكود البرمجي

هذه الأسطر توضح المكتبات المستخدمة مكتبة <Wire.h> للتواصل بين الاردوينو وحساس الموجات فوق الصوتية ومكتبة <Servo.h> الخاصة بمحرك السيرفو وأخيرًا مكتبة <NewPing.h> الخاصة بحساس الموجات فوق الصوتية.

#include <Wire.h>
#include <NewPing.h>
#include <Servo.h>

هنا يتم تعريف المغيرات الخاصة بكلا محركي السيرفو الأول myservo1 والسيرفو الثاني myservo2.

Servo myservo1;
Servo myservo2;

هذه الأسطر توضح منافذ الاردوينو المستخدمة لربط حساس الموجات فوق الصوتية.

منفذ TRIGGER مع المنفذ الرقمي 7.

ECHO مع المنفذ الرقمي 6.

#define TRIGGER_PIN_1 7
#define ECHO_PIN_1 6

المتغير MAX_DISTANCE يحمل أقصى مسافة سيكتشفها حساس المسافة (يمكنك تحرير المسافة على النحو الذي تريده).

#define MAX_DISTANCE 400

هنا يتم ربط منافذ الإدخال والإخراج لحساس الموجات الصوتية مع المسافة التي تم تعيينها مسبقًا؛ حتى يتفاعل الاردوينو مع تلك المسافة.

NewPing sonar1(TRIGGER_PIN_1,ECHO_PIN_1,MAX_DISTANCE);

في الدالة ()setup يتم تعريف منافذ الاردوينو المستخدمة لربط كلا محركي السيرفو.

void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
myservo1.attach(11); // Servo pin
myservo2.attach(10); // Servo pin
}

في الدالة ()loop يتم قراءة المسافة بيننا وبين حساس الموجات فوق الصوتية إذا كانت أقل من 35 سيعمل كلا محركي السيرفو وتنفتح السلة الذكية وتنغلق من تلقاء نفسها بدون لمسها.

void loop() {
// put your main code here, to run repeatedly:
duration1=sonar1.ping();
distance1=(duration1 / 2)*0.0343;
Serial.println(distance1);
if(distance1 < 35){ // set the minimum distance here
myservo1.write(10);
myservo2.write(100);
delay(600);}
else{
myservo1.write(100);
myservo2.write(10);
}
}

 

X
Product added to the cart