• 0
ryco

آموزش iot
اتصال به بلوتوث و ارسال دستورات

سوال

بسم الله الرحمن الرحیم

سلام؛

اینبار هم یه آموزش جدید و اما جذاب داریم براتون که میدونم هر کسی انجامش بده، حسابی بهش خوش میگذره و در آینده هم با خلاقیت و پشتکارش می تونه کارهای بزرگی بکنه. این یک آموزش پایه است، بنابراین پیشرفتش و شاخوبرگ دادنش دست خودتونه!

خب، قصد داریم گوشی ویندوزیمون (یا هر دستگاهی که قابلیت اجرای برنامه های یونیورسال و دارای سخت افزار بلوتوث هست) رو به آردوئینو متصل کنیم و با ارسال دستوری، یک لامپ رو روشن کنیم.

برای این کار نیاز به چند وسیله مختلف داریم:

1. دستگاه با قابلیت اجرای ویندوز 10 دارای سخت افزار بلوتوث

2. برد آردوئینو؛ من از برد آردوئینو UNO استفاده کردم.

3. ماژول بلوتوث مناسب با برد آردوئینو؛ من برای بردم از برد HC-05 همراه با برد راه اندازش استفاده کردم.

4. یک LED معمولی

5. برد بورد برای قرار دادن قطعات

6. منبع تغذیه 5 ولتی (شارژر موبایل ها اکثرا مناسب هستند)

7. مقداری سیم

 

و در بعد نرم افزاری هم به:

1. ویژوال استدیو 2017

2. IDE آردوئینو (لینک دانلود)

 

نیاز داریم.

 

خب بعد جمع کردن پیش نیازها، وقتشه که اولین پروژه رو شروع کنیم. 

 

ویژوال استدیو رو اجرا و یک پروژه جدید Blank App (Windows Universal) ایجاد می کنیم.

 

بعد از ایجاد پروژه، از طریق Nuget، پکیج Windows Remote Arduino رو دریافت و نصب کنید، ترجیحا جهت محکم کاری، یکبار پروژه رو rebuild کنید.

 

پس از این کار در منوی سولوشن، روی Package.appxmanifest راست کلیک کنید و گزینه View Code رو بزنید. می خواهیم قابلیت ها (نیازها) رو معرفی کنیم. تمامی موارد زیر رو در زیر تگ <Capabilities> وارد کنید:

 

برای اتصال از طریق بلوتوث:

<DeviceCapability Name="bluetooth.rfcomm">
  <Device Id="any">
    <Function Type="name:serialPort"/>
  </Device>
</DeviceCapability>

و

<Capability Name="privateNetworkClientServer"/>
<Capability Name="internetClientServer"/>

خب، فعلا کارمون با ویژوال تمومه! میریم سراغ پروگرام کردن آردوئینو:

 

IDE مربوطه رو نصب و اجرا کنید، برد خودتون رو با کابل USB به سیستم متصل کنید. توجه کنید که در این حالت نباید ماژولهای گیرنده داده مثل بلوتوث به بردتون متصل باشه، چون در فرایند پروگرام کردن دچار خطا خواهید شد.

از منوی Tools > Board، برد خودتون رو انتخاب کنید.

سپس از منوی Tools > Port، پورتی رو که برد از طریق اون به سیستم متصل هست رو انتخاب کنید.

و در آخر از مسیر File > Examples > Firmata، StandardFirmata را انتخاب کنید.

این کدهای آماده، تمام نیازهای ما برای اتصال به تک تک پایه ها و دریافت و ارسال داده رو برطرف می کند. حالا وقتشه این کدها رو بر روی برد آپلود کنیم. کافیه دکمه "Upload" (دکمه فلش رو به راست) رو فشار بدیم و منتظر پایان فرآیند باشیم.

 

یک نکته ظریف اما مهم اینجا وجود داره، و اون هم مربوط به نرخ باند ماژول بلوتوث هست. باید در دیتاشیت ماژولی که خریدید نگاه کنید و عدد مربوطه رو پیدا کنید. برای ماژل من 57600  هست. بعد از پیدا کردن نرخ مناسب، در کدهای StandardFirmata سرچ کنید و مقدار زیر رو به نرخ مناسب ماژولتون تغییر بدید:

Firmata.begin(57600); 

تمام!

 

در پست بعدی، بخش پایانی کار رو توضیح خواهم داد. پس با ما همراه باشید.

 


رزرو..........

پسند شده توسط 3 کاربر

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

13 پاسخ به این سوال تا کنون داده شده است

  • 0

بسم الله الرحمن الرحیم

 

قسمت دوم:

 

سلام دوستان خوبم، خب امروز یک قسمت دیگه از کار رو انجام میدیم. به قسمت های مهم رسیدیم.

درحال حاضر باید، یک ال ای دی رو به پایه های برد آردوئینو متصل کنیم. من برای این کار، پایه 5 دیجیتال رو در نظر گرفتم که تنها دارای حالت روشن و خاموش هست. از گراند (GND) هم یک سیم به پایه منفی میرسونیم.

اتصال ماژول بلوتوث هم ساده است، ولی یک نکته کوچک هست. پایه های مثبت و منفی را به پایه های همنام در برد متصل کنید، اما در مورد دو پایه دیگر، پایه TX ماژول را به RX برد و RX ماژول را به TX برد متصل کنید (برعکس). در اصل ما فرستنده برد رو به گیرنده ماژول و فرستنده ماژول رو به گیرنده برد متصل کردیم. حالا برد رو به منبع تغذیه متصل کنید.

 

step03.JPG

 

(عکس از سایت مایکی هست، ولی به همین نحو باید وصل کنید)

حالا ویژوال رو باز کنید و پروژه ای رو که قبلا ساختیم رو باز کنید.

یک متغیر از نوع BluetoothSerial و یکی هم از نوع RemoteDevice  میسازیم:

namespace Pilot
{
    /// <summary>
    /// An empty page that can be used on its own or navigated to within a Frame.
    /// </summary>
    public sealed partial class MainPage : Page
    {
        BluetoothSerial conn;
        RemoteDevice uno;
        public MainPage()
        {
            this.InitializeComponent();

        }
    }
}

گام بعدی، بلوتوث رو متصل می کنیم و در گام بعد اون رو به RemoteDevice  میدهیم:

        public MainPage()
        {
            this.InitializeComponent();
            conn = new BluetoothSerial("Dev B");
            uno = new RemoteDevice(conn);

        }
    }

Dev B اسم بلوتوث من هست. چیزی که منو به دردسر انداخت همین بود، چون توی دستگاه اسم بلوتوث ماژول HC-05 بود. برای اطلاع از نام بلوتوث، بعد از پیر کردن ماژول با ویندوز، به تنظیمات بلوتوث برید.

 در قسمت Com Ports می تونید اسم دستگاه رو ببینید (مقابل Outgoing و در میان دو ''). اگر هم چیز خاصی نبود، همون اسم اصلی رو قرار بدید.

 

Untitled.png

 

خب بریم ادامه بدیم:

حالا اگر همه جیز به خوبی پیش رفت و دستگاه متصل بود، باید یک متد ایجاد کنیم و کارامون رو پیش ببریم:

        public MainPage()
        {
            this.InitializeComponent();
            conn = new BluetoothSerial("Dev B");
            uno = new RemoteDevice(conn);

            conn.ConnectionEstablished += Conn_ConnectionEstablished;
        }

        private void Conn_ConnectionEstablished()
        {
            throw new NotImplementedException();
        }

و در نهایت، استارت تبادل داده ها رو میزنیم! نرخ داده ها رو که در قسمت قبل یادتون هست؟

        public MainPage()
        {
            this.InitializeComponent();
            conn = new BluetoothSerial("Dev B");
            uno = new RemoteDevice(conn);

            conn.ConnectionEstablished += Conn_ConnectionEstablished;

            conn.begin(57600, 0);
        }

        private void Conn_ConnectionEstablished()
        {
            //کارهایی که در صورت اتصال باید انجام بشه، مثلا فعال سازی دکمه روشن و خاموش کردن ال ای دی
        }

خب، همه چیز به خوبی پیش رفت، حالا یه دکمه میسازیم که به وسیله اون بتونیم فرامین مربوط به روشن و خاموش کردن ال ای دی رو بفرستیم.

<Page
    x:Class="Pilot.MainPage"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:local="using:Pilot"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    mc:Ignorable="d">

    <StackPanel Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
        <Button Name="btnOn" Click="btnOn_Click" Content="ON" Width="70" HorizontalAlignment="Center"/>
        <Button Name="btnOff" Click="btnOff_Click" Content="OFF" Width="70" HorizontalAlignment="Center"/>
    </StackPanel>
</Page>

حالا باید دستورات نهایی رو وارد کنیم!

در مورد نوع دستورات، طی پست بعدی صحبت می کنم. اما فعلا چون یک پایه دیجیتالی رو انتخاب کردیم، پس دستورات رو به صورت زیر می فرستیم:

 

برای روشن کردن:

uno.digitalWrite(5, PinState.HIGH);

خاموش کردن:

            uno.digitalWrite(5, PinState.LOW);

و در نهایت کدهای ما به این صورت خواهد بود:

using Microsoft.Maker.RemoteWiring;
using Microsoft.Maker.Serial;
using Windows.UI.Xaml;
using Windows.UI.Xaml.Controls;

// The Blank Page item template is documented at https://go.microsoft.com/fwlink/?LinkId=402352&clcid=0x409

namespace Pilot
{
    /// <summary>
    /// An empty page that can be used on its own or navigated to within a Frame.
    /// </summary>
    public sealed partial class MainPage : Page
    {
        BluetoothSerial conn;
        RemoteDevice uno;
        public MainPage()
        {
            this.InitializeComponent();
            conn = new BluetoothSerial("Dev B");
            uno = new RemoteDevice(conn);

            conn.ConnectionEstablished += Conn_ConnectionEstablished;

            conn.begin(57600,0);
        }

        private void Conn_ConnectionEstablished()
        {
            
        }

        private void btnOn_Click(object sender, RoutedEventArgs e)
        {
            uno.digitalWrite(5, PinState.HIGH);
        }

        private void btnOff_Click(object sender, RoutedEventArgs e)
        {
            uno.digitalWrite(5, PinState.LOW);
        }
    }
}

برنامه رو تست کنید! مطمئنا اولین بار که ال ای دی رو روشن می کنید، لذت غیر قابل انکاری (در حد اختراع خود لامپ :rolleyes: ) خواهید برد!

موفق باشید!

پسند شده توسط 4 کاربر

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر


  • 0

سلام
یک سوال:
حتما باید ویژوال 2017 باشه چون من ویژوال 2013 اپدیت5 و هم ویژوال 2017 اپدیت3 شو دارم،با اینا کار من راه نمی افته(sdk windows 10 رو هم نصب دارم).

لطفا اموزش های بیشتر با این برد بزارین

 

(** چرا اپ وین نویس از استور مایکروسافت پاک شده،فایل دانلودش داخل سایت هست؟**)

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
  • 0

 

بسم الله الرحمن الرحیم

سلام؛

اینبار هم یه آموزش جدید و اما جذاب داریم براتون که میدونم هر کسی انجامش بده، حسابی بهش خوش میگذره و در آینده هم با خلاقیت و پشتکارش می تونه کارهای بزرگی بکنه. این یک آموزش پایه است، بنابراین پیشرفتش و شاخوبرگ دادنش دست خودتونه!

خب، قصد داریم گوشی ویندوزیمون (یا هر دستگاهی که قابلیت اجرای برنامه های یونیورسال و دارای سخت افزار بلوتوث هست) رو به آردوئینو متصل کنیم و با ارسال دستوری، یک لامپ رو روشن کنیم.

برای این کار نیاز به چند وسیله مختلف داریم:

1. دستگاه با قابلیت اجرای ویندوز 10 دارای سخت افزار بلوتوث

2. برد آردوئینو؛ من از برد آردوئینو UNO استفاده کردم.

3. ماژول بلوتوث مناسب با برد آردوئینو؛ من برای بردم از برد HC-05 همراه با برد راه اندازش استفاده کردم.

4. یک LED معمولی

5. برد بورد برای قرار دادن قطعات

6. منبع تغذیه 5 ولتی (شارژر موبایل ها اکثرا مناسب هستند)

7. مقداری سیم

 

و در بعد نرم افزاری هم به:

1. ویژوال استدیو 2017

2. IDE آردوئینو (لینک دانلود)

 

نیاز داریم.

 

خب بعد جمع کردن پیش نیازها، وقتشه که اولین پروژه رو شروع کنیم. 

 

ویژوال استدیو رو اجرا و یک پروژه جدید Blank App (Windows Universal) ایجاد می کنیم.

 

بعد از ایجاد پروژه، از طریق Nuget، پکیج Windows Remote Arduino رو دریافت و نصب کنید، ترجیحا جهت محکم کاری، یکبار پروژه رو rebuild کنید.

 

پس از این کار در منوی سولوشن، روی Package.appxmanifest راست کلیک کنید و گزینه View Code رو بزنید. می خواهیم قابلیت ها (نیازها) رو معرفی کنیم. تمامی موارد زیر رو در زیر تگ <Capabilities> وارد کنید:

 

برای اتصال از طریق بلوتوث:

<DeviceCapability Name="bluetooth.rfcomm">
  <Device Id="any">
    <Function Type="name:serialPort"/>
  </Device>
</DeviceCapability>

و

<Capability Name="privateNetworkClientServer"/>
<Capability Name="internetClientServer"/>

خب، فعلا کارمون با ویژوال تمومه! میریم سراغ پروگرام کردن آردوئینو:

 

IDE مربوطه رو نصب و اجرا کنید، برد خودتون رو با کابل USB به سیستم متصل کنید. توجه کنید که در این حالت نباید ماژولهای گیرنده داده مثل بلوتوث به بردتون متصل باشه، چون در فرایند پروگرام کردن دچار خطا خواهید شد.

از منوی Tools > Board، برد خودتون رو انتخاب کنید.

سپس از منوی Tools > Port، پورتی رو که برد از طریق اون به سیستم متصل هست رو انتخاب کنید.

و در آخر از مسیر File > Examples > Firmata، StandardFirmata را انتخاب کنید.

این کدهای آماده، تمام نیازهای ما برای اتصال به تک تک پایه ها و دریافت و ارسال داده رو برطرف می کند. حالا وقتشه این کدها رو بر روی برد آپلود کنیم. کافیه دکمه "Upload" (دکمه فلش رو به راست) رو فشار بدیم و منتظر پایان فرآیند باشیم.

 

یک نکته ظریف اما مهم اینجا وجود داره، و اون هم مربوط به نرخ باند ماژول بلوتوث هست. باید در دیتاشیت ماژولی که خریدید نگاه کنید و عدد مربوطه رو پیدا کنید. برای ماژل من 57600  هست. بعد از پیدا کردن نرخ مناسب، در کدهای StandardFirmata سرچ کنید و مقدار زیر رو به نرخ مناسب ماژولتون تغییر بدید:

Firmata.begin(57600); 

تمام!

 

در پست بعدی، بخش پایانی کار رو توضیح خواهم داد. پس با ما همراه باشید.

 

رزرو..........

 

 

سلام،شما در توضیحات کد مربوط به arduino رو نذاشتین.(همون کد اماده ای که قید فرمودید)

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
  • 0

سلام،شما در توضیحات کد مربوط به arduino رو نذاشتین.(همون کد اماده ای که قید فرمودید)

سلام دوست عزیز.

در خود IDE آردوئینو کد وجود داره!

به مسیر برویدFile > Examples > Firmata، StandardFirmata، پنجره جدیدی باز میشه که حاوی کدهاست.

 

و در مورد سوال قبلتون، چون ویندوز IOT همیشه آخرین SDK رو داره، بنابراین هر کدوم از نسخه های ویژوال که از اون SDK پشتیبانی می کنن می تونن کاربردی باشند.

در مورد آموزش های بیشتر هم چشم. 

پسند شده توسط 1 کاربر

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
  • 0
در در 6/13/2017 در 19:56، ryco گفته است :

سلام دوست عزیز.

در خود IDE آردوئینو کد وجود داره!

به مسیر برویدFile > Examples > Firmata، StandardFirmata، پنجره جدیدی باز میشه که حاوی کدهاست.

 

و در مورد سوال قبلتون، چون ویندوز IOT همیشه آخرین SDK رو داره، بنابراین هر کدوم از نسخه های ویژوال که از اون SDK پشتیبانی می کنن می تونن کاربردی باشند.

در مورد آموزش های بیشتر هم چشم. 

سلام،

به یک مشکل بر خوردم و نمی دونم از چی هست

تمام کار هارو قدم به قدم انجام دادم،

ماژول بلوتوث رو وقتی به برد متصل میکنم ال ای دی tx یک بار سریع روشن خاموش میشه،بلوتوث رو هم پیدا میکنم بهش از طریق نرم افزار متصل میشم ، اما ال ای دی م که به پایه ~5 وصل کردم با دستور گوشی اصلا روشن نمیشه

مشکل از کجاست،ممکنه حین لحیم کارد ماژولم خراب شده باشه؟؟! :(

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
  • 0
در ۱ ساعت قبل، amir.m گفته است :

سلام،

به یک مشکل بر خوردم و نمی دونم از چی هست

تمام کار هارو قدم به قدم انجام دادم،

ماژول بلوتوث رو وقتی به برد متصل میکنم ال ای دی tx یک بار سریع روشن خاموش میشه،بلوتوث رو هم پیدا میکنم بهش از طریق نرم افزار متصل میشم ، اما ال ای دی م که به پایه ~5 وصل کردم با دستور گوشی اصلا روشن نمیشه

مشکل از کجاست،ممکنه حین لحیم کارد ماژولم خراب شده باشه؟؟! :(

سلام!

خب اول چرا لحیم کاری کردید؟!

شما تا لحظه آخر نباید این کار رو انجام بدید.

اما حالا، شما ال ای دی رو به صورت مستقیم به باتری وصل کنید، ببینید درسته؟!

ال ای دی رو به پایه درست وصل کردید؟ کدخا رو دست وصل کردید؟!

در صورت درست بودن کد، باید هنگام ارسال دستور، یه ال ای دی روی برد روشن بشه!

 

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
  • 0
در 5 ساعت قبل، ryco گفته است :

سلام!

خب اول چرا لحیم کاری کردید؟!

شما تا لحظه آخر نباید این کار رو انجام بدید.

اما حالا، شما ال ای دی رو به صورت مستقیم به باتری وصل کنید، ببینید درسته؟!

ال ای دی رو به پایه درست وصل کردید؟ کدخا رو دست وصل کردید؟!

در صورت درست بودن کد، باید هنگام ارسال دستور، یه ال ای دی روی برد روشن بشه!

 

سلام دوباره :)

منظورم از لیحم کاری،لحیم ماژول روی برد راه اندازش بود

من ال ای دی رو قبلا امتحان کردم سالم هست

یک سوال ولتاژ اون پین پنجم دیجیتال چند هست؟!

منظورتون از پایه پنجم دیجیتال همونی هست که نوشته ~5 ؟

منظورتون از "کد خا رو دست وصل کردید؟!" چی هست.

ممنون.

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
  • 0
در 1 ساعت قبل، amir.m گفته است :

سلام دوباره :)

منظورم از لیحم کاری،لحیم ماژول روی برد راه اندازش بود

من ال ای دی رو قبلا امتحان کردم سالم هست

یک سوال ولتاژ اون پین پنجم دیجیتال چند هست؟!

منظورتون از پایه پنجم دیجیتال همونی هست که نوشته ~5 ؟

منظورتون از "کد خا رو دست وصل کردید؟!" چی هست.

ممنون.

سلام!

آهان! امیدوارم مشکلی نباشه، اگه روشنه که مشکلی نیست!

یک عکس از بردتون بدید تا بهتر راهنمایی کنم! 

منظوری نداشتم :D، اشتباه لپی بوده!

منظورم اینه که پایه رو درست متصل کردید؟ توی کدها، پایه مربوطه رو معرفی کردید؟

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
  • 0
در در 27 خرداد 1396 در 22:06، ryco گفته است :

سلام!

آهان! امیدوارم مشکلی نباشه، اگه روشنه که مشکلی نیست!

یک عکس از بردتون بدید تا بهتر راهنمایی کنم! 

منظوری نداشتم :D، اشتباه لپی بوده!

منظورم اینه که پایه رو درست متصل کردید؟ توی کدها، پایه مربوطه رو معرفی کردید؟

سلام 

برد من uno r3 هست

WP_20170620_06_01_32_Pro.thumb.jpg.aad958e48375de52d31c6bc338c41ff3.jpg

یک ویدیو از اپلود کدم گفتم ببینین مشکل از اونجا هست یانه، در ضمن نرم افزار یونیورسالم رو هم پیوست میکنم زحمت تون اون هم چک بفرمایید.

ScreenCapture_17-06-20_06.22.21.wmv

Arduino-blutooth.rar

 

از بابت راهنماییاتون و صبرتون متشکرم

 

 

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
  • 0
در 6 ساعت قبل، amir.m گفته است :

سلام 

برد من uno r3 هست

WP_20170620_06_01_32_Pro.thumb.jpg.aad958e48375de52d31c6bc338c41ff3.jpg

یک ویدیو از اپلود کدم گفتم ببینین مشکل از اونجا هست یانه، در ضمن نرم افزار یونیورسالم رو هم پیوست میکنم زحمت تون اون هم چک بفرمایید.

ScreenCapture_17-06-20_06.22.21.wmv

Arduino-blutooth.rar

 

از بابت راهنماییاتون و صبرتون متشکرم

 

 

سلام؛

بردتون که چیز خوبیه، گویا اصلی هست (برای من اصلی نیست مثل اینکه!)

دوست عزیز، تو کدی که اسم بلوتوث رو نوشتید، باید اسم دستگاه لوتوثی خودتون رو بنویسید!

conn = new BluetoothSerial("Dev B");

نحوه بدست آوردنشم کامل تو آموزش توضیح دادم.

خواهش می کنم. اینجا جمع شدیم به هم کمک کنیم!!

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
  • 0
در 20 دقیقه قبل، ryco گفته است :

سلام؛

بردتون که چیز خوبیه، گویا اصلی هست (برای من اصلی نیست مثل اینکه!)

دوست عزیز، تو کدی که اسم بلوتوث رو نوشتید، باید اسم دستگاه لوتوثی خودتون رو بنویسید!


conn = new BluetoothSerial("Dev B");

نحوه بدست آوردنشم کامل تو آموزش توضیح دادم.

خواهش می کنم. اینجا جمع شدیم به هم کمک کنیم!!

سلام دوباره:

چرا،اتفاقا وارد کردم

اگر وارد نکرده بودم نرم افزار به ماژول متصل نمی شد،نرم افزار متصل میشه ولی موقعی که کلیک میکنم اتفاقی نمی افته :(

Capture.thumb.JPG.c901a0897fc8fd8ff62a609413865453.JPG

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
  • 0
در 2 ساعت قبل، amir.m گفته است :

سلام دوباره:

چرا،اتفاقا وارد کردم

اگر وارد نکرده بودم نرم افزار به ماژول متصل نمی شد،نرم افزار متصل میشه ولی موقعی که کلیک میکنم اتفاقی نمی افته :(

Capture.thumb.JPG.c901a0897fc8fd8ff62a609413865453.JPG

همه چیز درست به نظر میرسه!

ماژول بلوتوث رو درست متصل کردید؟

بیاید به تلگرام من (آدرس تلگرامم در پروفایلم هست).

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
  • 0

بسم الله الرحمن الرحیم

سلام

با تشکر فراوان از @ryco به خاطر راهنمایی و صبرشون

تو این قسمت قصد دارم اموزش بدم که دقیقا کاری که با بلوتوث کردیم رو با کابل usb بکنیم،یعنی یک یا چند LED رو روشن و خاموش کنیم.

حدود هشتاد نود درصدش تکراریه

وسایل مورد نیاز :

1. دستگاه با قابلیت اجرای ویندوز 10

2. برد آردوئینو

3. یک LED معمولی(برای اینکه لامپتون نسوزه باید از مقاوت استفاده کنید)

در اخر هم یک کابل usb برای اپلود کدمون(از همین به عنوان منبع تغذیه استفاده میشه)

 

 

ویژوال استدیو رو باز میکنیم در قسمت ویندوز یونیورسال سی شارپ Blank App را انتخاب میکنیم بعد از تعیین اسم و مسیر ، صبر میکنیم تا پروژه اماده شه. 

 

از مسیر Tools > NuGet Package Manager > Manage NuGet Packages for Solution پکیج Windows Remote Arduino رو نصب میکنیم و بعد پروژه رو Rebuild کنید.

 

پس از این کار در منوی سولوشن، روی Package.appxmanifest راست کلیک کنید و گزینه View Code رو بزنید. می خواهیم قابلیت ها (نیازها) رو معرفی کنیم. موارد زیر رو در زیر تگ <Capabilities> وارد کنید:

برای اتصال با پورت سریال(USB) :

<DeviceCapability Name="serialcommunication">
  <Device Id="any">
    <Function Type="name:serialPort"/>
  </Device>
</DeviceCapability>

حالا دوباره در کادر منوی سولوشن بر روی MainPage.xaml راست کلیک کرده و گزینه View Code رو انتخاب کنید.پایین using ها این سه تارو اضافه کنید:

using Microsoft.Maker.Serial;
using Microsoft.Maker.RemoteWiring;
using Microsoft.Maker.Firmata;

چون جناب @ryco توضیحات کامل دادند من دوباره توضیح نمیدم فقط قسمت های که لازم به تغییر هستو میگم :)

فقط به جای این:

conn = new BluetoothSerial("Dev B");
و
conn.begin(57600, 0);

اینو قرار بدین:

conn = new UsbSerial("VID_2341","PID_0043");
و
conn.begin(57600, SerialConfig.SERIAL_8N1);

 بقیه مراحل برنامه نویسی ویژوال مثل اموزش قبل هست فقط به یک نکنه باید توجه کرد در پرانتز UsbSerial باید اطلاعات مربوط به پورتی که اردوینو تو متصل کردین باشه که در قسمت Device Manager > Ports هست. در این قسمت بردتون رو انتخاب میکنین در تب Details قسمت Property رو روی Hardware lds تنظیم میکنیم و اطلاعاتی که تو عکس زیرش خط کشیده شده با قالبی که تو کدی که گذاشتم، داخل کدتون بزارین

 

arduino.JPG.3f9c19f6f056e1229bea9a4fbab4b89c.JPG

-------------------------------------------------------------------------------------------

خوب کارمون با ویژوال استدیو تموم شد حال میریم سراغ برد آردوینو

با توضیحاتی که در پست قبل داده شده نوع برد و پورت متصل به اردوینو را تنظیم میکنیم.

IDE مخصوص اردوینو رو باز میکنیم از این مسیر File > Examples > Firmata  > StandardFirma  را انتخاب میکنیم و اپلود میکنیم و تمام

حالا پایه مثبت LED رو به پایه 5 دیجیتال متصل و پایه منفی روبه GND

همه چی امادست و فقط کافیه بردتون رو به کامپیوتر متصل کنید و نرم افزاری که نوشتین رو اجرا کنید.

 

اینم سورس پروژه اگه لازمتون شد ;) .(فقط توجه داشته باشین قبل از اینکه این سورس رو اجرا کنید یک بار Rebuild کنید)

AppArduino.zip

 

 

ویرایش شده در توسط amir.m
پسند شده توسط 2 کاربر

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
مهمان
این موضوع برای عدم ارسال قفل گردیده است.