استخدام الجوال مع البلوتوث للتحكم بمحرك
المشروع الخامس
عن المشروع
في هذا المشروع سنستخدم برنامج RemoteXY للتحكم بالسيرفو من خلال الجوال
ستحتاج إلى تحميل التطبيق على هاتفك: للأندرويد Android - للأيفون IOS
فيديو المشروع
رابط تحميل مكتبة RemoteXY:
https://remotexy.com/en/library/
تحتاج لتحميلها واتباع الخطوات الموضحة بالمقطع أعلاه
خريطة الربط
الشيفرة البرمجية
/*
-- New project --
This source code of graphical user interface
has been generated automatically by RemoteXY editor.
To compile this code using RemoteXY library 2.4.3 or later version
download by link http://remotexy.com/en/library/
To connect using RemoteXY mobile app by link http://remotexy.com/en/download/
- for ANDROID 4.5.1 or later version;
- for iOS 1.4.1 or later version;
This source code is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
*/
//////////////////////////////////////////////
// RemoteXY include library //
//////////////////////////////////////////////
// RemoteXY select connection mode and include library
#define REMOTEXY_MODE__SOFTSERIAL
#include <SoftwareSerial.h>
#include <RemoteXY.h>
#include <Servo.h>
Servo servo;
// RemoteXY connection settings
#define REMOTEXY_SERIAL_RX 3
#define REMOTEXY_SERIAL_TX 2
#define REMOTEXY_SERIAL_SPEED 9600
// RemoteXY configurate
#pragma pack(push, 1)
uint8_t RemoteXY_CONF[] =
{ 255,1,0,0,0,11,0,10,13,0,
4,128,23,23,57,19,2,26 };
// this structure defines all the variables and events of your control interface
struct {
// input variables
int8_t slider_1; // =0..100 slider position
// other variable
uint8_t connect_flag; // =1 if wire connected, else =0
} RemoteXY;
#pragma pack(pop)
/////////////////////////////////////////////
// END RemoteXY include //
/////////////////////////////////////////////
void setup()
{
RemoteXY_Init ();
servo.attach(8);
Serial.begin(9600);
// TODO you setup code
}
void loop()
{
RemoteXY_Handler ();
int x = RemoteXY.slider_1*180/100;
servo.write(x);
delay(10);
Serial.println(RemoteXY.slider_1);
// TODO you loop code
// use the RemoteXY structure for data transfer
// do not call delay()
}