------------------------------------------------------------------------------
HSP REFERENCE MANUAL                                HSP : Hot Soup Processor  
grogW[t@X                          (c) onion software  
------------------------------------------------------------------------------

E͂߂

	arduino.aśAUSBڑꂽarduinofoCXfirmatavgRɂ
	VAʐMsȂƂŊen[hEFA̐sȂ߂
	gW[łB

	arduino.asɂAarduinofoCX̋@\HSP3ĂяoƂłA
	e퐧HSP̃XNvgŋLqł悤ɂȂ܂B

	arduinoɂĂ̏ڍׂ́Aȉ̃y[WQƂĂB
	https://www.arduino.cc/


Ep邽߂̏

	̃W[gp邽߂ɂ́A炩WindowsUSBڑꂽ
	arduinofoCXK؂ɐݒ肷Kv܂B
	(arduinoɂĂ̊{IȏA@ɂĂ͂ł͐Ă܂B)

	1. arduinofoCXpӂ

	͂ȂƂfoCX()KvłB
	arduinoyсAarduino unoAarduino megaقArduino IDEŎgp\
	݊pӂāAWindowsɐڑł悤ɂĂB

	2. VAڑ̏

	arduinǒc[łArduino IDECXg[邱ƂŁA
	USBڑꂽarduinofoCXƃVAʐMsȂƂł܂B
	(݊{[h̏ꍇ́AʓrhCo[̃CXg[Kvȏꍇ܂)
	Windows̐ڑۂɁAVACOM|[g蓖Ă܂B
	COM4COM5ȂǁAɍ킹ԍt̂ŊoĂĂB

	3. foCXfirmataAbv[h

	arduinofoCXfirmatavgRœ삷悤ɁA
	XPb`Abv[hĂB
	Arduino IDEAut@CvuXPb`̗vuFirmatav
	uStandardFirmatavāAAbv[h(}CR{[hɏ)
	sȂĂB

	ȏŁAWindowsyarduinofoCX̏܂B


Ep@

	arduino.aśAȉ̃t@Cgp܂B
	ꂼ̃t@CŐVłɂȂĂ邱ƂmFĂB

	hspext.dll   HSP3CXg[tH_(hsp3.exeƓKw)
	arduino.as   HSP3CXg[tH_common

	hspext.dlĺAarduino.asƓɎgpvOCt@CłB
	XNvgst@Cɂۂɂ́Ahspext.dll𓯂tH_ɒu
	Kv܂̂ŒӂĂB
	gpHSṔAver3.4ȏgBver2.61₻ȑOHSPɂ
	ΉĂ܂̂łӉB(packfileDLLǉ邱Ƃ͂ł܂B)
	EXEt@C쐬ꍇłAhidmon.dllEXEt@CƓtH_
	ɒuȂƓ삵܂B

	W[𗘗pꍇ́AXNvg̐擪Ɉȉ̐錾ǉĂB

		#include "arduino.as"

	ȍ~́Aȉ̋@\gp邱Ƃł܂B

		arduino_init port, baud		arduinoʐM̏
		arduino_bye			arduinoʐM̏I
		arduino_exec			arduinoM̎s
		delay ms			ԑ҂
		pinmode pin, outmode		s̃[hݒ
		digitalWrite pin, value		fW^f[^̏o
		analogWrite pin, value		AiOf[^̏o
		digitalRead pin			fW^f[^̓ǂݏo
		analogRead analogpin		AiOf[^̓ǂݏo
		analogReport pin, sw		AiOf[^̓ǂݏoݒ
		digitalReport port, sw		fW^f[^̓ǂݏoݒ
		analogInterval pin, ms		AiOf[^̓ǂݏoԊuݒ
	arduino.asgpۂɂ́AŏɕKarduino_initĂяoĉB
	arduino_init߂ɂ́ACOM|[gԍƃ{[[g̃p[^[
	w肷Kv܂B
	Arduino IDEŒʐMsȂĂCOM|[gԍAyfirmata
	gpĂ{[[g(ʏ57600)K؂ɋLqĂB

	arduino_init߂ɂAUSBoRVAʐM܂B
	̌ʂAVXeϐstatɔf܂B
	stat0̏ꍇ́AɏIƂ܂B
	ȊȌꍇ́AG[Ă܂B
	ȉ̂悤Ȏ菇ŏsȂĂB

		; arduino (COM|[gԍA{[[g)
		arduino_init 5, 57600
		if stat {
			; G[ΏI
			dialog arduino_error
			end
		}
		; N`FbN
	*startup
		arduino_exec
		if stat {
			; G[ΏI
			dialog arduino_error
			end
		}
		wait 1
		if arduino_ready=0 : goto *startup

	; Nɐ
	mes "arduinoɐڑ܂("+arduino_firm_ver+")"


	arduino_exec߂́AVAʐMĎāAarduinõbZ[W
	܂BAvP[V̓쒆́A莞ԂƂɎs悤ɂĂB

	́Apinmode,digitalWrite,analogWriteȂǂ̖߂gp
	eo͂sȂƂł܂B
	߂̎dĺAarduinoyfirmataɏ̂ɂȂĂ܂B

	digitalWritéAȉ悤ɋLq܂B

		digitalWrite pin, value

	Ƃ΁AudigitalWrite 13, D_HIGHv́A13Ԃ̃sONɐݒ肵܂B
	9Ԃ̃sPWM[hŃAiOo͂sȂꍇ́Aȉ̂悤ɂȂ܂B

		pinmode 9, MODE_PWM
		analogWrite 9, 255

	pinmode߂́AfirmataŋK肳ꂽ̃[hw肷邱Ƃł܂B
	ȉ̃[h}NƂĒ`Ă܂B

		[h       e
		--------------------------------
		MODE_INPUT    fW^
		MODE_OUTPUT   fW^o
		MODE_ANALOG   AiOo
		MODE_PWM      PWM(o)
		MODE_SERVO    T[{(o)

	analogWrite߂̏o͒ĺA0`255܂ł1bytelw肵܂B
	o͗p̃}N`ƂāAuD_LOWv(0)AuD_HIGHv(255)`Ă܂B

	digitalRead֐́AfW^̓s̓eǂݏo֐łB
	ȉ̂悤Ɋ֐ƂĕϐɒlǂݏoƂ\łB

		value=digitalRead(10)

	̗ł́As10Ԃ̓͏ԂϐɎ擾܂B
	ʂ́A255(ON)0(OFF)̒lɂȂ܂B

	analogRead֐́AAiO̓s̓eǂݏo֐łB

		analogReport 0, 1	; AiO|[g0ǂݏoݒ
		value=analogRead(0)	; ۂ̒lǂݏo

	̌ɁAanalogReport߂gĎw肳ꂽ|[g̓ǂݏo
	JnKv̂ŒӂĂB
	܂AanalogInterval߂ɂAiO|[gǂݏo̎ݒ肷邱Ƃ\łB

	arduino_bye߂ɂUSBIsȂ܂B
	̓vOIɎIɎs邽߁Aʏ͌ĂяoKv
	܂B


Eӓ_

	arduino FirmatáAversion2.5Ƃč쐬Ă܂B
	ÂFirmatȁꍇ́A삵Ȃ\܂B

	arduino IDẼXNvgɋ߂ߑ̌nōĂ܂A
	SȌ݊ł͂܂̂ŒӂĂB
	svȒʒm邽߁AftHgłanalogRead֐ɂAiOs
	ǂݏo̒ʒmOFFɂȂĂ܂BKAanalogReport߂g
	AiO|[g̓ǂݏoJnKv̂ŒӂĂB


EXV

	2016/6/28 ver0.1

		ŏ̃o[WB


E쌠ƃCZX

	arduino.asyуTv́AONION software/onitamaɂč쐬܂B
	ŐVł́AHSPTV!OpenHSP肷邱Ƃł܂B
	Tv⃂W[̉ρEzzEJ͐ȂRɍsȂĒč\܂B

	arduino Firmata
	https://www.arduino.cc/en/Reference/Firmata

