αααααα½α αααα»αααΆααααα·ααααα½ααααΎααααΈααΆααααα
αααα»αααΆαααΌαααααααα
αααααα Nanonyam (Nanonyam) α αΎααααααΆααααΆαα‘αΌα ααααααααΆααααΆ (αααα»αααΆαααΌααααααα 5 ααΆααΈ) α
αααααΆααα’αααααααα·ααααα»αααα Arduino ααΎαα’αΆα
αα·ααΆαααΆαααΆ Nanonyam ααΊααΆααα Arduino αα·αααα·ααααααΆααααααααααα Windows α
αα·ααΆααααααΆαααα Nanonyam ααΊααΆαααΆαααΈααα·αααα·ααααααααΎαααααα·ααΈαααααααααααΆαα AVR microcontroller (ATMEGA2560 ααααΌαααΆαααααΆα) ααΆ bytecode α αα ααΆααααα»ααααΆαααΈααα·αααα·ααααααΊααΆαααΆαααΈααααααααααΎααααΌα AVR ααα»αααααααα½αα±ααααααΏααα»αααααΌααααααααΆαααΈααΆαααα α’αΆααααααΆα SRAM ααΈ 0x0060 ααα 0x01FF ααΆαα ααα»α αααααΆαααα·ααααααααΆαααα»αααΆααα·αααα·α (αα½αααΆαααα»αααΆα Windows API) α α αΎααα ααΈαααααΆααΆαααΆααααααΆααααααΆααααΆαααααα»αααΆααααααααΆαα: ααΌααααααΆαα Nanonyam αα·ααα½αααΆααα·αααα·α αΌααα ααΆαααα½αα’αααα αα αΆααααααΆααααααΆααααααα ααΎααααΈαα»αα±ααα α αααα ααααα α§ααΆα ααααα»αααΆαααααΆααα»αα―αααΆα α¬ααΆαααααΎαααααααααΆαααΆαα αα αααααα’αααα αα αΆα SRAM α αΆααααΈ 0x0200 ααα 0xFFFF (αααααΊα αααΎαααΆααα αααα»α microcontroller αα·αααααΆαα) ααΊα’αΆα ααααΆααααααΆααα’αααααααΎααααΆαααααααΆαααααααααααΆαα½αα αααα»αααααααααΆααααααΆααααΆααΆαααΆαααΆαααΆααα·ααααααααΆααααΉαααΆαααΎαααααΎαααΆααααα ααααααααααααα·ααΈαααααααα microcontroller αα·αααααΆαα (α¬αααααα·ααΈααααααααΈααααΆαααααααααα½ααααααααα): αα»ααααααααΎα±αααα»αααΆα "αααααααααΆαα" ααααα α’αααααααΌαα α αα»αααΆααα·αααα·ααααααΆααααα·α αα·αααα ααΆααααΆααα»αααΆααα»ααααα·ααΆααα½αα ααα½ααααααααααααααα
ααΎααααΈαααααΎααααααα·ααΈαααααΆαα Nanonyam α’αααααααΌαααααΎαααααΆααααα·ααααααα’αα»αααααα»αααΆααα·αααα·ααααααΆααα
αα
α»ααααααααΆααα’ααα ααΆααααααΆαααΈααα·αααα·α Nanonyam αα·ααααααΆααααααααΆααααΆα
Nanonyam ααΊα₯ααα·ααααααααααΆααααΆαααααΎααααΆαααα αααα αα·αααΆαα·αααααααα αααααα·ααΈ Nanonyam ααααΌαααΆααααααααΌααα ααΎααΌαααααΆα "ααΌα " α ααΌαααααααα·αααααΌαααΆααααααα±ααααα
αααααα·ααΈααααααα»ααααα·ααααα»αααααΆααααΆαααΆαααααα ααΆαα’αα»αααααα»αααΆααα·αααα·ααααα αα 200 αααα’αα»ααααΆαα±ααα’ααααααααΎααααααα·ααΈααΆαααααααααΆααααΈαααΌα
ααΆααααααα ααΆααααααΎαα’αααΈααααααα»αααααΆααα
αααα»ααααΆαααΈααα·αααα·αααααααααΉααα·αααααΎαααΆααα αααααα’αααα
αα
αΆααααααΆαααααααΌαααΊααααΉααα 256 kB ααα»αααααα αα·ααααααα’αΆα
ααααΌαααΆααααααΆαα»ααααα»αα―αααΆαααΆα
ααααα‘αα ααα·ααααααα’αΆαααααααααΆαααααααααααΆα ααα·αααααΌαααΆαα’αα»αααααα
ααΆααααα
α αα»αααΆαααΆααα’ααααααΌαααΆαααααα½α αα·αααααα½ααααααΆααααααΆαααααααα 8 αααΈαα
ααΎβα’αααβα’αΆα βααααΎβα’αααΈβααΆαβαα Nanonyam? αααα»αααΆααα½ααααα αΆαα½αα ααα½αα
ααΆαα’αα·αααααααααα»ααααααα·ααΈ
αααααααα»αααααΌααα ααΆαααΊαα»ααααα»αααααΆααααααΆααααΆααααα αΆαααααΆα ααα·α 128x64 α αααα»ααα·αααΆαα·αα αααααα»ααααααα·ααΈααααααα₯αααααααα αααα»α microcontroller αα·αααααΆααααΎααααΈααΎαααΈαααααααααΈααααααΎααα α ααΌα ααααβα αΎαβααΆαβααΆβαααα·αβαααα Nanonyam ααΆαβααΎαβα‘αΎαα ααΌαααΆαααααααααα αΆαααΌαααΆαααΈα’αααααα OLED αα·αααααΆααααααΆαα»αα½ααα ααΎαααΊαα»αααΌα ααααΆα α₯α‘αΌαααααααα»αα’αΆα ααααΎααΆαααΆααααααΆαααααααΆαα§ααααααα·αααααΆααα
Nanonyam (αα
αααα»ααααα·αα
α»ααααααααααααΆ) ααΊααΆα§αααααααααα’αααααΆααααααΎαααΆααααα»ααααααα·ααΈαααααΆαα microcontrollers αααααααΆααΆααα»αααΆααααααΆααααααΎααΆαααΆαα½αααααΆα ααα·α (α’αααα’αΆα
αααααααααΎααΆααααα αΆα αα·αααΌα
ααΆαα) ααΆαα½αααΉαα―αααΆα (α’αααα’αΆα
ααααΎαααααα ααα» α’αΆααα·ααααααααΆααααα) ααΆαα½α ααααΆαα
α»α
(α’αααα’αΆα
α’αΆαααΆααα αΌαααα 10 αααΌαα»ααααα»αααααααα½α) ααΆαα½αααΉαα
ααα COM (αααααΊααΆααΆαα»ααΆα
ααααα‘αααα½α) α
ααΆααααααΎααααααα·ααΈαα αα
α§ααΆα ααα α’αααααααΌαααααΎαααΆαα―αααΆαα’ααααα 100500 αααΆααα ααα ααΈαα½ααααααΌαααΎα ββααααααααααα·α ααααα½α ααααα ααΆααααα½ααααααααΆαααΆαααααα½αα ααα½α αααααΆαα»α αα·ααα·αα ααααα·αααΎα’αααααΆαα Python ααααααα»αααΌαα’αα’αααΆααα’ααα α’αααααΆαα’αααΈααααααααΆαα ααα»ααααααααα·αααΎα’αααααΆ arduino ααΉα (α αΎαααΆααΆαα αααΎα) ααα Nanonyam ααΉααα½αα’ααααααα»αααΆααααααααΆααααα αΆαααα αααααΊααΆααααα ααΈααΈααααααααα»ααα αααα»α Nanonyamα ααΎααααΈαααααααα»αααΆαααΆαααααααααααΆα αααΎαααΌα ααΆ ααααΎαααΆαα’ααααα ααΆαααα’αααααα α¬αααααααααΎααΆαα α»α ααααΆααα α»α αα αααα»ααααααααα (ααααα·ααΈααΆααα’αααααααΆααα½α α αΎα) ααααΌα ααΆαα»αααΆαααααααααααΆα αααΎααααααΆαααααααααΆααα·α αα ααΆααααα αΆαααααα .
ααΆααααααααααααΉαααΆααααα ααα COM
Nanonyam α’αΆα ααΎααα½ααΆααααΆααΈααααααααΎαααΆααααααααα ααΆααααα½ααααααααΆαααααα’αααα α’αααα’αΆα ααΌααααΊαα»αααΌα αα½αααΎααααΈαααααααααα§ααααα αα·ααααα αΆααα·αααααααααααα½αααΆαααΈα αααα α’αααα’αΆα αααααΆαα»α αα·αα’αΆααα·ααααααααΈα―αααΆααααααΆααααΆααα·ααΆαα α§αααααααΆααααα½ααααααΆααααΆαααααα α»αααΆαααα αα·αααΆααααα·αααΆαααααΆααααααααααΉα ααααΌα ααΆαααααΆαααααααΎαααααΆαααααααΆα§ααααααα·αααα·αααΆααααα αααααΆαααα·αααα·α αα·αα’ααααα·ααααΆααΆααααααααααααα αααααααααα’αΆα ααΆαααααααααααααΆααααΆααα
ααΆαααααα»ααααααΆααααααα·ααΈ
ααααααΆαααΆααααα ααΌα αα ααΉααααααα Arduino ααΆααααΌαααα α’αααααααααααααααΆαααααα Nanonyam αααα·ααα αααα»αααΆαααΆαααααααα»αααΆα α ααα»α αααααΆαα αα·ααααααα·ααΈα αΆααααααΎαααααααααα ααΌα αααα ααααααααααα½αααΆααΈα αΆααα’αΆαααααααααααΆααα’αααααααααααααα·ααΈααααΈααααα αα·αα’αααααααααα α·αααααΉαααααα·ααα arduino α αα·ααΆαα’αΈααα αΉααααα»ααααα½αα―ααα αααα·αααΆααααΆααα·ααααΆ arduino α±ααααΆααααα’α·ααα ααααααααα»ααααααααααΎ WinAVR α¬ AVR Studio ααα»ααααα αΆααααααΎαααΆαα½α assembler α ααΌα αααα αααααα·ααΈα§ααΆα αααααΆααααααααΉααα»αααααα·α ααα»ααααααααΎαααΆαααα’ααΆααα
ααααΆααα½α Habr!
ααΆααααααα αΎαααΎααααΈααααΆαααααααααα·ααααα½αα ααα½ααααα Nanonyam α αΎαααααααααααα·ααΈααΆαααααα½αα ααΎαααΉαααααααα αααα»α Arduino ααα»αααααα·ααααααΆαααααααααααΆαα ααα»ααααααΆααα·ααΈααααααα»αα’αΆα ααααΎααΆα (αααα»αααΆααα·ααΆααα½α α αΎαααΆαααα»ααα·αααΆαααααα αααΆααααΈααα·ααΆααΆαααααα α‘αΎααα)α ααΆααααΌα αααααΎαααααΌαααααΆαααααΈ α αΎαααααΎαααΎαααααα Mega2560α
αααααΆαα»αααααΌαααααΆααα
α―αααΆαα αΎαα
αααααααααΆαα
#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);//ΠΠ°Π΄Π΅ΡΠΆΠΊΠ° ΠΈ ΡΠ°Π·Π³ΡΡΠ·ΠΊΠ° ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ°
}
ααΌαααΆαα½ααααααα·ααΈααα
ααΎαα α»α αααΌαα»α "αα·αα·ααα" α αΎααα·ααα½αααΆαααα α»αααα
α₯α‘αΌαα’αααααααΌαααα―αααΆααααααΈα (αααααα·ααΈαααααα) α ααααΎαααΎααααΊαα»α "ααααΌαααααΆα>> ααΆαα
ααα―αααΆααααααΈα (CTRL+ALT+S)"α
ααΆααΉαα
ααααα―αααΆα HEX ααΈααα
ααααααΌαααααΆαα ααΎαααααα―αααΆααααααααΆααα»ααααα "with_bootloader.mega" α
ααΆααα·ααΈααΆα
αααΎαααΎααααΈαααααΆααα―αααΆα HEX αα
ααΆαααααΆαααΈααα·αααα·α Nanonyam ααααα½αααΆααΆααα’ααααααΌαααΆααα·αααααΆ
ααααααααααΆαααααα α’αααα’αΆα
αααααΎααααααα·ααΈαα
αααα»αααα·ααααΆαααααααααααΌα
ααΆ AVR Studio α¬ WinAVR ααΆααΎαα
αααααΊααΆαααααααααααΎααααα
ααααΆαααααΆααααααααΎαααΆαα½α Nanonyam α αααα·αααααΆαααα½αααα
αααΆααα
α’ααα»αα’αααααΆααα’ααααααΆαααααΆααααΆαααα
α·ααααα»αααΆαα αα·ααααααα·ααΈααααα’ααααα’ααα!
ααααα: www.habr.com