Mokhoa oa ho theha mananeo a Windows ho Arduino

Mokhoa oa ho theha mananeo a Windows ho Arduino

Ka letsatsi le leng ke ile ka ba le mohopolo o hlanyang oa ho tlisa 500 laser pointers sebakeng se le seng. Ke ile ka qeta nako e ngata 'me ka e etsa. E ile ea bonahala e khahla ebile e se na thuso, empa ke e ratile. Likhoeli tse tšeletseng tse fetileng ke ile ka ba le mohopolo o mong oa bohlanya. Lekhetlong lena, ha se ntho e makatsang ho hang, empa e na le thuso ho feta. Ke ile ka boela ka qeta nako e ngata ho eona. Mme sengolong sena, ke hlahisa mofuta oa beta oa mohopolo oa ka oa bobeli oa bohlanya.

Ke bitsitse morero ona Nanonyam (Nanonyam) mme ka ba ka tla le logo bakeng sa eona (ke ile ka taka metsotso e 5).

Mokhoa oa ho theha mananeo a Windows ho Arduino

Bakeng sa ba nahanang ka Arduino, re ka re Nanonyam ke thebe ea Arduino ea sebele bakeng sa ho laola Windows.

Ka mantsoe a mang, Nanonyam ke mochini o sebetsang o sebelisang firmware bakeng sa microcontroller ea AVR (ATMEGA2560 e khothalelitsoe) joalo ka bytecode. Ka hare ho mochine ona oa sebele ho na le simulator ea mantlha ea AVR, empa ho e-na le li-peripherals, tse fumanehang ho liaterese tsa SRAM ho tloha 0x0060 ho ea 0x01FF, ho na le sebopeho se khethehileng sa mesebetsi ea sebele (ho kenyeletsoa mesebetsi ea Windows API). 'Me mona ke habohlokoa haholo ho utloisisa hang-hang: khoutu ea Nanonyam ha ea lokela ho ba le mokhoa leha e le ofe oa ho fumana mohopolo o boletsoeng, e le hore u se ke ua letsetsa ka phoso, mohlala, mosebetsi oa ho hlakola lifaele kapa ho hlophisa disk. Karolo e setseng ea memori ea SRAM ho tloha 0x0200 ho isa 0xFFFF (sena se feta ho microcontroller ea sebele) e fumaneha ho mosebedisi ka morero ofe kapa ofe. Hang-hang ke hlokomela hore ho na le tšireletso e khethehileng khahlanong le ho hlahisoa ka phoso ha firmware ea "microcontroller" ea sebele (kapa firmware e tsoang mohahong o mong): pele o kenya ts'ebetso e "kotsi", o hloka ho letsetsa ts'ebetso e khethehileng ea bolotsana. Ho na le likarolo tse ling tsa ts'ireletso hape.

Ho theha mananeo a Nanonyam, o hloka ho sebelisa lilaebrari tse khethehileng tse sebelisang mesebetsi eohle e teng hona joale. Khoasolla mochini o sebetsang oa Nanonyam le lilaeborari bakeng sa ona e ka ba mona. 'Me mona leqephe la tlhaloso ea tšebetso ea sebele. E, sebaka sa ka sa marang-rang ke sa khale haholo ebile ha sea tloaeleha bakeng sa lisebelisoa tsa mehala.

Nanonyam ke mahala bakeng sa tšebeliso ea lehae le ea khoebo. Lenaneo la Nanonyam le fanoa ka "joalokaha le le" motheong oa ". Mohloli oa khoutu ha o fanoe.

Lenaneo ha joale le mokhahlelong oa teko. E kentsoe tšebetsong tse ka bang 200 tse u lumellang ho theha mananeo a bonolo a Windows.
Ho hlakile hore ho theha ntho e rarahaneng mochining o joalo ho ke ke ha sebetsa, kaha mohopolo oa khoutu ke 256 kB feela. Lintlha li ka bolokoa ka lifaele tse arohaneng, buffer bakeng sa karolo ea graphic e kengoa ts'ebetsong kantle. Mesebetsi eohle e nolofalitsoe ebile e ikamahanya le meralo ea 8-bit.

U ka etsa'ng ka Nanonyam? Ke tlile ka mathata a 'maloa.

Nts'etsopele ea li-block tsa lenaneo

Ke kile ka hloka ho rala lethathamo le rarahaneng bakeng sa ponts'o ea matheba a 128x64. Ke ne ke hlile ke sa batle ho lula ke kenya firmware ho microcontroller ea 'nete ho bona hore na lipikselse li shebahala joang. 'Me kahoo khopolo ea Nanonyam e ile ea hlaha. Setšoantšo se ka tlase se bonts'a setšoantšo se tsoang ponts'ong ea 'nete ea OLED ea e' ngoe ea lintho tse lethathamong le le leng. Hona joale ke khona ho sebetsana le eona ntle le sesebelisoa sa sebele.

Mokhoa oa ho theha mananeo a Windows ho Arduino

Nanonyam (ka maikutlo a eona a ho qetela) ke sesebelisoa se setle sa ho sebetsa li-block tsa mananeo bakeng sa li-microcontrollers, kaha ho na le mesebetsi ea ho sebetsa ka litšoantšo (o ka etsisa lipontšo le lipontšo), ka lifaele (o ka etsa li-log, bala lintlha tsa teko), ka keyboard (o ka bala likonopo tse fihlang ho 10 ka nako e le 'ngoe), ka likou tsa COM (mona ke ntho e arohaneng).

Ho theha Mananeo a Potlako

Mohlala, o hloka ho sebetsa ka potlako lifaele tsa mongolo tse 100500. E 'ngoe le e' ngoe e hloka ho buloa, ho fetoloa hanyane ho latela algorithm e bonolo, e bolokiloeng le ho koaloa. Haeba u setsebi sa Python, joale kea u leboha, u na le tsohle. Empa haeba u le arduino e thata ('me ho na le ba bangata ba bona), joale Nanonyam e tla u thusa ho rarolla bothata bona. Ena ke sepheo sa ka sa bobeli ho Nanonyam: ho kenyelletsa mesebetsi e mengata ea bohlokoa e kang ho sebetsana le mongolo, ho nka li-screenshots kapa ho etsisa likonopo tsa bohlokoa tsamaisong (tseo kaofela, ka tsela, li se li le teng), hammoho le mesebetsi e meng e mengata ea ho rarolla mesebetsi e tloaelehileng. .

Lisebelisoa tsa liteko ka COM port

Nanonyam e ka sebetsa joalo ka terminal e sebetsang ho latela algorithm ea hau. O ka hula menu e nyane ho laola sesebelisoa mme o bonts'a data e amohetsoeng ho tsoa koung. O ka boloka le ho bala data ho tsoa lifaeleng bakeng sa tlhahlobo. Sesebelisoa se sebetsang sa ho lokisa liphoso le ho lekanya hardware, hammoho le ho theha liphanele tse bonolo tsa taolo ea lisebelisoa. Bakeng sa liithuti le bo-rasaense ba bacha, morero ona o ka ba molemo haholo.

Koetliso ea mananeo

Leha ho le joalo, joalo ka morero oa Arduino kaofela, molemo o ka sehloohong oa Nanonyam o ho nolofatsa mesebetsi, sebopeho le bootloader. Ka hona, morero ona o lokela ho ba thahasello ho baetsi ba li-novice le ba khotsofalitsoeng ke boemo ba arduino. Ka tsela, le 'na ha ke e-s'o ithute arduino ka ho qaqileng, hobane ke ne ke lula ke sebelisa WinAVR kapa AVR Studio, empa ke qalile ka assembler. Ka hona, lenaneo la mohlala le ka tlase le tla fosahetse, empa le sebetsa haholo.

Hello Habr!

Ke nako ea ho tloaelana le likarolo tse ling tsa Nanonyam le ho ngola lenaneo le bonolo. Re tla ngola ka Arduino, empa eseng ka tsela e tloaelehileng, empa ka tsela eo ke khonang hona joale (ke se ke boletse hore ha ke e-s'o utloisise tikoloho ena hantle). Taba ea mantlha, theha sekhechana se secha ebe u khetha boto ea Mega2560.

Mokhoa oa ho theha mananeo a Windows ho Arduino

Boloka sekeche faeleng ebe u kopitsa se latelang Laebrari ea Nanonyam. Ho ka ba ho nepahetseng ho kenyelletsa lihlooho tsa lilaebrari, empa ha ke tsebe ho ngola pokello ea lifaele tsa motho ka mong ho Arduino, kahoo hajoale re tla kenyelletsa lilaebrari ka kotloloho (le kaofela hang):

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

Ho ka ba ho nepahetseng le ho feta ho etsa mojule o khethehileng "Nanonyam bakeng sa Arduino", o ka kenngoa ka kotloloho ho tsoa ho Arduino. Hang ha ke e utloisisa, ke tla e etsa, empa hajoale ke bonts'a bohlokoa ba ho sebetsa ka mochini o sebetsang. Re ngola khoutu e latelang:

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

Sketch le lenaneo lena e ka kopitsoa mona. Tlhaloso e qaqileng ea mesebetsi batla setšeng. Ke tšepa hore litlhaloso tsa khoutu ena li lekane ho fumana lintlha tsa eona. Mona tshebetso sys_Nanonyam() e bapala karolo ea "password" bakeng sa mochine oa sebele, o tlosang lithibelo mesebetsing ea sebele. Ntle le ts'ebetso ena, lenaneo le tla koala kamora metsotsoana e 3 ea ts'ebetso.

Re tobetsa konopo ea "Check" 'me ha hoa lokela ho ba le liphoso.

Mokhoa oa ho theha mananeo a Windows ho Arduino

Hona joale o hloka ho fumana faele ea binary (firmware). Khetha menu "Sketch >> Romella faele ea binary (CTRL+ALT+S)".

Mokhoa oa ho theha mananeo a Windows ho Arduino

Sena se tla kopitsa lifaele tse peli tsa HEX foldareng ea sketch. Re nka faele feela ntle le prefix "with_bootloader.mega".

Ho na le mekhoa e 'maloa ea ho hlakisa faele ea HEX mochining o hlakileng oa Nanonyam, kaofela ha bona ba hlalositsoe leqepheng lena. Ke fana ka tlhahiso ea ho theha haufi le faele Nanonyam.exe file tsela, moo ho ngolisoang tsela e felletseng ea faele ea rona ea HEX. Ka mor'a moo u ka matha Nanonyam.exe. Re fumana fensetere e nang le mongolo oa rona.

Mokhoa oa ho theha mananeo a Windows ho Arduino

Ka mokhoa o ts'oanang, o ka etsa mananeo libakeng tse ling, joalo ka AVR Studio kapa WinAVR.

Mona ke moo re qetellang ho tsebana ha rona le Nanonyam. Taba ea sehlooho e lokela ho hlaka. Mehlala e meng e teng webosaeteng.. Haeba ho na le batho ba lekaneng ba ikemiselitseng ho sebelisa morero ona, ke tla etsa mehlala e mengata 'me ke tsoele pele ho "tlatsa" lilaebrari tse sebetsang hantle. Maikutlo a tiileng bakeng sa nts'etsopele ea morero le litlaleho tsa ho se sebetse hantle, likokoana-hloko le likokoana-hloko lia amoheloa. Ho eletsoa ho ba lebisa ho mabitso, e bontšitsoeng webosaeteng. 'Me puisano e amohelehile ho litlhaloso.

Ke leboha bohle ka tlhokomelo ea hau le lenaneo le letle!

Source: www.habr.com

Eketsa ka tlhaloso