ãç·šéè
ã説æããããã«ãèªè
ã¯çè§£ã§ããŸããèªè
ãæ¥œããŸãããæ°é®®ã§ãé¢çœãåéºã«æºã¡ããã®ã§ãªããã°ãªããŸããã
I.ã€ã«ããEããããããããã³ãœã³ã®äœææ¹æ³ã
ä»ã®ãœãããŠã§ã¢ãŸãã¯ããŒããŠã§ã¢ãã©ãããã©ãŒã ãšåæ§ã«ãArduinoã®äœ¿çšãéå§ããããšã¯ãå®éã®ãããžã§ã¯ãããã¯åžžã«è峿·±ããã®ã§ãã åæã«ãããã°ã©ããŒã¯ãHelloãworldããšè¡šç€ºããã³ãŒããæžããå°éå®¶ã¯LEDãç¹æ» ãããŸãã ãããŠèª°ããåäŸã®ããã«å¹žãã§ãã
ç§ã¯ãè¥ãäžä»£ãCounter-StrikeããåŒãé¢ããšããç§å¯ã®åžæãå«ããé«åºŠãªãããžã§ã¯ãããå§ããããšã«ããŸããïŒããŸããããŸããã§ããïŒã
RoboCar4Wãšããååããæšæž¬ã§ããããã«ãæåã®ãããžã§ã¯ãã¯4茪ããããè»ã§ããã ä»äºãå§ããŠãç§ã¯ãã§ã«ããã°ã©ãã³ã°ã®çµéšããããé·ãéã¯ãã ä»ãããæ¹æ³ãç¥ã£ãŠããŸããããArduinoã®ãã³é åãããŸã£ããç¥ãããããã¥ã¡ã³ãããŸã£ããèªã¿ãŸããã§ããã ç§ã¯åäžã®ãã¹ãŠã®ç¥æµãšGoogleãæ¯æŽããããã«å匷ããŸããã
ãããžã§ã¯ãèªäœã¯åºæ¬çã«æ°ãããã®ã§ã¯ãªãã®ã§ããããã¯ãŒã¯å ã®ãã®ãããªèšè¿°ã§ååã§ããããã¹ãŠã®ã³ã³ããŒãã³ããæ¢ç¥ã§ãããé©ãã¯äºæ³ãããŠããŸããã§ããã ãããã£ãŠãã¢ã€ãã¢ã¯æãäžè¬çãªçšèªã§å®åŒåãããäž»ãªç®æšã¯ãã©ããããããã¿ã€ãã³ã°ã®ãã©ãããã©ãŒã ãšããŠArduinoã䜿çšããŠãç©äºã®äžçãã«æ²¡é ããããšã§ããã ãã®äœåã§ã¯ããããã誰ããæ ã®å§ãŸãã«èªåèªèº«ãèªèããŸãã
ãã¹ãŠã®ããŒããŠã§ã¢ã¯ebayã§è³Œå ¥ããŸããããç§èªèº«ã®çµéšããã詳现ã«çµã¿ç«ãŠãããããããã«ã¹ã¿ãŒã¿ãŒããããè³Œå ¥ããæ¹ãç°¡åã ãšèšãããã§ãïŒArduinoã¹ã¿ãŒã¿ãŒãããã®èšèã§æ¢ããŠãã ããïŒã ã¯ãããã¹ãŠäžç·ã«æ¥ãŸãã éåžžã®ã·ã£ã·ãŒãéåžžã®ãã€ãŒã«ãéåžžã®ã¢ãŒã¿ãŒãè³Œå ¥ããããã«ãããã¯ãé«äŸ¡ãã§ããããã«ãããããªããšãããªããšæ±ºããããŸããã
eBayã§ã®æåããè³Œå ¥ã®äž»ãªç§å¯ã¯ãäžæµã®å£²ãæããè³Œå ¥ãããšåæã«ã補åã®èª¬æãæ³šææ·±ãèªãããšã§ãã ããã«é¢ããå€ãã®èšäºãã€ã³ã¿ãŒãããäžã«ãããŸãã
Arduinoãã¡ããªãŒã®ã©ã®ããŒããéžæããŸããïŒ
ç§ã¯Arduino UNOãããã«ã€ããŠã®èª¬æãå«ãå€ãã®ãããžã§ã¯ããåãäžããŸããã ããããä»ã¯Arduino Mega 2560ã䜿çšããŸããããã«ã¯ãããžã¿ã«åºåãšã¢ããã°åºåãå€ããUNOãšã®ãããžã§ã¯ãã§å®å šãªäºææ§ããããŸãã
ãããžã§ã¯ãã®äžè¬çãªèª¬æ
ãœãããŠã§ã¢éçºã®äžçã§ã¯ãããã¯ãã·ã¹ãã èŠä»¶ããšãåŒã°ããŸãã
ãããžã§ã¯ãã®ã¢ã€ãã¢ã¯æ¬¡ã®ãšããã§ããã RoboCar4WãšåŒã°ãããããããã·ã³ã®æåã®ããŒãžã§ã³ã¯ãåçŽãªã¢ã¯ã·ã§ã³ãå®è¡ããå¿ èŠããããŸãã
- åé²ãåŸéãã¿ãŒã³ãè¡ã
- é害ç©ãŸã§ã®è·é¢ã枬å®ãã
- åæ¹ã®é害ç©ãèªåçã«åé¿ã§ããããã«ããŸãã
ãã·ã³ã®2çªç®ã®ããŒãžã§ã³ã¯ãAndroidã¹ããŒããã©ã³ããBluetoothçµç±ã§æåã§å¶åŸ¡ããå¿ èŠããããŸãã
ããã§äœæ¥ããæ¹ãããã®ã¯ãæçµçãªRoboCar4Wãããžã§ã¯ãå šäœã§ãïŒããã§ã¯bluetoothãªãïŒã
ãããæµ·äžè©Šéšã®ãããªã§ãã
æåã®ãããªã§ã¯ãRoboCar4Wã¯ããã¡ãŒã ãŠã§ã¢ãã®2ã€ã®ç°ãªãããŒãžã§ã³ã§é害ç©ãåé¿ããŠèªåçã«é転ããŸãã ãããã£ãŠã誰ããæãç±å¿ã§ãç°ãªããšããœãŒãã§ã®ããããã®åäœããããã«ç°ãªãããšã«æ°ä»ããå Žåãã¹ã±ããããŸãã
2çªç®ã®ãããªã§ã¯ãRoboCar4Wã¯ãAndroidã®æºåž¯é»è©±ããBluetoothãä»ããŠããã©ã€ããŒããéä¿¡ããã³ãã³ãã®å©ããåããŠç§»åããŸãã ãBluetooth RC Carããé»è©±æ©ã«ã€ã³ã¹ããŒã«ãããŠããŸãã ããã«ãé害ç©ãæ£é¢ã«ããå Žåãããããã¯åæ¢ããŸãã äœãå©ãããšãã§ããŸããïŒãã ããã»ãŒãã¢ãŒããç¡å¹ã«ãããç§å¯ããã¿ã³ããããŸãïŒã
3çªç®ã®ãããªã§ã¯ãRoboCar4Wã¯äºåã«ããã°ã©ã ãããã¿ãŒã³ä»ããã¢ç§»åããã°ã©ã ã瀺ããŠããŸãã ãã¢ããã°ã©ã ã¯ãåãAndroidæºåž¯é»è©±ããã®ã³ãã³ãã§ã¢ã¯ãã£ãã«ãªããŸãã ããããã¯ãã°ããã®éãã ä¹ã£ãŠã¿ãŒã³ããŸãã
ã¢ãŒã·ã§ã³å¶åŸ¡ã¢ã«ãŽãªãºã
ãã®ã¡ãœããããé害ç©åé¿ã¢ã«ãŽãªãºã ããŸãã¯ããã¹æ€çŽ¢ããšåŒã¶ã®ã¯èª€ãã§ãã ãããã¯åå¥ã®æ°åŠã®åéãçŽç²ãªæ°åŠã§ãã ããªããæ¬åœã«æ¬åœã«æ°åŠã奜ããªãããããã®ãã¬ãŒãºãã°ãŒã°ã«ã§æ€çŽ¢ãããšã6ã¶æéèªæžãæäŸãããŸãã
ãããŸã§ã®éãç§ãã¡ã¯ãã£ãšç°¡åãªããšã«èå³ãæã£ãŠããŸãã ãããã£ãŠã4茪ããããã®åããå¶åŸ¡ããããã®ã¢ã«ãŽãªãºã ãšåŒã°ããŸãã ãã¡ããã人éã®ä»å ¥ãªãã®èªåå¶åŸ¡ã«ã€ããŠè©±ããŠããã
åèªã§èšè¿°ããããã®åçŽãªã¢ã«ãŽãªãºã ã¯æ¬¡ã®ãšããã§ããããè€éãªã¢ã«ãŽãªãºã ã§ã¯ããããã¯å³ãäœæããå¿ èŠããããŸãïŒå¿ èŠãã©ããã¯é¢ä¿ãããŸããïŒã
åæã«ãã¹ã±ããRoboCar4W-1.inoã®ãœãŒã¹ã³ãŒããèŠãŠãã ãã ã
- åæ¹ã®é害ç©ãŸã§ã®è·é¢ã枬å®ããŸãã
- ãã®æž¬å®ãããè·é¢ã
DST_TRH_BACK
å€ïŒè·é¢ã®ãããå€ã®çãïŒãããå°ããå Žåã¯ã忢ããæåäžã«éæ¹åã«é²ã¿ãŸãã å転æ¹åã¯æ¬¡ã®ããã«éžæãããŸãã以åã«å·Šã«æ²ãã£ãå Žåã¯ãå³ã«æ²ãããŸãã - 枬å®ãããè·é¢ã
DST_TRH_BACK
ãã倧ãããDST_TRH_BACK
ããå°ããå Žåã¯ãåã«å転ããŸãã å転æ¹åã¯ã©ã³ãã ã«éžæãããŸãã - é害ç©ãé ãå Žåã¯ãå ã«é²ã¿ãŸãã
- ããäžåºŠç¹°ãè¿ããŸãã
4ã€ã®è»èŒªãšå茪é§åãåããŠããã®ã¯äœãè¯ãã§ããïŒ ããã€ãã®çš®é¡ã®ã¿ãŒã³ãå®è¡ïŒããã°ã©ã ïŒã§ããŸãã
- ã¹ã ãŒãºãªå転ã ãã¹ãŠã®è»èŒªãå転ããŸãããçåŽã®è»èŒªã¯ããéãå転ããŸãã
- æ¥æåã è»èŒªã¯çåŽã ãã§å転ããŸãã
- æå®ã®äœçœ®ã«Uã¿ãŒã³ã ãã©ã¯ã¿ãŒã®ããã«ãäžæ¹ã®è»èŒªã¯åŸæ¹ã«ãããäžæ¹ã®è»èŒªã¯åæ¹ã«å転ããŸãã
ããã°ã©ã ã®2çªç®ã®ããŒãžã§ã³ã§ã¯ãAndroidã¹ããŒããã©ã³ããå¶åŸ¡ããå Žåãããã°ã©ã ã2åæŒããããšããããããæ£é¢è¡çªã鲿¢ããããšããã»ãŒãã¢ãŒãããªãã«ã§ããŸãã
äžåºŠæŒããšå ã«æ»ããŸãã
éèŠãªæ³šæäºé ã ãã¹ãŠã®ããžãã¯ã¯Arduinoã®å¶åŸ¡äžã«ãããŸãã ããã§ã®Androidã¯ãã³ã³ãœãŒã«ããïŒè³ã®ãªãïŒã²ãŒã ã³ã³ãœãŒã«ã®ããã«åäœãããã®ã¿ã¹ã¯ã¯Bluetoothãä»ããŠArduino RoboCar4Wã«ãã¿ã³ã®æŒäžïŒã€ãŸãã³ãã³ãïŒãæãã«éä¿¡ããããšã§ãã
ã³ã³ããŒãã³ã
åœåãæ©æ¢°ã«ã¯ã3æ¹åã®æž¬å®ã®ããã«è¶ 鳿³¢è·é¢èšãç¹å®ã®è§åºŠã«å転ããããµãŒããã©ã€ããå«ãŸããŠããŸããã ãããããã¹ãäžãäžæ³šæãªåãæ±ãã®ããããµãŒããã©ã€ããçŒæãããããè·é¢ã»ã³ãµãŒã¯åçŽã«ã±ãŒã¹ã®åã«ãã£ãããšåºå®ãããŠããŸãã
éè²ã®è£å°ã¯ãããŸããããã¹ã±ããã¯å°ãç°¡åã«ãªããŸããã
å°æ¥çã«ã¯ãæãã·ã³ãã«ã§å®äŸ¡ãªãµãŒããè³Œå ¥ããŸããç¹å®ã®è§åºŠã§ã®ç¹å¥ãªãã¯ãŒãé床ãå転粟床ã¯å¿ èŠãããŸããããµãŒããç¡å¹ã«ãªãã®ã¯ç°¡åã§ãã SG90ã¯2ãã«ã®äŸ¡å€ããããŸãã
ãã®ãããRoboCar4Wãããžã§ã¯ãã®ã³ã³ããŒãã³ãã¯ãebayãªã©ã§ã®æ€çŽ¢ã容æã«ããããã«è±èªã§èª¬æãããŠããŸãã
- Arduino UNO R3
- æ¢è£œã®ã·ã£ãŒã·4茪é§åã¢ãã€ã«ãããããã©ãããã©ãŒã ã¹ããŒãã«ãŒã·ã£ãŒã·Arduinoäºæ
- äž¡æ¹åã«å転ããDCã¢ãŒã¿ãŒ-4å
- ãã€ãŒã«-4å
- 4ã€ã®DCã¢ãŒã¿ãŒãå¶åŸ¡ããããã®ããŒãã¢ãŒã¿ãŒãã©ã€ãã·ãŒã«ãL293D
- è¶ é³æ³¢è·é¢èšHC-SR04è¶ é³æ³¢ã¢ãžã¥ãŒã«è·é¢æž¬å®ã»ã³ãµãŒ
- ããããªãŒNi-MH 1.2 V-8 pcsã
- ããããªãŒçšãã©ã¹ããã¯è£œããã¯ã¹ãã«ããŒãããããªãŒããã¯ã¹ãã«ããŒ4 AAããããªãŒ-2åã
- ããããªãŒã¿ã€ããKronaã8.4 V-1å
- ãªãã·ã§ã³ã®ãã°ã«ã¹ã€ãã-黿ºã¹ã€ãã
ã·ã£ãŒã·ãDCã¢ãŒã¿ãŒããã€ãŒã«ã¯ãããã«å«ãŸããŠãããçµã¿ç«ãŠèª¬ææžãå«ããŠããã«è³Œå ¥ããŸããã
ãã³é å
ã¢ããã°å ¥åã¯ãI / OããŒãã®ããžã¿ã«ãã³ãšããŠäœ¿çšã§ããŸãã ã¢ããã°å ¥åã«å¯Ÿå¿ããArduinoãã³ã«ã¯14ã19ã®çªå·ãä»ããããŠããŸããããã¯Arduinoãã³ã«ã®ã¿é©çšãããAtmegaãã€ã¯ãã³ã³ãããŒã©ãŒã®ç©çãã³çªå·ã«ã¯é©çšãããŸããã
çµµãæãå¿ èŠã¯ãããŸããããã¹ãŠãããŒãã«ã«å ¥ããã ãã§ãã ç§ã¯ãã®ããã«ããŸããã
DCã¢ãŒã¿ãŒãŸãã¯ã¹ãããã¢ãŒã¿ãŒã䜿çšãããŠããå Žåããã³D4ãD7ãD8ãD12ã¯ããžãŒã«ãªããŸãã
ãã³D9ïŒãµãŒãïŒ1å¶åŸ¡ïŒãD10ïŒãµãŒãïŒ2å¶åŸ¡ïŒã¯ããµãŒãã¢ãŒã¿ãŒã䜿çšãããŠããå Žåã«ã®ã¿å æãããŸãã
Arduinoãã³ã¯ãã¢ãŒã¿ãŒãã©ã€ãã·ãŒã«ãL293Dãå¶åŸ¡ããããã®Arduinoãã³ãå æããŸããã
黿ºãã³3.3 Vã5 Vãããã³ã°ã©ã³ãã¯ãååãªéã§ã¢ãŒã¿ãŒãã©ã€ãã·ãŒã«ãã«è€è£œãããŸãã ãããã£ãŠã圌ãã®äžè¶³ãå¿é ããå¿ èŠã¯ãããŸããã
ããã§ãçŸããæç»ãããå Žåã¯ãç¡æã®Fritzingããã°ã©ã ã圹ç«ã¡ãŸãã
æ é€
ããã2çªç®ã®éåžžã«éèŠãªãã€ã³ãã§ãã å€ãã¯æ é€ã«äŸåããŸãã ããšãã°ãç¹å®ã®è§åºŠã§ã·ã£ãããå転ããããšããµãŒãã¢ãŒã¿ãŒã¯å€ãã®é»æµãæ¶è²»ãå§ããŸãã åæã«ããµãŒãã5 V Arduinoã§é§åãããŠããå Žåãé»å§ã«ãäœäžããçããåè·¯ã®æ®ãã®éšåãæ éãå§ããArduinoã¯åæã«åèµ·åããããšããã§ããŸãã
ãããã«ãããã¯ã©ããã§ã¢ãŒã¿ãŒã䜿çšããå Žåã¯ãã¢ãŒã¿ãŒãã©ã€ãã·ãŒã«ãïŒãŸãã¯åæ§ã®åè·¯ïŒãå¿ èŠã§ãã
ãããã£ãŠã4ã€ã®DCã¢ãŒã¿ãŒããµãŒããã©ã€ããArduinoããŒãèªäœãããã³ããã€ãã®ã»ã³ãµãŒããããŸãã ã¢ãŒã¿ãŒã¯æãé£ãããåã§ãããã»ã³ãµãŒã¯ArduinoããŒãèªäœã®ã³ãã¯ã¿ããæ£åžžã«é»åãäŸçµŠã§ããããããã¹ãŠãã·ã³ãã«ã§ãã 䟿å®äžã1ã€ã®è¡šã§çµæžå šäœãåæžããŸããã
æšå¥šãŸãã¯æšæºé»å§ã æ¶è²»é»æµ | æå€§é»å§ | 絊é€äºå® | 泚é | |
---|---|---|---|---|
Arduino UNO R3ããŒã | 7-12Vã200mAïŒå¹³åïŒ | 6-20 | ãã¯ããŒã9VããªããŠã ã€ãªã³650mAhã8.4V | ã»ã³ã¿ãŒã³ãã¯ã¿ |
ãµãŒãã¢ãŒã¿ãŒMG-995 | 5-6 Vã0.1-0.3AïŒããŒã¯ïŒ | 4.8-7.2 | ããããªãŒïŒ5ïŒå Ni-Mh 1.2V = 6V | å¥ã®ãœãŒã¹ããã®ã¿ã®é£åã Arduinoãšãšãã«é»æºãæå ¥ãããšããã¹ãŠã倱æããŸãã 4æ¬ã®Ni-MhããããªãŒé»å§ * 1.2V = 4.8Vã§ã¯äžååã§ãã ãã®ãµãŒãã¯6ãã«ãã§ã®ã¿äœ¿çšãã¹ãã§ã¯ãªããšäž»åŒµãã人ãããŸã4.8 |
DCã¢ãŒã¿ãŒïŒ4åïŒ | 6-8Vã黿µ70mAãã250mA | 3-12 | ããããªãŒïŒ5 + 3ïŒå Ni-Mh 1.2V = 9.6V | éåžžã®9VããããªãŒãããšã³ãžã³ãå§åããããšã¯ã§ããªããããæéïŒããã³ããããªãŒïŒãç¡é§ã«ããªãã§ãã ããïŒ |
ã¢ãŒã¿ãŒé§åã·ãŒã«ãL293D | äžèŠ | 4.5-36 | äžèŠ | |
Bluetoothã¢ãžã¥ãŒã«HC-0506 | 3.3 Vã50 mA | 1.8-3.6 | ãã³3.3V ArduinoããŒãä»ã | |
è¶ é³æ³¢è·é¢èšHC-SR04 | 5 Vã2 mA | 5 | ãã³5V ArduinoããŒãä»ã |
ç§ã¯DC / DCé»å§ã³ã³ããŒã¿ãæã£ãŠããŸããã§ããã Krona 9Vã¯ããŸãè¯ã黿ºã§ã¯ãããŸããã§ããããã§ã«æã£ãŠããŸããã
ããããç§ã¯ãªããŠã ã€ãªã³å€§å®¹éããããªãŒã®äœ¿çšãæåŠããŸããã 第äžã«ãã³ã¹ããé«ãããã第äºã«ãäžåœã®ãªã³ã©ã€ã³ã·ã§ããã³ã°ã§ã¯åœç©ã«é¥ããããã ããæ£ç¢ºã«ã¯ããç°¡åãã§ã¯ãªããåžžã«ãã§ãã ããã«ããªããŠã ã€ãªã³ã¯ç¹å¥ãªåãæ±ããå¿ èŠã§ãããå®å šã§ã¯ãããŸããã
ãããã£ãŠã衚ãããããããã«ã3ã€ã®ç¬ç«ãã黿ºãå¿ èŠã§ãã
- ArduinoããŒãããã³ã»ã³ãµãŒçšã
- ãµãŒãã¢ãŒã¿ãŒçšã
- 4ã€ã®DCã¢ãŒã¿ãŒçšã
ã©ãã§å ¥æã§ããŸããïŒ ãããã«ãããArduinoããŒãèªäœã¯å¥ã®é»æºããé»åãäŸçµŠãããå¿ èŠããããŸãã ããšãã°ãã¢ãŒã¿ãŒã®é»æºãå ¥ãããšãã«é»å§ããäœäžãããå ŽåãããŒããåèµ·åããããåã«æ éããå¯èœæ§ããããŸãã ããã§ã¯ãKrona 9Vãã©ãŒã ãã¡ã¯ã¿ãŒã®ããããªãŒã䜿çšããŠãããArduinoã«æ¥ç¶ããã³ãã¯ã¿ãŒã¯ãäžå¿ã«ãã©ã¹ããä»ããŠããå¿ èŠããããŸãã
ãµãŒãã¢ãŒã¿ãŒãš4ã€ã®DCã¢ãŒã¿ãŒã®å Žåã1ã€ã®é»æºã§å®è¡ã§ããŸãã å¯äžã®åé¡ã¯ããµãŒãã¢ãŒã¿ãŒãé»å§5ã6VïŒæå€§7.2VïŒããã³é»æµ100ã300mAïŒããŒã¯ïŒçšã«èšèšãããŠãããDCã¢ãŒã¿ãŒã6ã8VïŒæå€§12VïŒããã³é»æµ250mAãå¿ èŠãšããããšã§ãã
åé¡ã解決ããããã«ãDC-DCã³ã³ããŒã¿ãŒããããŸãããç§ã¯ãã®ãããªãã®ãæã£ãŠããŸããã§ããã ãã®çµæããç¬èªã®ãé ç·å³ãé©çšããŸããïŒã¹ãããããŠã³é»ååè·¯ãªãã§ãç°å¢ã«åªããé»å§ãšé»æµã®ã¿ïŒïŒïŒ8忥ç¶ããŸããã å³ã«ç€ºãããã«ãçŽåã®1.2VããããªãŒãšæ£ããå Žæã«ã¿ãããäœæããŸããã
6Vã¯ãµãŒãã¢ãŒã¿ãŒã«è¡ãã9.6ã¯DCã¢ãŒã¿ãŒã«è¡ããŸããã ããããªãŒ1ã5ã®è² è·ãå¢å ããããšã¯æããã§ãã
ãµãŒãã¢ãŒã¿ãŒãšDCã¢ãŒã¿ãŒãå¶åŸ¡ããããã«ãL293Dãããã«åºã¥ã4ãã£ã³ãã«ã®ã¢ãŒã¿ãŒãã©ã€ãã·ãŒã«ãã䜿çšããŸããã
çµç«
宿ããã·ã£ãŒã·ã®çµã¿ç«ãŠã¯å°ããªåé¡ã§ãã ãããããã¹ãŠãå®äºããããšãªãããã«éãŸããšã¯æããªãã§ãã ããã ãããã£ãŠããã¡ã€ã«ãæºåããŸãã
éåžžãè€æ°ã®ã¢ãŒã¿ãŒããµãŒãã¢ãŒã¿ãŒããŸãã¯ã¹ããããŒãArduinoã«çŽæ¥æ¥ç¶ããããšã¯ã§ããŸããã Arduinoã®ãã³ïŒçµè«ïŒã¯äœé»æµã§ãã ãã®åé¡ã解決ããããã«ã远å ã®ãã©ã€ãå¶åŸ¡ã¢ãžã¥ãŒã«ããããŸã-L293Dãããã«åºã¥ãã¢ãŒã¿ãŒãã©ã€ãã·ãŒã«ãã¯ããã®ç®çã®ããã«èšèšãããæãäžè¬çãªãããã®1ã€ã§ãã L293Dãããã¯ãHããªããžãšããŠãç¥ãããŠããŸãã
2ã€ã®L293Dããããšã·ããã¬ãžã¹ã¿ã«æ¥ç¶ããããã®4ã€ã®ãã£ãã«ãæäŸããããŒãã䜿çšããŸããã eBayã§5ãã«ã§è³Œå ¥ã
ãã®ãã©ã€ãå¶åŸ¡ã¢ãžã¥ãŒã«ããŒãã«ã¯æ¬¡ã®ç¹åŸŽããããŸãã
- Arduino Mega 1280ããã³2560ãUNOãDuemilanoveãDiecimilaãšäºææ§ã®ããL293Dã¢ãŒã¿ãŒãã©ã€ãã·ãŒã«ã
- 4ãã£ã³ãã«å¶åŸ¡
- 4.5Vã36Vã®é»åã¢ãŒã¿ãŒ
- ãã£ã³ãã«ãããã®èš±å®¹è² è·é»æµ600mAãããŒã¯é»æµ-1.2A
- éç±ä¿è·
- ãµãŒãã¢ãŒã¿ãŒã5Vã®é»å§ã«æ¥ç¶ããããã®æ£ç¢ºãªArduinoã¿ã€ããŒïŒããžãã¿ãŒãã¯ãããŸããïŒãšã®2ã€ã®ã€ã³ã¿ãŒãã§ãŒã¹ãäŸçµŠé»å§ãããé«ãããå¿ èŠãããå Žåã¯ã以äžã«èª¬æããããã«é»æºæ¥ç¶ãããçŽãå¿ èŠããããŸã
- 4ã€ã®åæ¹åDCã³ã¬ã¯ã¿ãŒã¢ãŒã¿ãŒãŸãã¯2ã€ã®ã¹ããããŒãš2ã€ã®ãµãŒãã¢ãŒã¿ãŒãåæã«å¶åŸ¡ã§ããŸã
- 4ã€ã®åæ¹åDCã¢ãŒã¿ãŒã¯ãããããåå¥ã®éåºŠéžæã®ããã«8ããããã¹ã«æ¥ç¶ãããŠããŸã
- 1ã€ã®ã³ã€ã«ã2ã€ã®ã³ã€ã«ããŸãã¯äº€äºã®ã¹ããããåãããæå€§2ã¹ãããã®ãã©ã€ãïŒãŠãããŒã©ãŸãã¯ãã€ããŒã©ïŒã®æ¥ç¶
- å¶åŸ¡ããžãã¯ãšã¢ãŒã¿ãŒã®åå¥ã®é»æºçšã®å€éšãœãŒã¹ãæ¥ç¶ããããã®ã³ãã¯ã¿
- Arduinoãã¿ã³ã®ãªã»ãã
- Adafruit AFMotorã©ã€ãã©ãªã¯ç®¡çã«äœ¿çšãããŸãã
ã¢ãŒã¿ãŒãã©ã€ãã·ãŒã«ãã«ã¯ãåŸããäœã§ãæ¥ç¶ã§ããããã«å°ãæ¹è¯ããå¿ èŠããããŸãã å¿ èŠãªã³ãã¯ã¿ãäžéšã«ã¯ãã ä»ãããŸããããããäœãèµ·ãã£ããã§ãã
ã¢ãŒã¿ãŒã¯ãArduinoããŒãã«å¯ŸããŠè¿œå ã®é»æºã«æ¥ç¶ã§ããŸãã ãã®æ¥ç¶æ¹æ³ããå§ãããŸãã ãããè¡ãã«ã¯ãå³ã«ç€ºãããã«ãžã£ã³ããŒãåãå€ããŠéããŸãã
ãã®å ŽåãArduinoã«é»åãäŸçµŠãããã¢ãŒã¿ãŒã¯äºãã«ç¬ç«ããŠé»åãäŸçµŠãããŸãã
ã¢ãŒã¿ãŒã«é»åãäŸçµŠãããŠããå Žåãã¢ãŒã¿ãŒã·ãŒã«ãã®LEDãç¹ç¯ããŸããç¹ç¯ããŠããªãå Žåãã¢ãŒã¿ãŒã¯åäœããŸããã
æ°ããåé¡ã
ãã¯ãŒãžã£ã³ããŒã®äœçœ®ã¯ãµãŒãã«ã¯é©çšãããŸããããµãŒãã¯5V Arduinoã§é§åãããŸãã ãµãŒãã¢ãŒã¿ãŒã¯éåžžå€ãã®é»æµãæ¶è²»ããé»åãäžååãªå Žåãããã€ã¹å šäœãæ éãå§ããŸãããæè¯ãã®å ŽåããµãŒããã©ã€ãã®ã¿ãæ éããŸã-æå®ã®è§åºŠã§å転ããªãããåã¿ãŒã³ãæåã«0床ã«ãªãåã«åžžã«å転ããŸãäžããããè§åºŠã§ïŒãããŠããªãã远ãã€ãããšãã§ãããªãïŒã ãã®ããã远å ã®é»æºããããµãŒãã«é»åãäŸçµŠããããšããå§ãããŸãã ãããè¡ãã«ã¯ãæ¥ç¶å³ããããã«ããçŽãå¿ èŠããããŸããæšæºã³ãã¯ã¿ãããã©ã¹ç·ïŒéåžžã¯èµ€ïŒãåã¿ã黿ºã®ãã©ã¹ã«çŽæ¥æ¥ç¶ããŸãã
ã¢ãŒã¿ãŒãã©ã€ãã·ãŒã«ããæ¥ç¶ããå Žåãã¢ããã°ãã³ã¯äœ¿çšãããŸããã ããžã¿ã«ãã³2ã13ã¯äœ¿çšãããŸããã
次ã®ãã³ã¯ã察å¿ããDCã¢ãŒã¿ãŒãŸãã¯ã¹ãããã³ã°ã¢ãŒã¿ãŒãæ¥ç¶ãããŠäœ¿çšãããŠããå Žåã«ã®ã¿äœ¿çšãããŸãã
- D11ïŒDCã¢ãŒã¿ãŒïŒ1 /ã¹ããããŒïŒ1ïŒèµ·åãšé床å¶åŸ¡ïŒ
- D3ïŒDCã¢ãŒã¿ãŒïŒ2 /ã¹ããããŒïŒ1ïŒèµ·åãšé床å¶åŸ¡ïŒ
- D5ïŒDCã¢ãŒã¿ãŒïŒ3 /ã¹ããããŒïŒ2ïŒèµ·åãšé床å¶åŸ¡ïŒ
- D6ïŒDCã¢ãŒã¿ãŒïŒ4 /ã¹ããããŒïŒ2ïŒèµ·åãšé床å¶åŸ¡ïŒ
DC /ã¹ããããŒã䜿çšãããŠããå Žåããããã®ãã³ã¯ããžãŒã«ãªããŸãïŒD4ãD7ãD8ãD12ã
次ã®ãã³ã¯ãé©åãªãµãŒãã¢ãŒã¿ãŒã䜿çšãããŠããå Žåã«ã®ã¿äœ¿çšãããŸãã
- D9ïŒãµãŒãïŒ1ã³ã³ãããŒã«
- D10ïŒãµãŒãïŒ2ã³ã³ãããŒã«
Motor Drive Shieldãéå§ããã«ã¯ã Adafruit AFMotorã©ã€ãã©ãªãããŠã³ããŒãããŠã€ã³ã¹ããŒã«ããå¿ èŠããããŸãã
ã¢ãŒã¿ãŒãå¶åŸ¡ããããã®ãµã³ãã«ã³ãŒãïŒ
#include <AFMotor.h> // Adafruit #include <Servo.h> // AF_DCMotor motor(1); // , DC Motor Shiled , , frequency Servo servo; // servo.attach(10); // 9 10 ( Motor Shiled) motor.setSpeed(speed); // DC 0 () 255 ( ) motor.run(RELEASE); // DC motor.run(FORWARD); // DC motor.run(BACKWARD); // DC servo.write(90); // 90 .
DCã¢ãŒã¿ãŒãå転ãéå§ããã®ã¯ã100ãè¶ ããé床ã瀺ãããšãã ãã§ãããããããããå°ããå Žåã¯ããã é³ãããŸããã ã¢ãŒã¿ãŒã®æäœé床ãå®éšçã«æ±ºå®ããå¿ èŠããããŸãã
M1ããã³M2ã«æ¥ç¶ãããŠããã¢ãŒã¿ãŒã®å Žåãåšæ³¢æ°ãèšå®ã§ããŸãïŒMOTOR12_64KHZãMOTOR12_8KHZãMOTOR12_2KHZãMOTOR12_1KHZã æé«ã®å転é床ã¯64KHzã§éæãããŸãããã®åšæ³¢æ°ã¯èãããŸããã1KHzã§ã¯åšæ³¢æ°ãšé床ãäœããªããŸããããšãã«ã®ãŒæ¶è²»ãå°ãªããªããŸãã ã¢ãŒã¿ãŒ3ããã³4ã¯åžžã«1KHzã§åäœããä»ã®å€ã¯ç¡èŠãããŸãã ããã©ã«ãã¯ã©ãã§ã1KHzã§ãã
ãã®åŸãã¢ãŒã¿ãŒã®ãã¹ããå®è¡ããå¿ èŠããããŸãã ãã¹ãçšã®ã¹ã±ããã¯ãã¡ãããå ¥æã§ããŸã ã ã¹ã±ããã®æåã«ãã¿ã€ãã®è¡ïŒãŸãã¯è¡ïŒã§ã¢ãŒã¿ãŒçªå·ã倿ŽããŸãã
AF_DCMotor motor(âŠ);
ãã°ããã¹ã±ãããããšãããããã®åãã«æ²¿ã£ãŠã¢ãŒã¿ãŒãåæ¹ã«å転ãããã®åŸã«æ»ããŸãã ã¢ãŒã¿ãŒããã®æ¹åã«å転ãããã©ãããæ³šææ·±ã確èªããå¿ èŠã«å¿ããŠæ¥ç¶ã®æ¥µæ§ã倿ŽããŸãã
è¶ é³æ³¢è·é¢èšHC-SR04è¶ é³æ³¢ã¢ãžã¥ãŒã«ãæ¥ç¶ããŸãã ãã³é åïŒ
- Vcc
- ããªã¬ãŒïŒTïŒ
- ãšã³ãŒïŒrïŒ
- GND
è¶ é³æ³¢è·é¢èšã枬å®ã«è²»ãããæéïŒå®éšçã«æ±ºå®ïŒïŒ
- è·é¢ãé·ãããå ŽåïŒç¯å²å€ïŒã¯æå€§240ããªç§
- è·é¢ãçãããå Žåã¯å°ãªããšã1 ms
- 1.5 mã®è·é¢ã¯çŽ10 msã§æ±ºå®ãããŸã
è¶ é³æ³¢è·é¢èšã»ã³ãµãŒã¯ããã®ç©ççæ§è³ªã«ãããã®ã§ãããäžåœã§ã¯ãªããããé害ç©ãŸã§ã®è·é¢ãååã«å€æã§ããªãå ŽåããããŸãã
- é害ç©ã®åœ¢ç¶ãè€éãªå Žåãè¶ é³æ³¢ã¯ããŸããŸãªè§åºŠã§åå°ãããã»ã³ãµãŒã¯ééã£ãŠããŸãã
- è¶ é³æ³¢ã¯åžåŒµãã®å®¶å ·ãããã¡ãã«ãã£ãŠå®å šã«åžåãããŸãïŒã€ãŸããåå°ãããŸããïŒãã»ã³ãµãŒã¯ããã®åã«äœããªããšèããŠããŸãã
èšãæããã°ãè¶ é³æ³¢è·é¢èšã®å Žåããã¹ãŠã®é害ç©ãè¶ é³æ³¢æŸå°ã®æ¹åã«åçŽãªåºäœå¹³é¢ã®åœ¢ã§ãããšçæ³çã§ãã
äžéšã®åé¡ã¯ãèµ€å€ç·è·é¢ã»ã³ãµãŒã§è§£æ±ºã§ããŸãã ãããããããå®ç§ã§ã¯ãããŸããïŒ
- è¶ é³æ³¢ãšæ¯èŒããŠå°ããªæå€§ç¯å²ïŒ0.3 mãã0.8 m察4 m
- è¶ é³æ³¢ã«æ¯ã¹ãŠé·ãæå°è·é¢ïŒ10 cm察2 cm
- ã»ã³ãµãŒã®æåºŠã®å šäœçãªç §æãžã®äŸåã
ãããã®ã¬ã³ãžãã¡ã€ã³ããŒããã¢ã§ã€ã³ã¹ããŒã«ãããšãäœæ¥ã®å¹çãå€§å¹ ã«åäžããŸãã
Bluetooth HC-05ãæ¥ç¶ãã
ããŒã¿ã·ãŒããããããããã«ãã裞ã®ãHC-05ã®ã¡ã€ã³ãã³ïŒ
- TXïŒãã³1ïŒäŒé
- RXïŒãã³2ïŒåä¿¡
- 3.3VïŒãã³12ïŒé»æº3.3V
- GNDïŒãã³13ïŒã°ã©ã³ã
- PIO8ïŒãã³31ïŒã¢ãŒãã€ã³ãžã±ãŒã¿ãŒ
- PIO9ïŒãã³32ïŒæ¥ç¶ã¹ããŒã¿ã¹ãæ¥ç¶ã確ç«ããããšãåºåã¯é«ããªããŸã
- ATã³ãã³ãã¢ãŒããæå¹ã«ããPIO11ïŒãã³34ïŒ
ã¢ãžã¥ãŒã«ã¯åå§åšãæ¢ã«ãããã¬ãŒã¯ã¢ãŠã/ããŒã¹ããŒãã«ã¯ãã ä»ããããŠããããã3.3Vã6Vã®åäœé»å§ç¯å²ãæã£ãŠããŸãã
Bluetoothã¢ãžã¥ãŒã«ã¢ã»ã³ããªãæ¥ç¶ããŸãã
- ArduinoïŒTXïŒ-ïŒRXïŒHC-05
- ArduinoïŒRXïŒ-ïŒTXïŒHC-05
- ArduinoïŒ+ 5VïŒ-ïŒVCCïŒBluetooth
- ArduinoïŒGNDïŒ-ïŒGNDïŒBluetooth
- LEDãKEYãã³ã¯äœ¿çšãããŠããŸãã
Bluetooth HC-05ã¢ãžã¥ãŒã«ã«é»æºãäŸçµŠããããšãLEDãç¹æ» ããŸããããã¯ãBluetoothãæ©èœããŠããããšãæå³ããŸãã
ã¢ãã€ã«ã§Bluetoothããªã³ã«ããHC-05ãšããååã®ããã€ã¹ãèŠã€ããŠããã¹ã¯ãŒã1234ãæ¥ç¶ããŸãã
ãã¹ãã®ããã«ãArduinoã§ç°¡åãªã¹ã±ãããèšå ¥ããŸãã
int count = 0; void setup() { Serial.begin(9600); Serial.println("Test Arduino + Bluetooth. http://localhost"); } void loop() { count++; Serial.print("Count = "); Serial.println(count); delay(1000); }
Androidãã©ã³ã§ãBluetoothã¿ãŒããã«ãã€ã³ã¹ããŒã«ããŸãã ç§ãã¡ã¯HC-05ããã€ã¹ã«æ¥ç¶ãããŠãããã«ãŠã³ã¿ãŒã®å¢å ãšãšãã«é»è©±ã¹ã¯ãªãŒã³ã®ã¯ãªãŒãã©ã€ã³ã芳å¯ããŠããŸãã
ã¢ãžã¥ãŒã«ãATã³ãã³ããåä¿¡ã§ããããã«ãé©åãªã¢ãŒãã«ããå¿ èŠããããŸã-ãããè¡ãã«ã¯ãKEYåºåïŒPIO11ïŒãè«ç1ã«èšå®ããŸããäžéšã®Breakout / Base Boardã§ã¯ãKEYåºåã®ä»£ããã«ãENïŒENABLEïŒåºåããããŸãããããèªäœã®ãã³ã«ã¯ãã ä»ãã ããã¯ãHC05ãããã«ã®ã¿é©çšãããŸãã ããã¯ã¡ããã©ç§ã®EN端ååºåãã©ãã«ãã¯ãã ä»ããããŠããªããšããããšã§ãã ãããã£ãŠããããã®ç«¯åKEYïŒPIO11ïŒã«å¥ã®ã¯ã€ã€ã§ã¯ãã ä»ãã§ããŸãã ãŸãã¯ãæäœäžã«HC05ãATã³ãã³ãã¢ãŒãã«ããã«ã¯ãKEYãããïŒPIO11ïŒã®åºåãVcc黿ºåºåã«æ°ç§éç絡ãããŸãã HC06ã®å ŽåãKEYãã³ã¯å¿ èŠãããŸããã
ãœãããŠã§ã¢
ãæ³šæ Arduinoã«ããã°ã©ã ãããŠã³ããŒãããåã«æ¯åãBluetoothã¢ãžã¥ãŒã«ãArduinoã«æ¥ç¶ãããŠããªãããšã確èªããŠãã ããã ããã«ãããã¹ã±ããå¡ãã€ã¶ãã®åé¡ãçºçããŸãã Bluetoothã¢ãžã¥ãŒã«ãŸãã¯ArduinoãšRXãTXã¢ãžã¥ãŒã«ã®ãã³ãæ¥ç¶ããŠããã¯ã€ã€ãã黿ºãåæããã ãã§ãã
ã¹ã±ããã®æåã§ãã¿ã€ãã®è¡ã®ã¢ãŒã¿ãŒçªå·ã倿ŽããŸãã
AF_DCMotor motor(âŠ);
æååã眮ãæããå Žå
byte debug = 0;
ã«
byte debug = 10;
ããã«ããããããã°ã¢ãŒããæå¹ã«ãªããŸãã
ãããã°ã¢ãŒãã§ã¯ãRoboCar4Wã¯å®éã«ã¯é§åããã€ãŒã«ãããŸããã 代ããã«ãã·ãªã¢ã«ããŒãã¢ãã¿ãŒãã¢ã¯ãã£ãã«ãããšãä»®æ³ã¢ãã¿ãŒãã©ã®ããã«ãé§åãããããããããŸãã å®éã«åé²ãã代ããã«ããForwardããšããæååãã·ãªã¢ã«ããŒãã¢ãã¿ãŒã«æžã蟌ãŸããå·Šã«æ²ãã£ãŠãTurn Back LïŒeftïŒããªã©ã®ããã«å転ããŸãã è¶ é³æ³¢è·é¢ã»ã³ãµãŒãäœãè¡ããŸããã代ããã«ãé害ç©ãŸã§ã®è·é¢ãããã°ã©ã ã§ã©ã³ãã ã«çæãããŸãã
ãã®ãããã°ã¢ãŒãã¯ãåãã®ã¢ã«ãŽãªãºã ã倿Žããéšå±ã®åšãã§ã¿ã€ãã©ã€ã¿ãŒãæãŸãã代ããã«ãã¢ã€ãã«ç¶æ ã§ãã¹ãŠããã§ãã¯ããå Žåã«äŸ¿å©ã§ãã
æåå¶åŸ¡çšã®Bluetoothã¹ã±ããã¯ãã¡ãããããŠã³ããŒãããŠãã ãã ã ã¹ã±ããã«ã¯ãã¹ãŠãééçã§ããããããããã°ã¢ãŒãããããŸããã ããªãã¯ãã¿ã³ãæŒã-ããããã¯è¡ãã
Adnroid Bluetooth RC Carã®ããã°ã©ã ã
ããŠãããã ãã§ãïŒ çŽ æµãªæ è¡ãïŒ