Yadda ake ƙirƙirar shirye-shirye don Windows a Arduino

Yadda ake ƙirƙirar shirye-shirye don Windows a Arduino

Wata rana na yi tunanin hauka zan kawo 500 Laser nuni a wuri guda. Na dauki lokaci mai yawa kuma na yi. Ya zama abin ban mamaki kuma mara amfani, amma ina son shi. Watanni shida da suka wuce na yi wani tunani na hauka. Wannan lokacin, ba ko kaɗan ba ne mai ban mamaki, amma yafi amfani. Na kuma dauki lokaci mai yawa a kai. Kuma a cikin wannan labarin, na gabatar da sigar beta na tunani na hauka na biyu.

Na kira aikin Nanonyam (Nanonyam) har ma da tambari na fito da shi (na zana na mintuna 5).

Yadda ake ƙirƙirar shirye-shirye don Windows a Arduino

Ga waɗanda suke tunani dangane da Arduino, za mu iya cewa Nanonyam garkuwa ce ta Arduino don sarrafa Windows.

A wasu kalmomi, Nanonyam inji ne mai kama-da-wane wanda ke amfani da firmware don microcontroller AVR (Ana bada shawarar ATMEGA2560) azaman bytecode. A cikin wannan injin kama-da-wane akwai na'urar kwaikwayo ta AVR core, amma a maimakon na'urorin haɗi, waɗanda ke a adiresoshin SRAM daga 0x0060 zuwa 0x01FF, akwai keɓancewar keɓancewa ta musamman zuwa ayyukan kama-da-wane (ciki har da ayyukan API na Windows). Kuma a nan yana da matukar muhimmanci a fahimta nan da nan: lambar don Nanonyam bai kamata ya sami damar zuwa kewayon ƙwaƙwalwar ajiya da aka ƙayyade ba, don kada a kira shi da gangan, misali, aikin share fayiloli ko tsara faifai. Sauran kewayon ƙwaƙwalwar SRAM daga 0x0200 zuwa 0xFFFF (wannan ya fi na ainihin microcontroller) yana samuwa ga mai amfani don kowane dalili. Na lura nan da nan cewa akwai kariya ta musamman daga ƙaddamar da bazata na firmware na ainihin microcontroller (ko firmware daga wani gine-gine): kafin kunna ayyukan "haɗari", kuna buƙatar kiran aiki na musamman na yaudara. Akwai kuma wasu fasalulluka na tsaro.

Don ƙirƙirar shirye-shirye don Nanonyam, kuna buƙatar amfani da ɗakunan karatu na musamman waɗanda ke aiwatar da duk ayyukan kama-da-wane da ake da su a halin yanzu. Zazzage na'ura mai mahimmanci na Nanonyam da ɗakunan karatu don ita na iya zama anan. Kuma a nan shafi na bayanin aikin kama-da-wane. Kuma a, rukunin yanar gizona yana da matuƙar mahimmanci kuma ba a daidaita shi don na'urorin hannu ba.

Nanonyam kyauta ne don amfanin gida da kasuwanci. An samar da shirin Nanonyam akan "kamar yadda yake". Ba a bayar da lambar tushe ba.

A halin yanzu shirin yana cikin matakin gwaji. An aiwatar da kusan ayyuka na kama-da-wane 200 waɗanda ke ba ku damar ƙirƙirar shirye-shirye masu sauƙi don Windows.
Babu shakka, ƙirƙirar wani abu mai rikitarwa a cikin irin wannan na'ura mai mahimmanci ba zai yi aiki ba, tun da ƙwaƙwalwar ajiyar lambar kawai 256 kB. Ana iya adana bayanai a cikin fayiloli daban-daban, ana aiwatar da buffer don ɓangaren hoto a waje. An sauƙaƙe duk ayyuka kuma an daidaita su don gine-gine 8-bit.

Me za ku iya yi a Nanonyam? Na zo da 'yan matsaloli.

Haɓaka tubalan shirin

Na taɓa buƙatar ƙira wani hadadden menu don nunin hoto mai digo 128x64. Ba na so in ɗora nauyin firmware akai-akai a cikin ainihin microcontroller don ganin yadda pixels suke kama. Sabili da haka an haifi ra'ayin Nanonyam. Hoton da ke ƙasa yana nuna hoto daga ainihin nunin OLED na ɗayan abubuwan akan menu iri ɗaya. Yanzu zan iya yin aiki ta hanyarsa ba tare da na'urar gaske ba.

Yadda ake ƙirƙirar shirye-shirye don Windows a Arduino

Nanonyam (a cikin ra'ayinsa na ƙarshe) kayan aiki ne mai kyau don yin aiki da shinge na shirye-shirye don masu sarrafa microcontrollers, saboda akwai ayyuka don aiki tare da zane-zane (zaku iya kwatanta nuni da alamomi), tare da fayiloli (zaku iya yin rajistan ayyukan, karanta bayanan gwaji), tare da keyboard (zaka iya karanta har zuwa maɓallai 10 a lokaci guda), tare da tashoshin COM (ga wani abu daban).

Ƙirƙirar Shirye-shiryen Sauƙaƙe

Misali, kuna buƙatar aiwatar da fayilolin rubutu 100500 cikin sauri. Kowane ɗayan yana buƙatar buɗewa, gyaggyarawa kaɗan bisa ga wasu sauƙi algorithm, adanawa da rufewa. Idan kai masanin Python ne, to ina taya ka murna, kana da komai. Amma idan kun kasance arduino mai tauri (kuma akwai da yawa daga cikinsu), to Nanonyam zai taimaka muku wajen magance wannan matsalar. Wannan shine burina na biyu a Nanonyam: don ƙara ayyuka masu amfani da yawa kamar sarrafa rubutu, ɗaukar hotuna ko simintin maɓalli a cikin tsarin (duk waɗanda, ta hanya, sun riga sun kasance), da sauran ayyuka da yawa don warware ayyukan yau da kullun. .

Gwajin kayan aikin ta hanyar tashar COM

Nanonyam na iya aiki azaman tashar tashar da ke aiki bisa ga algorithm ɗin ku. Kuna iya zana ƙaramin menu don sarrafa na'urar kuma nuna bayanan da aka karɓa daga tashar jiragen ruwa. Kuna iya ajiyewa da karanta bayanai daga fayiloli don bincike. Kayan aiki mai amfani don sauƙaƙe gyarawa da daidaita kayan aiki, da kuma ƙirƙirar bangarori masu sarrafa kayan aiki masu sauƙi. Ga dalibai da matasa masana kimiyya, wannan aikin zai iya zama da amfani sosai.

Horar da shirye-shirye

Koyaya, kamar yadda yake tare da duk aikin Arduino, babban fa'idar Nanonyam ya ta'allaka ne akan sauƙaƙe ayyuka, dubawa da bootloader. Saboda haka, wannan aikin ya kamata ya zama abin sha'awa ga novice shirye-shirye da waɗanda suka gamsu da matakin arduino. Af, ni da kaina har yanzu ban yi nazarin arduino dalla-dalla ba, saboda koyaushe ina amfani da WinAVR ko AVR Studio, amma na fara da mai tarawa. Sabili da haka, shirin misalin da ke ƙasa zai zama ɗan kuskure, amma yana aiki sosai.

Hello Habr!

Lokaci ya yi da za ku saba da wasu fasalulluka na Nanonyam kuma ku rubuta tsari mai sauƙi. Za mu rubuta a cikin Arduino, amma ba ta hanyar da aka saba ba, amma a cikin hanyar da zan iya yanzu (Na riga na ce ban gano wannan yanayin da kyau ba tukuna). Da farko, ƙirƙirar sabon zane kuma zaɓi allon Mega2560.

Yadda ake ƙirƙirar shirye-shirye don Windows a Arduino

Ajiye zanen zuwa fayil kuma kwafi na gaba Nanonyam library. Zai yi daidai a haɗa da shugabannin ɗakunan karatu, amma ban san yadda ake rubuta tarin fayiloli guda ɗaya a cikin Arduino ba, don haka a yanzu za mu haɗa da ɗakunan karatu kai tsaye (kuma gaba ɗaya):

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

Zai fi dacewa don yin ƙirar musamman "Nanonyam don Arduino", wanda za'a iya shigar dashi kai tsaye daga Arduino. Da zaran na gane, zan yi, amma a yanzu kawai ina nuna ma'anar aiki da na'ura mai mahimmanci. Muna rubuta code mai zuwa:

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

Zane da wannan shirin za a iya saukewa a nan. Cikakken bayanin ayyuka bincika a kan shafin. Ina fatan maganganun da ke cikin wannan lambar sun isa don samun ainihin shi. Anan aiki sys_Nanonyam() yana taka rawar “Password” don na’urar kama-da-wane, wanda ke kawar da hani kan ayyukan kama-da-wane. Ba tare da wannan aikin ba, shirin zai rufe bayan 3 seconds na aiki.

Muna danna maɓallin "Duba" kuma kada a sami kurakurai.

Yadda ake ƙirƙirar shirye-shirye don Windows a Arduino

Yanzu kuna buƙatar samun fayil ɗin binary (firmware). Zaɓi menu"Zane>>Fitar da fayil binary (CTRL+ALT+S)".

Yadda ake ƙirƙirar shirye-shirye don Windows a Arduino

Wannan zai kwafi fayilolin HEX guda biyu zuwa babban fayil ɗin zane. Muna ɗaukar fayil ɗin kawai ba tare da prefix "with_bootloader.mega".

Akwai hanyoyi da yawa don tantance fayil ɗin HEX zuwa na'urar kama-da-wane ta Nanonyam, duk an kwatanta su a wannan shafin. Ina ba da shawarar ƙirƙirar kusa da fayil ɗin Nanonyam.exe fayil hanya, wanda don yin rajistar cikakken hanyar zuwa fayil ɗin HEX ɗin mu. Bayan haka zaka iya gudu Nanonyam.exe. Muna samun taga tare da rubutun mu.

Yadda ake ƙirƙirar shirye-shirye don Windows a Arduino

Hakazalika, zaku iya ƙirƙirar shirye-shirye a wasu wurare, kamar AVR Studio ko WinAVR.

Anan ne muka gama saninmu da Nanonyam. Babban ra'ayi ya kamata ya bayyana. Ƙarin misalai suna kan gidan yanar gizon.. Idan akwai isassun mutanen da ke son yin amfani da wannan aikin, to zan yi ƙarin misalai kuma in ci gaba da “cika” ɗakunan karatu na aikin kama-da-wane. An yarda da ra'ayoyin ƙira don haɓaka aikin da rahotanni na rashin aiki, kwari da kwari. Yana da kyau a kai su ga abokan hulɗa, aka nuna akan gidan yanar gizon. Kuma ana maraba da tattaunawa a cikin sharhi.

Na gode duka saboda kulawa da kyawawan shirye-shirye!

source: www.habr.com

Add a comment