ä»æ¥ãIntel Edisonã¯äžé£ã®ã»ã³ãµãŒãšã¢ã¯ãã¥ãšãŒã¿ãŒã䜿çšããŠæ¬¡ã®ããšãè¡ããŸãïŒãGrasshopper sat in the grassããšããæ²ãåçããæ°Žãé 調ã«æµããŠããããç«ãã€ããŠããããæ°Žãæ±²ã¿åºãã空æ°äžã«ã¢ã«ã³ãŒã«èžæ°ãããããã»ããã£ãœãéšå±ããããããã¬ãŒã¹ãããããããã沞隰ããæ¹æ³ã座æšã決å®ãããç£ç³ãèŠã€ããã ãããŠäœãä»ã®ãã®ã

以äžã®ã»ã³ãµãŒãšã¢ã¯ãã¥ãšãŒã¿ãããã³ããããIntel Edisonã§äœ¿çšããæ¹æ³ã«ã€ããŠèª¬æããŸãã
- Grove-ããŒã«ã»ã³ãµãŒ-ããŒã«ã»ã³ãµãŒã
- Grove-ã¹ããŒã«ãŒ-ã¹ããŒã«ãŒã
- Grove-çã»ã³ãµãŒ-ç«çœã»ã³ãµãŒã
- Grove-LEDããŒ-LEDé²è¡ç¶æ³ã€ã³ãžã±ãŒã¿ãŒã
- Grove-ãšã³ã³ãŒããŒ-å転ã»ã³ãµãŒã
- Grove-ã¬ã¹ã»ã³ãµãŒïŒMQ5ïŒ-ã¬ã¹ã»ã³ãµãŒã
- Grove-倧æ°è³ªã»ã³ãµãŒ-倧æ°è³ªã»ã³ãµãŒã
- Grove-èµ€å€ç·æž©åºŠã»ã³ãµãŒ-IR枩床èšã
- G1 / 4ãæ°Žæµã»ã³ãµãŒ-æ°Žæµã»ã³ãµãŒã
- Grove-I2Cã¢ãŒã¿ãŒãã©ã€ããŒ-ã¢ãŒã¿ãŒãã©ã€ããŒã
- 6VãããŠã©ãŒã¿ãŒãã³ã-ãŠã©ãŒã¿ãŒãã³ãã
- Grove-ããžã¿ã«å
ã»ã³ãµãŒ-å
ã»ã³ãµãŒã
- Grove-ã¢ã«ã³ãŒã«ã»ã³ãµãŒ-ã¢ã«ã³ãŒã«ã»ã³ãµãŒã
- Grove-ãã¹ãã»ã³ãµãŒ-ãã¹ãã»ã³ãµãŒã
- Planet Geared Motor F280-ã¢ãŒã¿ãŒã
- Grove-GPS-GPSã¢ãžã¥ãŒã«ã
ã»ã³ãµãŒã®äŸã¯ãããªã§èŠãããšãã§ããŸãïŒ
ã»ã³ãµãŒãšIntel Edisonã䜿çšããããšããªãå Žåã¯ã
åã®èšäºãã芧ãã ããã
å§ããåã«ãã¡ãã£ãšããçºèšã äŸã®èµ·åäžã«ãUPMæ©èœã®æäœæã«ãšã©ãŒãçºçããå Žåãããšãã°ã次ã®ã¡ãã»ãŒãžã衚瀺ãããŸãã
Cannot find module 'jsupm_rotaryencoder'
ãã®ãããUPMãå«ãã€ã³ã¹ããŒã«æžã¿ããã±ãŒãžãæŽæ°ããå¿
èŠããããŸãã ããã¯æ¬¡ã®ã³ãã³ãã§éåžžã«ç°¡åã«å®è¡ã§ããŸãã
opkg upgrade
ããŒãèªäœã®ãã¡ãŒã ãŠã§ã¢ãæŽæ°ããããšããå§ãããŸãã
ããŒã«ã»ã³ãµãŒ
ã°ããŒãããŒã«ã»ã³ãµãŒ ã SKUïŒSEN14034P
ã¢ããªã±ãŒã·ã§ã³ïŒç£å Žã®ååšã®å€å®ã é床ã®æ±ºå®ã
ããšãã°ããã€ãŒã«ã®å転æ°ã決å®ããã«ã¯ããã€ãŒã«ã«ç£ç³ãåºå®ããå転äžã«ç£ç³ãééããå Žæã®é£ã«ã»ã³ãµãŒãé
眮ããŸãã ãã®åŸã圌ãã®ã¢ãããŒãæã«ä¿¡å·ããããŸãã
ããŒã«ã»ã³ãµãŒã¯ãä»»æã®ããžã¿ã«å
¥åD2-D8ã«æ¥ç¶ãããŸãã 0-ç£å Žãååšããå Žåã1-ç£å Žããªãå Žåã ã»ã³ãµãŒããŒãã«ã¯LEDããããç£å ŽãçŸãããšç¹ç¯ããŸãã
Intel EdisonããŒãã®å
èµLEDãç£å Žããªããšãã«ç¹ç¯ããããã°ã©ã ã®äŸã ãããŠãå¯èœã§ããã°ãããã¯ãªãã«ãªããŸãã
ã»ã³ãµãŒã¯D2ã«æ¥ç¶ãããŠããŸãã
ããã°ã©ã ã¯ãå
èµLEDïŒD13ïŒã«ãããŒã«ã»ã³ãµãŒããèªã¿åã£ãå€ãéä¿¡ããŸãã MRAAã©ã€ãã©ãªã䜿çšããŸãã
ãœãŒã¹ã³ãŒãmain.js var mraa = require('mraa'); var hallSensor = new mraa.Gpio(2); hallSensor.dir(mraa.DIR_IN); var myOnboardLed = new mraa.Gpio(13); myOnboardLed.dir(mraa.DIR_OUT); periodicActivity(); function periodicActivity() { var value = hallSensor.read(); myOnboardLed.write(value); setTimeout(periodicActivity,20); }
ã¹ããŒã«ãŒ
ã°ããŒãã¹ããŒã«ãŒ ã SKUïŒCOM05051P
ããžã¿ã«åºåã«æ¥ç¶ããŸãã ãã®åºåã«éãããä¿¡å·ã¯ã¹ããŒã«ãŒã«èšå®ãããŸãã ãããã£ãŠãç¹å®ã®åšæ³¢æ°ã§ä¿¡å·ããã°ããå€æŽãããšããµãŠã³ããåçã§ããŸãã é³éã¯ãã¥ãŒãã³ã°æµæã§å€æŽã§ããŸãã
UPMã©ã€ãã©ãªã«ã¯ã¹ããŒã«ãŒæ©èœããããŸãã
åäžã®ããŒããæŒå¥ããäŸã
var groveSpeaker = require('jsupm_grovespeaker'); var mySpeaker = new groveSpeaker.GroveSpeaker(2);
æ©èœïŒ
playSound('a', false, "med");
æåã®ãã©ã¡ãŒã¿ãŒã§ããããŒãã¯ããaãããbãããcãããdãããeãããfãããŸãã¯ãgãïŒaãsiãdoãreãmiãfaãsaltïŒã§ãã
2çªç®ã®ãã©ã¡ãŒã¿ãŒã¯ããã®ããŒãã«ã·ã£ãŒãã䜿çšãããã©ããã§ãã
3çªç®ã®ãã©ã¡ãŒã¿ãŒã§ãããªã¯ã¿ãŒãã¯ããäœãããäžãããé«ãã®ããããã§ãã
ãã¥ã¬ãŒã·ã§ã³ã¯èšå®ã§ããŸããããåé³ã¯çŽ0.1ç§é鳎ããŸãã
ã¹ããŒã«ãŒã¯ä»»æã®ããžã¿ã«åºåã«æ¥ç¶ã§ããããããµãŠã³ãã¯ããã°ã©ã ã§åçãããããã§ãã ãã®ãããé³ã¯ç¹ã«æ確ã§ã¯ãªããå鳎ããŸãã
ãããã£ãŠãããŒããŠã§ã¢ã§ä¿¡å·ãçæã§ãããããPWMã䜿çšããŠãµãŠã³ããæäœãããšäŸ¿å©ã§ãã ïŒPWMã®æäœã«ã€ããŠã¯ã
åã®èšäºãã芧ãã ãã ïŒã
ã¹ããŒã«ãŒã¯PWMããµããŒãããŠãããããD3ã«æ¥ç¶ãããŠããŸãã ïŒããŒãã§PWMããµããŒãããã³ã³ã¿ã¯ãã¯ããã«ããããã§ç€ºãããŸãããããã¯D3ãD5ãD6ã§ãïŒã
ããšãã°ãããã¯1ç§ã§AããŒããåçããæ¹æ³ã§ãã
ãœãŒã¹ã³ãŒãmain.js var mraa = require("mraa"); var pwm3 = new mraa.Pwm(3); freq = 440;
ããã§ã¯ãããŒãã³ã¢ã«ç§»ãããèã®äžã«åº§ã£ãŠããããã¿ããšããã¡ããã£ãŒãæåã§ããã°ã©ã ããŠã¿ãŸãããã
ãœãŒã¹ã³ãŒãmain.js var mraa = require("mraa"); var pwm3 = new mraa.Pwm(3);
æ°Žæµã»ã³ãµãŒ
G1 / 4 "æ°Žæµã»ã³ãµãŒ ãSKUïŒTEM01071B
ã»ã³ãµãŒã䜿çšãããšãã»ã³ãµãŒãééããæ°Žã®éãå€å¥ã§ããŸãã ç¯å²ã¯0.3ã6ãªããã«/åã§ãã ç¢å°ã¯ãèã®äžã®æ°Žã®åãã®æ¹åã瀺ããŠããŸãã
ã»ã³ãµãŒã®å
éšã«ã¯ããŒã«ã»ã³ãµãŒããããã€ã³ããŒã€ã³ãã©ãŒã®å転ã«ãã£ãŠããªã¬ãŒãããŸãã ãã®åäœã®é »åºŠã¯ãæµããæ°Žã®éã«æ¯äŸããŸãã ã»ã³ãµãŒåºåã§ä¿¡å·0ãš1ãå€åããã®ã§ãã»ã³ãµãŒåºåã§ä¿¡å·ã®å€ãç£èŠãã0ãã1ãžã®å€åãèæ
®ããŸãã
1ç§ãããã®ãã«ã¹æ°ãã€ãŸãåšæ³¢æ°ãèšç®ããŸãã åšæ³¢æ°ãã¹ããªãŒã ã«å€æããåŒã¯æ¬¡ã®ãšããã§ãã
L = Q / 73 ã
ããã§ãQã¯ãã«ã¹åšæ³¢æ°ïŒHzïŒã§ãã
L-æµéïŒl /åïŒ
ã»ã³ãµãŒã®æ¥ç¶ã«ã¯å°ããªåé¡ããããŸãã æšæºã®ã³ãã¯ã¿ã¯ãããŸããã 3ãã³ãã€ã³ã¹ããŒã«ãããŠããŸããã4ã€ãå¿
èŠã§ãã ãããã3æ¬ã®ã¯ã€ã€ããªã¹ãšãªã¹ã®å Žåã¯ãåçŽã«è§£æ±ºãããŸãã ã³ãã¯ã¿ã«ãŽã£ããåãŸããŸãã
ã»ã³ãµãŒãD2ã«æ¥ç¶ããŸãã
ããã°ã©ã ã¯æ¬¡ã®ããã«æ©èœããŸãã 2ã€ã®ã¿ã€ããŒãäœæããŸãããã æåã®ãã®ã¯ããªç§ããšã«1åèµ·åããã»ã³ãµãŒã®ç¶æ
ã確èªããŸãã 0ããã®å€ã1ã«ãªã£ãå Žåããã«ã¹ã«ãŠã³ã¿ãŒãå¢ãããŸãã
2çªç®ã®ã¿ã€ããŒã¯1ç§ã«1åèµ·åããŸãã ã«ãŠã³ãããããã«ã¹ã®å€ãèªã¿åããŸãã
èç©ã«1ç§ããããããæå°æµéå€ã¯1/73 = 0.013 l /åã«ãªããŸãã
ãã«ã¹ãé »ç¹ã«å±ããšããããã«æ°ä»ããªããããäžæã®ãªãã¢ã«ãŽãªãºã ã¯ããŸãæ£ç¢ºã«æ©èœããªãããšã«æ³šæããŠãã ããã ç§ã®ãã¹ãã§ã¯ãæ¯ç§çŽ230ãã«ã¹ãæ£åžžã«æ©èœããããã¯æ¯åçŽ3ãªããã«ã§ãã é床ãäžãããšãèšç®å€ã¯æžå°ãå§ããŸãã å€ã¯LCDç»é¢ã«è¡šç€ºãããŸãã æ°Žã»ã³ãµãŒã«æã£ãŠè¡ãããã«ãç§ã¯åºã§4 mmã®ããŒã¹ãè²·ããŸããã
ãœãŒã¹ã³ãŒãmain.js var mraa = require('mraa'); var jsUpmI2cLcd = require ('jsupm_i2clcd'); var lcd = new jsUpmI2cLcd.Jhd1313m1(0, 0x3E, 0x62); lcd.setColor(10,10,10); var waterFlowSensor = new mraa.Gpio(2); waterFlowSensor.dir(mraa.DIR_IN); var prev = waterFlowSensor.read(); var count = 0; setInterval( checkSensor, 1 ); setInterval( countProc, 1000 ); function checkSensor() { var curr = waterFlowSensor.read();
ç«çœã»ã³ãµãŒ
ã°ããŒã-çã»ã³ãµãŒ ã SKUïŒSEN05082P
ã»ã³ãµãŒã¯ãç«ã®ååšã«åå¿ãããã760nmã1100nmã®æ³¢é·ã®æŸå°ã«åå¿ããŸãã ãã¥ãŒãã³ã°æµæã䜿çšããŠæ床ã調æŽããããšãã§ããŸãã ç§ã®ãã¹ãã§ã¯ãã»ã³ãµãŒã¯é£ã®ç·è²ã®LEDã«åå¿ããŸããã§ããã ããŒã ã®äžå¿ãã»ã³ãµãŒã«åããããå Žåã«ã®ã¿ãçœè²LEDæäžé»ç¯ã«åå¿ããŸããã ã¬ã¹ã©ã€ã¿ãŒããªã³ã«ãªããšãã»ã³ãµãŒã¯çŽ50ã»ã³ãã®è·é¢ã§ããªã¬ãŒãããŸããã ã»ãŒåãè·é¢ã§ã圌ã¯ç«ã®ã€ãããããããçºå°ããã ã»ã³ãµãŒã¯ãªã¢ãŒãã³ã³ãããŒã«ã«ãã£ãŠããªã¬ãŒãããŸãã ã»ãšãã©ã®å Žåã家é»è£œåãšåããã©ããã€ãªãŒãã䜿çšãããŸãã æ¥å
ã«åå¿ããŸãã ãã ããæ床ã¯èª¿æŽå¯èœã§ããããã誀æ€ç¥ãçºçããªãããã«èª¿æŽã§ããŸãã
æ瀺ã«ã¯ãå¿çè·é¢ã0ã1 mã§ãããšèšèŒãããŠããŸãã
ã»ã³ãµãŒãD2ã«æ¥ç¶ããããã®å€ãããŒãäžã®å
èµLEDã«è¡šç€ºãããäŸã
ãœãŒã¹ã³ãŒãmain.js var mraa = require('mraa'); var flameSensor = new mraa.Gpio(2); flameSensor.dir(mraa.DIR_IN); var myOnboardLed = new mraa.Gpio(13); myOnboardLed.dir(mraa.DIR_OUT); periodicActivity(); function periodicActivity() { var value = flameSensor.read(); myOnboardLed.write(1-value); setTimeout(periodicActivity,20); }
éæ¥è§ŠIR枩床ã»ã³ãµãŒ
ã°ããŒã-èµ€å€ç·æž©åºŠã»ã³ãµãŒ ã SKUïŒSEN01041P
éæ¥è§Šèµ€å€ç·æž©åºŠã»ã³ãµãŒã äœåè·é¢ã¯9 cmã§ãã®ã§ãæ°Žã溶ãããŠæ²žéš°ãããŠèª¿æŽããå®éšçã«è·é¢ãéžæããããšããå§ãããŸãã
UPMã䜿çšããå¿
èŠããããŸãã ã»ã³ãµãŒã¯2ã€ã®æž©åºŠãåºããŸãã 1ã€ã®ç°å¢ããã1ã€ã®æž¬å®å¯Ÿè±¡ã å
éšã§ã¯ãTP-538Uã»ã³ãµãŒã䜿çšãããŸãã
ãµã³ãã«ããã°ã©ã ã ã»ã³ãµãŒãA0ã«æ¥ç¶ããŸãïŒãã³A0ããã³A1ã䜿çšãããŸãïŒã ããŒã¿ã¯ã³ã³ãœãŒã«ãšLCDç»é¢ã«è¡šç€ºãããŸãã
ãœãŒã¹ã³ãŒãmain.js UVã»ã³ãµãŒ
Grove-UVã»ã³ãµãŒ ã SKUïŒSEN00700P
ã»ã³ãµãŒã¯ã¢ããã°å
¥åã«æ¥ç¶ãããŠããŸãã å€ãåã«èªã¿åãããUPMã䜿çšããŠé»å§ã«å€æã§ããŸãã ãã®å Žåãã©ã€ãã©ãªèªäœãäžé£ã®æž¬å®ãå®è¡ããŠå€ãå¹³ååããŸãã ãã®ãããã»ã³ãµãŒããã®ããŒã¿ã®åä¿¡ãé
ããªãå¯èœæ§ããããŸãã
ãœãŒã¹ã³ãŒãmain.js var UVSensor = require('jsupm_guvas12d');
æ¡æ£ããæ¥å
ãååã«ããããçªãéããŠããéšå±ã§ã¯ãå€ã¯0.283203ã§ãã 倪éœããã®çŽæ¥å
ç·ã§çªã«æã£ãŠãããšãäºéã®äºéã¬ã©ã¹çªã®åŸãã«ããå Žåãå€ã¯0.473633ã«äžãããŸãã ãŠã£ã³ããŠãéããšãæ倧4.980469ãåŸãããŸãã
ããã°ã¬ã¹ããŒ
Grove-LEDã㌠ã SKUïŒLED05031P
é²è¡ç¶æ³ããŒã¯10åã®LEDã§æ§æãããŠããŸãã é»è²ãšèµ€ã®2ã€ã®æ¥µç«¯ãªãã®ãé€ãããããã¯ãã¹ãŠç·ã§ãã äœæ¥ã«ã¯ãUPMã©ã€ãã©ãªã䜿çšããæ¹ãé©åã§ãã ããã«ãããåæå€ãšç¹ç¯ããå¿
èŠã®ããã€ã³ãžã±ãŒã¿ã®æ°ãååšããåŽãæå®ã§ããŸãã äž¡æ¹ã®ã³ã³ãã¯ã¿ãŒïŒããŒã¿ããã³ã¯ããã¯ãã«ã¹ïŒãå¶åŸ¡ã«äœ¿çšãããŸãã D2ã«æ¥ç¶ãããšããã³2ãšãã³3ã«ãªããŸãã
次ã®äŸã§ã¯ãã€ã³ãžã±ãŒã¿ãŒã®å€ã¯é 次å¢å ãããã®ãã³ã«æ¹åãå€ãããŸãã
ãœãŒã¹ã³ãŒãmain.js var LEDBar = require("jsupm_my9221"); var myLEDBar = new LEDBar.MY9221(2, 3);
360床å転ã»ã³ãµãŒã ãšã³ã³ãŒããŒ
Grove-ãšã³ã³ãŒã ã SKUïŒCOM01112P
ãšã³ã³ãŒããŒãå転ã»ã³ãµãŒã ä»»æã®æ¹åã«1å転ã§ããŸãã
äœæ¥ã«ã¯ãUPMã©ã€ãã©ãªã䜿çšããããšããå§ãããŸãã åããšå€ãå¢å ããå察æ¹åã«åããšæžå°ããŸãã å€ã¯ãŒãæªæºã«ãªãå ŽåããããŸãã 2ã€ã®å¶åŸ¡ä¿¡å·ã䜿çšãããŸãã
ãœãŒã¹ã³ãŒãmain.js var rotaryEncoder = require("jsupm_rotaryencoder");
å
ã»ã³ãµãŒI2C
Grove-ããžã¿ã«å
ã»ã³ãµãŒ ã SKUïŒSEN10171P
å
ã»ã³ãµãŒã I2Cãã¹ã«æ¥ç¶ããŸãã Luxã«äŸ¡å€ãäžããŸãã ããã¥ã¡ã³ãã«ãããšãå€ã®ç¯å²ã¯0ã40000ã§ãã
ãã¹ãã§ã¯ãæããéšå±ã§ã¯å€ãçŽ500ã§ããããšãå€æããŸããã倪éœã®äžã§ã¯ããã©ã€ã³ãã®ããçªãã20000ã40000ã«éããŸãã çŽå°æ¥å
ã«åœãŠããšãããŒã«ãªãŒããŒããå€ã4000ã«äœäžããŸããããã念é ã«çœ®ããŠããå¿
èŠããããŸãã
ãœãŒã¹ã³ãŒãmain.js var digitalLightSensor = require('jsupm_tsl2561');
ã¬ã¹ã»ã³ãµãŒMQ5
ã°ããŒã-ã¬ã¹ã»ã³ãµãŒïŒMQ5ïŒ ã SKUïŒSEN90502P
ã¬ã¹ã»ã³ãµãŒã 液äœæº¶åªã倩ç¶ã¬ã¹ã«åå¿ããŸãã æ床ã¯ããã³ã·ã§ã¡ãŒã¿ãŒã§èª¿æŽã§ããŸãã
ã¢ããã°å€ãæäŸããŸãã ãã®ãŸãŸäœ¿çšã§ããŸãããUPMã©ã€ãã©ãªã䜿çšã§ããŸãã ã©ã€ãã©ãªã¯äžé£ã®æž¬å®ãå®è¡ããŠå¹³åå€ãèšç®ããŸããããã®ãããé¢æ°åŒã³åºãã¯ããã°ã©ã ãäžæåæ¢ããŸãã
ã»ã³ãµãŒã®ç¹åŸŽã¯ãåäœäžã«å€§å¹
ã«ç±ããªãããšã§ãã ããã¯ãã»ãšãã©ã®ãã®ãããªæ€åºåšã®æ©èœã§ãã äœæ¥ãéå§ããåã«ãã»ã³ãµãŒããŠã©ãŒã ã¢ããããå¿
èŠããããŸãã 説ææžã§ã¯ãäºç±æéã¯24æéã§ãããšæžãããŠããŸãããããã¯ãªããšãªãå¥åŠã§ãã
次ã®äŸã§ã¯ãã»ã³ãµãŒãA0ã«æ¥ç¶ããUPMã䜿çšããŸãã
ãœãŒã¹ã³ãŒãmain.js var upmMQ5 = require("jsupm_gas");
ãã¹ãã»ã³ãµãŒ
ã°ããŒã-ãã¹ãã»ã³ãµãŒ ã SKUïŒSEN12291P
ãã¹ãã»ã³ãµãŒã 空æ°ã®ã»ããã«å¿ããŠãã«ã¹ãåºåããŸãã ãµã€ãºã1ãã¯ãã³ä»¥äžã®ãã¹ãç²åã«åå¿ããŸãã UPMã©ã€ãã©ãªã䜿çšããããšããå§ãããŸãã
ç¹åŸŽã¯ãgetDataé¢æ°ã30ç§ä»¥å
ã«ããŒã¿ãåä¿¡ããããšã§ãã
ããã圌ã®ä»äºã®äŸã§ãã ããã¯æ£åžžãªç¶æ
ã§ãã
Low pulse occupancy: 1829533 Ratio: 6.0984462 Concentration: 3279.9744018259016
ãããŠãã»ã³ãµãŒã®é£ã§åã£ãœãåžã§ãããæ¯ã£ãã
Low pulse occupancy: 5541164 Ratio: 18.470549560000002 Concentration: 15240.471566321306
ãœãŒã¹ã³ãŒãmain.js var dustSensor = require('jsupm_ppd42ns');
空æ°è³ªã»ã³ãµãŒ
Grove-倧æ°è³ªã»ã³ãµãŒ ã SKUïŒSEN01111P
空æ°è³ªã»ã³ãµãŒã å²ãŸããã¹ããŒã¹çšã«èšèšãããŠããŸãã äžé
žåççŽ ãæ°ŽçŽ ãã¢ã«ã³ãŒã«ãã¢ã»ãã³ã溶åªããã«ã ã¢ã«ãããããã®ä»ã®ææ¯ã¬ã¹ã«åå¿ããŸãã
ç§ã¯ã©ã€ã¿ãŒããã®ã¢ã«ã³ãŒã«ãšã¬ã¹ã§åœŒã®äœåããã§ãã¯ããŸããã 圌ã¯ããããå®çŸ©ããŸããã
ã¢ããã°å
¥åã«æ¥ç¶ããŸãã äŸã§ã¯ãA0ã«ã å€ãèªãã ãã§ãã
ãœãŒã¹ã³ãŒãmain.js var mraa = require('mraa'); var gas = new mraa.Aio(0); getGas(); function getGas() { var g = gas.read(); console.log(gas='+g); setTimeout(getGas,500); }
ã¢ã«ã³ãŒã«ã»ã³ãµãŒ
Grove-ã¢ã«ã³ãŒã«ã»ã³ãµãŒ ã SKUïŒSEN21723P
ã¢ã«ã³ãŒã«ã»ã³ãµãŒã ã¢ããã°ãã³ã«å€ãäžããŸãã ãã ããã»ã³ãµãŒèªäœããŠã©ãŒã ã¢ããããã«ã¯ããžã¿ã«ãã³ãå¿
èŠã§ãã ã»ã³ãµãŒã«éåžžã®ã·ãŒã«ãã䜿çšããå Žåããã³A0ããã³A1ã¯ã³ãã¯ã¿ãŒA0ã«ãããŸãã ãããŠããã³A1ã¯å®éã«ã¯ããžã¿ã«ãã³D15ã§ãã
äœæ¥ãéå§ããåã«ãã»ã³ãµãŒã2åéæž©ããããšããå§ãããŸãã
ãœãŒã¹ã³ãŒãmain.js GPSã¢ãžã¥ãŒã«
ã°ããŒã-GPS ã SKUïŒSEN10752P
GPSããããŒã¿ãåä¿¡ããããã®ã¢ãžã¥ãŒã«ã ãã®ã¢ãžã¥ãŒã«ã¯ãã·ãªã¢ã«ããŒãã§ããŒã¿ãæäŸããŸãã ãããã£ãŠãã·ãªã¢ã«ããŒããšããŠæ©èœããã³ãã¯ã¿ã«æ¥ç¶ããŸãã ããã¯ãUARTãšããã©ãã«ã®ä»ããã³ãã¯ã¿ã§ãã
ããŒã¿ã¯ãNMEA 0183圢åŒã®ããã¹ã圢åŒã§éä¿¡ãããŸãããã£ãŒã«ãã®èª¬æã¯ã
ããã«ãããŸã ã
ã¢ãžã¥ãŒã«ããã®åºåäŸã次ã«ç€ºããŸãã
$GPGGA,183227.000,5619.7971,N,04400.5751,E,2,4,3.28,36.7,M,9.4,M,0000,0000*59 $GPGSA,A,3,16,27,19,22,,,,,,,,,3.43,3.28,0.99*05 $GPGSV,3,1,12,18,73,111,,27,61,264,22,22,56,212,26,21,41,107,*70 $GPGSV,3,2,12,19,38,302,22,15,30,054,,16,16,234,25,20,12,062,*78 $GPGSV,3,3,12,13,11,026,,14,06,169,,30,03,340,,04,03,281,*7A $GPRMC,183227.000,A,5619.7971,N,04400.5751,E,0.00,87.99,230615,,,D*53
$ GPRMCã®æåŸã®è¡ã¯èå³æ·±ããã®ã§ãã
183227-18:32:27 UTC
5619.7971ãN-緯床
04400.5751ãE-çµåºŠ
ãã®ããŒã¿ã¯ãããšãã°yandexãããã§äœ¿çšã§ããæ€çŽ¢ããŒã«æ¬¡ã®åœ¢åŒã§è¡šç€ºãããŸãã
N56 19.7971 E44 00.5751
è¡æãæ€åºãããªãå Žåãåºåã¯æ¬¡ã®ããã«ãªããŸãã
$GPGGA,235958.800,,,,,0,0,,,M,,M,,*40 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,1,1,00*79 $GPRMC,235958.800,V,,,,,0.00,0.00,050180,,,N*49
ãã®ããã°ã©ã ã¯ã·ãªã¢ã«ããŒãã©ã€ãã©ãªã䜿çšããŠåäœãããããpackage.jsonãã¡ã€ã«ã®äŸåé¢ä¿ã§æå®ããå¿
èŠããããŸãã
ãœãŒã¹ã³ãŒãpackage.json { "name": "OnboardLEDBlink", "description": "", "version": "0.0.0", "main": "main.js", "engines": { "node": ">=0.10.0" }, "dependencies": { "serialport" : "1.7.4" } }
次ã®äŸã§ã¯ãGPSã¢ãžã¥ãŒã«ããåä¿¡ããããŒã¿ãã³ã³ãœãŒã«ã«åã«å°å·ããŸãã
ãœãŒã¹ã³ãŒãmain.js var mraa = require('mraa');
次ã®äŸã¯ãåä¿¡ããããŒã¿ã解æããŠå°ç座æšãæœåºããLCDç»é¢ã«è¡šç€ºãããããããè€éã§ãã
ãœãŒã¹ã³ãŒãmain.js var jsUpmI2cLcd = require ('jsupm_i2clcd'); var lcd = new jsUpmI2cLcd.Jhd1313m1(0, 0x3E, 0x62); lcd.setColor(0,0,0); var mraa = require('mraa');
ã¢ãŒã¿ãŒãã©ã€ããŒ
Grove-I2Cã¢ãŒã¿ãŒãã©ã€ã㌠ã SKUïŒROB72212P
ã¢ãŒã¿ãŒãã©ã€ããŒã䜿çšãããšã2ã€ã®åŸæ¥ã®ã¢ãŒã¿ãŒãŸãã¯1ã€ã®4ç·åŒ2çžã¹ãããã³ã°ã¢ãŒã¿ãŒãæ¥ç¶ã§ããŸãã 管çã¯I2Cãã¹çµç±ã§ãã é»æµã¯ããã£ãã«ããšã«æ倧2Aã§ãã ãã®ãããªå€§é»æµã§ã¯ããã€ã¯ãåè·¯ãå ç±ããå¯èœæ§ããããŸãã ããŒãã«ã¯ãã¢ãŒã¿ãŒãåæ¢ã§ãããã¿ã³ããããŸãã
ãã¹äžã®ããã€ã¹ã®I2Cã¢ãã¬ã¹ãèšå®ããã¹ã€ãããããŒãäžã«ãããŸãã ããã©ã«ãã§ã¯ã1111ãã€ãŸã15ã«èšå®ãããŠããŸãã
ããŒãã«ã¯é»æºã³ãã¯ã¿ããããŸãã ã¢ãŒã¿ãŒã¯å¥ã®é»æºããé»åãäŸçµŠãããŸãã ãããã£ãŠã5 V以å€ã®é»å§çšã®ã¢ãŒã¿ãŒã«ããããšãã§ããŸãããã®äŸã§ã¯ãIntel EdisonããŒãèªäœããé»å§ãå°å ããŸãããç°¡åã§ãã

UPMã©ã€ãã©ãªã䜿çšããå Žåããšã³ãžã³ã®ãã©ã¡ãŒã¿ãŒã¯ããã«ã«ããã«ã«ãã£ãŠèšå®ãããŸãã
ãŸããåãšã³ãžã³ã®æ¹åãèšå®ããå¿
èŠããããŸãã
my_MotorDriver_obj1.setMotorDirections( groveMotorDriver_lib.GroveMD.DIR_CCW, groveMotorDriver_lib.GroveMD.DIR_CW);
ãã®ã³ãã³ãã®åŸãæåã®ã¢ãŒã¿ãŒã¯åæèšåãã«ã2çªç®ã®ã¢ãŒã¿ãŒã¯æèšåãã«å転ããŸãã
次ã«ãå転é床ã0ã255ã«èšå®ã§ããŸãã å€ã255ã®å Žåãã¢ãŒã¿ãŒã«å
šé»å§ãå°å ãããŸãã
my_MotorDriver_obj1.setMotorSpeeds(255, 127);
æåã®ãšã³ãžã³ã¯ãã«ã¹ããŒãã§å転ãã2çªç®ã®ãšã³ãžã³ã¯ååã§å転ããŸãã
次ã®äŸã§ã¯ã2çªç®ã®ã¢ãŒã¿ãŒãåé»å§ã§åæèšåãã«ãªã³ã«ããŸãã
ãœãŒã¹ã³ãŒãmain.js var groveMotorDriver_lib = require('jsupm_grovemd'); var i2c_addr1 = 15; var my_MotorDriver_obj1 = new groveMotorDriver_lib.GroveMD( groveMotorDriver_lib.GROVEMD_I2C_BUS, i2c_addr1 ); my_MotorDriver_obj1.setMotorDirections( groveMotorDriver_lib.GroveMD.DIR_CCW, groveMotorDriver_lib.GroveMD.DIR_CCW); my_MotorDriver_obj1.setMotorSpeeds(0, 127);
ãšã³ãžã³
ãã©ãããã®ã¢ãŒãã¢ãŒã¿ãŒF280 ã SKUïŒ316070006
ã®ã¢ããã¯ã¹ãçµ±åããããšã³ãžã³ã 3-24 . 80-800 /. 5, . 255, 120 /.
, , .
(), . - , .
D4. - I2C. I2C.
main.js var groveMotorDriver_lib = require('jsupm_grovemd'); var rotaryEncoder = require("jsupm_rotaryencoder"); var myRotaryEncoder = new rotaryEncoder.RotaryEncoder(4, 5); var jsUpmI2cLcd = require ('jsupm_i2clcd'); var lcd = new jsUpmI2cLcd.Jhd1313m1(0, 0x3E, 0x62); lcd.setColor(0,0,0); var i2c_addr1 = 15; var my_MotorDriver_obj1 = new groveMotorDriver_lib.GroveMD( groveMotorDriver_lib.GROVEMD_I2C_BUS, i2c_addr1 ); my_MotorDriver_obj1.setMotorDirections( groveMotorDriver_lib.GroveMD.DIR_CCW, groveMotorDriver_lib.GroveMD.DIR_CCW); my_MotorDriver_obj1.setMotorSpeeds(0, 0); checkButton(); function checkButton() { var v = myRotaryEncoder.position(); var speed = v*10; if( speed < -255 ) { speed = -255; } if( speed > 255) { speed = 255; } var dir; if( speed > 0) { dir = groveMotorDriver_lib.GroveMD.DIR_CCW; } else { speed = -speed; dir = groveMotorDriver_lib.GroveMD.DIR_CW; } my_MotorDriver_obj1.setMotorDirections( 0, dir); my_MotorDriver_obj1.setMotorSpeeds(0, speed); lcd.setCursor(0,0); lcd.write('v='+v+' '); lcd.setCursor(1,0); lcd.write('speed='+speed+' '); setTimeout(checkButton,100); }
6V mini water pump . SKU: 114990073
. , .
4 .
, , .
6 , 5 .
, . . . , . , .
. -. , .
main.js var groveMotorDriver_lib = require('jsupm_grovemd'); var rotaryEncoder = require("jsupm_rotaryencoder"); var myRotaryEncoder = new rotaryEncoder.RotaryEncoder(4, 5); var jsUpmI2cLcd = require ('jsupm_i2clcd'); var lcd = new jsUpmI2cLcd.Jhd1313m1(0, 0x3E, 0x62); lcd.setColor(0,0,0); var i2c_addr1 = 15; var my_MotorDriver_obj1 = new groveMotorDriver_lib.GroveMD( groveMotorDriver_lib.GROVEMD_I2C_BUS, i2c_addr1 ); my_MotorDriver_obj1.setMotorDirections( groveMotorDriver_lib.GroveMD.DIR_CCW, groveMotorDriver_lib.GroveMD.DIR_CCW); checkButton();
, , . !