په Arduino کې د وینډوز لپاره پروګرامونه څنګه جوړ کړئ

په Arduino کې د وینډوز لپاره پروګرامونه څنګه جوړ کړئ

یوه ورځ ما د راوستلو لیونۍ نظر درلود 500 لیزر پوائنټرونه په یو ځای کې. ما ډیر وخت تیر کړ او دا یې وکړل. دا په زړه پوری او بې ګټې شو، مګر ما دا خوښ کړ. شپږ میاشتې دمخه ما یو بل لیونی نظر درلود. دا ځل، په بشپړه توګه په زړه پورې نه، مګر ډیر ګټور. ما هم په دې باندې ډیر وخت تیر کړ. او پدې مقاله کې ، زه زما د دوهم لیوني نظر بیټا نسخه وړاندې کوم.

ما د پروژې نوم نانونیام (نانونام) وباله او حتی د دې لپاره د لوګو سره راغلم (ما د 5 دقیقو لپاره رسم کړ).

په Arduino کې د وینډوز لپاره پروګرامونه څنګه جوړ کړئ

د هغو کسانو لپاره چې د Arduino په اړه فکر کوي، موږ کولی شو ووایو چې Nanonyam د وینډوز کنټرول لپاره یو مجازی Arduino شیلډ دی.

په بل عبارت، نانونیام یو مجازی ماشین دی چې د بایټ کوډ په توګه د AVR مایکرو کنټرولر (ATMEGA2560 وړاندیز شوی) لپاره فرم ویئر کاروي. د دې مجازی ماشین دننه د AVR کور سمیلیټر دی، مګر د پردیو پر ځای، کوم چې د SRAM پتې کې د 0x0060 څخه 0x01FF پورې موقعیت لري، د مجازی فعالیتونو لپاره یو ځانګړی انٹرفیس شتون لري (د وینډوز API افعال په شمول). او دلته دا خورا مهم دي چې سمدلاسه پوه شئ: د نانونام لپاره کوډ باید د حافظې ټاکل شوي حد ته هیڅ لاسرسی ونلري ، نو ځکه چې په ناڅاپي ډول تلیفون نه شي ، د مثال په توګه ، د فایلونو حذف کول یا د ډیسک فارمیټ کول. د SRAM حافظې پاتې برخه له 0x0200 څخه تر 0xFFFF پورې (دا د اصلي مایکرو کنټرولر څخه ډیر دی) د هر هدف لپاره کارونکي ته شتون لري. زه سمدلاسه یادونه کوم چې د ریښتیني مایکرو کنټرولر (یا د بل جوړښت څخه فرم ویئر) د تصادفي لانچ په وړاندې یو ځانګړی محافظت شتون لري: د "خطرناک" فعالیتونو فعالولو دمخه ، تاسو اړتیا لرئ یو ځانګړي پیچلي مجازی فنکشن ته زنګ ووهئ. ځینې ​​​​نور امنیتي ځانګړتیاوې هم شتون لري.

د نانونیم لپاره د برنامو رامینځته کولو لپاره ، تاسو اړتیا لرئ ځانګړي کتابتونونه وکاروئ چې اوس مهال موجود ټول مجازی افعال پلي کوي. د دې لپاره د Nanonyam مجازی ماشین او کتابتونونه ډاونلوډ کړئ تاسو کولی شئ نو. او دلته د مجازی فعالیت توضیح پاڼه. او هو، زما سایټ خورا ابتدايي دی او د ګرځنده وسیلو لپاره نه دی تطبیق شوی.

Nanonyam د کور او سوداګریز استعمال لپاره وړیا دی. د نانونام برنامه د "لکه څنګه چې ده" په اساس چمتو کیږي. د سرچینې کوډ ندی ورکړل شوی.

دا پروګرام اوس مهال د ازموینې په مرحله کې دی. شاوخوا 200 مجازی افعال پلي شوي چې تاسو ته اجازه درکوي د وینډوز لپاره ساده برنامې رامینځته کړئ.
په ښکاره ډول، په داسې مجازی ماشین کې یو څه پیچلي رامینځته کول به کار ونکړي، ځکه چې د کوډ حافظه یوازې 256 kB ده. ډاټا په جلا فایلونو کې زیرمه کیدی شي، د ګرافیک برخې لپاره بفر په بهر کې پلي کیږي. ټولې دندې ساده شوي او د 8-bit جوړښت لپاره تطبیق شوي.

تاسو په نانونیم کې څه کولی شئ؟ زه د یو څو ستونزو سره راغلم.

د پروګرام بلاکونو پراختیا

ما یوځل د 128x64 ډاټ ګرافیک نندارې لپاره پیچلي مینو ډیزاین کولو ته اړتیا درلوده. زه واقعیا نه غواړم په دوامداره توګه فرم ویئر په ریښتیني مایکرو کنټرولر کې بار کړم ترڅو وګورم چې پکسلونه څنګه ښکاري. او په دې توګه د نانونام مفکوره پیدا شوه. لاندې انځور په ورته مینو کې د یو توکي د ریښتیني OLED نندارې څخه عکس ښیې. اوس زه کولی شم د دې له لارې د ریښتیني وسیلې پرته کار وکړم.

په Arduino کې د وینډوز لپاره پروګرامونه څنګه جوړ کړئ

نانونیام (په خپل وروستي نظر کې) د مایکرو کنټرولرونو لپاره د برنامه بلاکونو کار کولو لپاره ښه وسیله ده ، ځکه چې د ګرافیک سره کار کولو لپاره دندې شتون لري (تاسو کولی شئ نندارې او شاخصونه سمولیټ کړئ) ، د فایلونو سره (تاسو کولی شئ لاګ جوړ کړئ ، د ازموینې ډاټا ولولئ) سره. کیبورډ (تاسو کولی شئ په ورته وخت کې تر 10 بټونو پورې ولولئ)، د COM بندرونو سره (دلته یو جلا توکي دی).

د چټکو پروګرامونو جوړول

د مثال په توګه، تاسو اړتیا لرئ چې ژر تر ژره 100500 متن فایلونه پروسس کړئ. هر یو باید پرانیستل شي، د یو څه ساده الګوریتم سره سم یو څه بدلون ومومي، خوندي او تړل شي. که تاسو د Python ماسټر یاست، نو زه تاسو ته مبارکي وایم، تاسو هرڅه لرئ. مګر که تاسو یو سخت arduino یاست (او ډیری یې شتون لري)، نو نانونام به تاسو سره د دې ستونزې په حل کې مرسته وکړي. دا په نانونام کې زما دویمه موخه ده: د ډیری ګټورو کارونو اضافه کول لکه د متن پروسس کول، د سکرین شاټونو اخیستل یا په سیسټم کې د کیسټروکونو سمبالول (چې ټول یې، په لاره کې، دمخه شتون لري)، او همدارنګه د معمول دندو حل کولو لپاره ډیری نورې دندې .

د COM بندر له لارې د هارډویر ازموینه

Nanonyam کولی شي د ټرمینل په توګه عمل وکړي چې ستاسو د الګوریتم مطابق کار کوي. تاسو کولی شئ د وسیلې کنټرول لپاره یو کوچنی مینو رسم کړئ او له بندر څخه ترلاسه شوي ډیټا ښکاره کړئ. تاسو کولی شئ د تحلیل لپاره د فایلونو څخه ډاټا خوندي او ولولئ. د هارډویر ساده ډیبګ کولو او کیلیبریشن لپاره اسانه وسیله ، او همدارنګه د ساده مجازی وسیلې کنټرول پینلونو رامینځته کولو لپاره. د زده کونکو او ځوان ساینس پوهانو لپاره، دا پروژه خورا ګټور کیدی شي.

د پروګرام کولو روزنه

په هرصورت، لکه څنګه چې د ټولې Arduino پروژې سره، د نانونام اصلي ګټورتوب د دندو، انٹرفیس او بوټلوډر په ساده کولو کې دی. له همدې امله، دا پروژه باید د نوي پروګرام کونکو او هغو کسانو لپاره چې د arduino د کچې څخه راضي دي د علاقې وړ وي. په لاره کې، ما پخپله د arduino په تفصیل سره مطالعه نه ده کړې، ځکه چې ما تل د WinAVR یا AVR سټوډیو کارولې، مګر د راټولونکي سره پیل شوی. له همدې امله، لاندې د مثال پروګرام به یو څه غلط وي، مګر خورا کار کوي.

سلام حبر!

دا وخت دی چې د نانونیم ځینې ځانګړتیاو سره آشنا شئ او یو ساده برنامه ولیکئ. موږ به په Arduino کې ولیکئ، مګر په معمول ډول نه، مګر په هغه طریقه چې زه اوس کولی شم (ما مخکې وویل چې ما دا چاپیریال ډیر ښه نه دی پیژندلی). لومړی، یو نوی سکیچ جوړ کړئ او د میګا 2560 بورډ غوره کړئ.

په Arduino کې د وینډوز لپاره پروګرامونه څنګه جوړ کړئ

سکیچ په فایل کې خوندي کړئ او بل یې کاپي کړئ د نانونام کتابتون. دا به سم وي چې د کتابتونونو سرلیکونه پکې شامل کړئ، مګر زه نه پوهیږم چې څنګه په Arduino کې د انفرادي فایلونو تالیف ولیکم، نو د اوس لپاره به موږ یوازې کتابتونونه په مستقیم ډول شامل کړو (او ټول یوځل):

#include <stdio.h>
#include "NanonyamnN_System_lib.c"
#include "NanonyamnN_Keyboard_lib.c"
#include "NanonyamnN_File_lib.c"
#include "NanonyamnN_Math_lib.c"
#include "NanonyamnN_Text_lib.c"
#include "NanonyamnN_Graphics_lib.c"
#include "NanonyamnN_RS232_lib.c"

دا به نور هم سم وي چې یو ځانګړی ماډل جوړ کړئ "Nanonyam for Arduino"، کوم چې په مستقیم ډول د Arduino څخه نصب کیدی شي. هرڅومره ژر چې زه یې په ګوته کړم ، زه به یې وکړم ، مګر د اوس لپاره زه یوازې د مجازی ماشین سره د کار کولو جوهر ښیې. موږ لاندې کوډ لیکو:

//Сразу после запуска рисуем текст в окне
void setup() {
  sys_Nanonyam();//Подтверждаем код виртуальной машины
  g_SetScreenSize(400,200);//Задаём размер дисплея 400х200 точек
  sys_WindowSetText("Example");//Заголовок окна
  g_ConfigExternalFont(0,60,1,0,0,0,"Arial");//Задаём шрифт Windows в ячейке шрифтов 0
  g_SetExternalFont(0);//Выбираем ячейку шрифтов 0 для рисования текста
  g_SetBackRGB(0,0,255);//Цвет фона синий
  g_SetTextRGB(255,255,0);//Цвет текста жёлтый
  g_ClearAll();//Очищаем экран (заливка цветом фона)
  g_DrawTextCenterX(0,400,70,"Hello, Habr!");//Рисуем надпись
  g_Update();//Выводим графический буфер на экран
}

//Просто ждём закрытия программы
void loop() {
  sys_Delay(100);//Задержка и разгрузка процессора
}

د دې پروګرام سره خاکه دلته ډاونلوډ کیدی شي. د دندو تفصيلي توضیحات په سایټ کې لټون وکړئ. زه امید لرم چې پدې کوډ کې نظرونه د دې لنډیز ترلاسه کولو لپاره کافي دي. دلته فعالیت sys_Nanonyam() د مجازی ماشین لپاره د "پاسورډ" رول لوبوي، کوم چې د مجازی فعالیتونو محدودیتونه لرې کوي. د دې فعالیت پرته، برنامه به د 3 ثانیو عملیاتو وروسته وتړل شي.

موږ د "چک" تڼۍ فشار راوړو او هیڅ ډول تېروتنې شتون نلري.

په Arduino کې د وینډوز لپاره پروګرامونه څنګه جوړ کړئ

اوس تاسو اړتیا لرئ د بائنری فایل (فرم ویئر) ترلاسه کړئ. مینو غوره کړئ "سکیچ>>د بائنری فایل صادر کړئ (CTRL+ALT+S)".

په Arduino کې د وینډوز لپاره پروګرامونه څنګه جوړ کړئ

دا به دوه HEX فایلونه د سکیچ فولډر ته کاپي کړي. موږ د "with_bootloader.mega" مخکینۍ پرته یوازې فایل اخلو.

د نانونام مجازی ماشین ته د HEX فایل مشخص کولو لپاره ډیری لارې شتون لري، ټول یې تشریح شوي په دې پاڼه کې. زه وړاندیز کوم چې د فایل تر څنګ جوړ کړم Nanonyam.exe دوتنه لارهپه کوم کې چې زموږ د HEX فایل ته بشپړ لاره راجستر کړئ. له هغې وروسته تاسو کولی شئ چل کړئ Nanonyam.exe. موږ د خپل لیک سره یوه کړکۍ ترلاسه کوو.

په Arduino کې د وینډوز لپاره پروګرامونه څنګه جوړ کړئ

په ورته ډول، تاسو کولی شئ په نورو چاپیریالونو کې پروګرامونه جوړ کړئ، لکه AVR سټوډیو یا WinAVR.

دا هغه ځای دی چې موږ د نانونیم سره خپل پیژندنه پای ته ورسوو. اصلي مفکوره باید روښانه وي. نور مثالونه په ویب پاڼه کې دي.. که چیرې کافي خلک د دې پروژې کارولو ته لیواله وي ، نو زه به نور مثالونه رامینځته کړم او د مجازی فعالیت کتابتونونو "ډکولو" ته به دوام ورکړم. د پروژې د پراختیا لپاره کنکریټ نظرونه او د نیمګړتیاوو، غلطیو او کیګونو راپورونه منل شوي. دا مشوره ورکول کیږي چې دوی اړیکو ته لارښوونه وکړي، په ویب پاڼه کې ښودل شوي. او بحث په نظرونو کې ښه راغلاست دی.

ستاسو د پاملرنې او ښه پروګرام کولو څخه مننه!

سرچینه: www.habr.com

Add a comment