Otu esi emepụta mmemme maka Windows na Arduino

Otu esi emepụta mmemme maka Windows na Arduino

Otu ụbọchị enwere m echiche nzuzu iweta 500 laser pointers n'otu ebe. Eji m ọtụtụ oge mee ya. Ọ bịara dị egwu na ọ baghị uru, mana ọ masịrị m. Ọnwa isii gara aga enwere m echiche nzuzu ọzọ. Oge a, ọ bụghị ma ọlị dị egwu, mana ọ bara uru karị. Ejikwara m ya ọtụtụ oge. Na n'isiokwu a, m na-eweta ụdị beta nke echiche nzuzu m nke abụọ.

Akpọrọ m ọrụ ahụ Nanonyam (Nanonyam) wee wepụta ya akara ngosi (m sere maka nkeji ise).

Otu esi emepụta mmemme maka Windows na Arduino

Maka ndị na-eche banyere Arduino, anyị nwere ike ịsị na Nanonyam bụ ọta Arduino mebere maka ịchịkwa Windows.

N'ikwu ya n'ụzọ ọzọ, Nanonyam bụ igwe mebere nke na-eji firmware maka microcontroller AVR (ATMEGA2560 ka akwadoro) dị ka bytecode. N'ime igwe mebere a bụ simulator isi AVR, mana kama mpụta, nke dị na adreesị SRAM sitere na 0x0060 ruo 0x01FF, enwere interface pụrụ iche maka ọrụ mebere (gụnyere ọrụ API API). Na ebe a ọ dị ezigbo mkpa ịghọta ozugbo: koodu maka Nanonyam ekwesịghị inwe ohere ọ bụla na ebe nchekwa akọwapụtara, ka ọ ghara ịkpọ na mberede, dịka ọmụmaatụ, ọrụ nke ihichapụ faịlụ ma ọ bụ nhazi diski. Ebe nchekwa SRAM ndị ọzọ sitere na 0x0200 ruo 0xFFFF (nke a bụ karịa na ezigbo microcontroller) dị onye ọrụ maka ebumnuche ọ bụla. Achọpụtara m ozugbo na enwere nchebe pụrụ iche megide mwepụta mberede nke firmware nke ezigbo microcontroller (ma ọ bụ firmware sitere na ihe owuwu ọzọ): tupu ịmalite ọrụ “dị ize ndụ”, ịkwesịrị ịkpọ ọrụ mebere aghụghọ pụrụ iche. Enwerekwa atụmatụ nchekwa ndị ọzọ.

Iji mepụta mmemme maka Nanonyam, ịkwesịrị iji ọba akwụkwọ pụrụ iche na-emejuputa ọrụ mebere ugbu a. Budata igwe Nanonyam mebere igwe na ọba akwụkwọ maka ya nwere ike ịbụ ebe a. Na ebe a ibe nkọwa ọrụ mebere. Ma ee, saịtị m bụ ihe ochie na ọ bụghị emegharị maka ngwaọrụ mkpanaka.

Nanonyam bụ n'efu maka iji ụlọ na azụmahịa. A na-enye mmemme Nanonyam na ntọala "dị ka ọ dị". enyeghị koodu isi mmalite.

Ihe omume a dị ugbu a na usoro nnwale. Ejiri ihe dị ka ọrụ mebere 200 na-enye gị ohere ịmepụta mmemme dị mfe maka Windows.
N'ụzọ doro anya, ịmepụta ihe mgbagwoju anya na igwe mebere dị otú ahụ agaghị arụ ọrụ, ebe ebe nchekwa maka koodu ahụ bụ naanị 256 kB. Enwere ike ịchekwa data na faịlụ dị iche iche, a na-emejuputa ihe nchekwa maka akụkụ eserese na mpụga. A na-eme ka ọrụ niile dị mfe ma gbanwee maka nhazi 8-bit.

Kedu ihe ị ga-eme na Nanonyam? Enwere m nsogbu ole na ole.

Mmepe nke ngọngọ mmemme

N'otu oge, achọrọ m imepụta menu mgbagwoju anya maka ngosipụta eserese 128x64. Achọghị m ịkwanye ngwa ngwa mgbe niile n'ime ezigbo microcontroller iji hụ ka pikselụ si dị. Ya mere a mụrụ echiche nke Nanonyam. Ihe onyonyo dị n'okpuru na-egosi onyonyo sitere na ezigbo ngosi OLED nke otu n'ime ihe dị na otu menu. Ugbu a enwere m ike ịrụ ọrụ na ya n'enweghị ezigbo ngwaọrụ.

Otu esi emepụta mmemme maka Windows na Arduino

Nanonyam (n'echiche ikpeazụ ya) bụ ngwá ọrụ dị mma maka ịrụ ọrụ ngọngọ mmemme maka microcontrollers, ebe enwere ọrụ maka ịrụ ọrụ na eserese (ị nwere ike ịmegharị ihe ngosi na ihe ngosi), na faịlụ (ị nwere ike ịme ndekọ, gụọ data ule), na keyboard (ị nwere ike ịgụ ihe ruru bọtịnụ 10 n'otu oge), yana ọdụ ụgbọ mmiri COM (ebe a bụ ihe dị iche).

Ịmepụta mmemme ngwa ngwa

Dịka ọmụmaatụ, ịkwesịrị ịhazi faịlụ ederede 100500 ngwa ngwa. Nke ọ bụla kwesịrị ka emepee ya, gbanwee ntakịrị dịka ụfọdụ algọridim dị mfe, chekwaa na mechie. Ọ bụrụ na ị bụ nna ukwu Python, ana m ekele gị, ị nwere ihe niile. Mana ọ bụrụ na ị bụ arduino siri ike (ma enwere ọtụtụ n'ime ha), mgbe ahụ Nanonyam ga-enyere gị aka idozi nsogbu a. Nke a bụ ihe mgbaru ọsọ m nke abụọ na Nanonyam: ịgbakwunye ọtụtụ ọrụ bara uru dị ka nhazi ederede, ịse nseta ihuenyo ma ọ bụ ịmegharị igodo igodo na usoro (ihe niile, n'ụzọ, adịlarị), yana ọtụtụ ọrụ ndị ọzọ maka idozi ọrụ oge niile. .

Nnwale ngwaike site na ọdụ ụgbọ mmiri COM

Nanonyam nwere ike rụọ ọrụ dị ka ọnụ ahịa na-arụ ọrụ dịka algọridim gị siri dị. Ị nwere ike ise obere menu iji jikwaa ngwaọrụ ma gosipụta data enwetara n'ọdụ ụgbọ mmiri. Ị nwere ike ịchekwa ma gụọ data sitere na faịlụ maka nyocha. Ngwá ọrụ dị mma maka nbibi dị mfe na nhazi nke ngwaike, yana maka ịmepụta ogwe njikwa ngwaọrụ mebere dị mfe. Maka ụmụ akwụkwọ na ndị ọkà mmụta sayensị na-eto eto, ọrụ a nwere ike ịba uru.

Ọzụzụ mmemme

Agbanyeghị, dị ka ọ dị na ọrụ Arduino dum, uru bụ isi nke Nanonyam bụ ime ka ọrụ dị mfe, interface na bootloader. Ya mere, ọrụ a kwesịrị ịmasị ndị mmemme novice na ndị nwere afọ ojuju na ọkwa arduino. Site n'ụzọ, mụ onwe m ka amụbeghị arduino n'ụzọ zuru ezu, n'ihi na m na-eji WinAVR ma ọ bụ AVR Studio eme ihe mgbe niile, ma malite na onye na-ezukọta. Ya mere, mmemme ihe atụ dị n'okpuru ga-abụ ntakịrị ihe na-ezighị ezi, ma na-arụ ọrụ nke ọma.

Ndewo Habr!

Ọ bụ oge ịmara ụfọdụ atụmatụ Nanonyam ma dee mmemme dị mfe. Anyị ga-ede na Arduino, ma ọ bụghị n'ụzọ a na-emekarị, ma n'ụzọ m nwere ike ugbu a (Ekwuru m na achọpụtabeghị m gburugburu ebe a nke ọma). Mbụ, mepụta ihe osise ọhụrụ wee họrọ bọọdụ Mega2560.

Otu esi emepụta mmemme maka Windows na Arduino

Chekwaa sketị ahụ na faịlụ wee detuo ọzọ Ụlọ akwụkwọ Nanonyam. Ọ ga-abụ ihe ziri ezi ịgụnye ndị nkụnye eji isi mee nke ọba akwụkwọ, mana amaghị m ka m ga-esi dee nchịkọta faịlụ n'otu n'otu na Arduino, yabụ ugbu a, anyị ga-etinye naanị ọba akwụkwọ ozugbo (na otu oge):

#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"

Ọ ga-adịkwa mma karịa ịme modul pụrụ iche "Nanonyam maka Arduino", nke enwere ike itinye ya ozugbo na Arduino. Ozugbo m chọpụtara ya, m ga-eme ya, mana ugbu a, a na m egosi ihe dị mkpa nke ịrụ ọrụ na igwe mebere. Anyị na-ede koodu a:

//Сразу после запуска рисуем текст в окне
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);//Задержка и разгрузка процессора
}

Were mmemme mee ihe enwere ike ibudata ebe a. Nkọwa zuru ezu nke ọrụ chọọ na saịtị ahụ. Enwere m olileanya na ihe ndị dị na koodu a zuru ezu iji nweta isi okwu ya. Ebe a na-arụ ọrụ sys_Nanonyam() na-arụ ọrụ nke "paswọọdụ" maka igwe mebere, nke na-ewepụ ihe mgbochi na ọrụ mebere. Enweghị ọrụ a, mmemme ahụ ga-emechi mgbe 3 sekọnd arụ ọrụ gasịrị.

Anyị na-pịa bọtịnụ "Chekwa" na e kwesịghị inwe njehie ọ bụla.

Otu esi emepụta mmemme maka Windows na Arduino

Ugbu a ịkwesịrị ịnweta faịlụ ọnụọgụ abụọ (firmware). Họrọ menu"Sketch>>Bupụ faịlụ ọnụọgụ abụọ (CTRL+ALT+S)".

Otu esi emepụta mmemme maka Windows na Arduino

Nke a ga-edetu faịlụ HEX abụọ na folda eserese. Anyị na-ewere naanị faịlụ na-enweghị prefix "with_bootloader.mega".

Enwere ọtụtụ ụzọ iji kọwapụta faịlụ HEX na igwe mebere Nanonyam, a kọwara ha niile na ibe a. M na-atụ aro ka ịmepụta n'akụkụ faịlụ ahụ Nanonyam.exe faịlụ uzo, nke ị ga-edebanye aha zuru oke na faịlụ HEX anyị. Mgbe nke ahụ gasịrị ị nwere ike ịgba ọsọ Nanonyam.exe. Anyị na-enweta windo nke e dere ede.

Otu esi emepụta mmemme maka Windows na Arduino

N'otu aka ahụ, ị ​​nwere ike ịmepụta mmemme na gburugburu ndị ọzọ, dị ka AVR Studio ma ọ bụ WinAVR.

Nke a bụ ebe anyị na Nanonyam mechaara anyị. Isi echiche kwesịrị doo anya. Ihe atụ ndị ọzọ dị na webụsaịtị.. Ọ bụrụ na e nwere ndị mmadụ zuru oke dị njikere iji ọrụ a, mgbe ahụ, m ga-eme ka ihe atụ ndị ọzọ wee gaa n'ihu "jupụta" ọba akwụkwọ ọrụ mebere. A na-anabata echiche zuru oke maka mmepe nke oru ngo na akụkọ nke malfunctions, chinchi na chinchi. Ọ bụ ihe amamihe dị na ya iduzi ha na kọntaktị, gosiri na webụsaịtị. A na-anabatakwa mkparịta ụka na nkọwa.

Daalụ maka nlebara anya gị na mmemme dị mma!

isi: www.habr.com

Tinye a comment