¥¢¥Õ¥£¥ê¥¨¥¤¥È¹­¹ð


¢£Blynk¤ÇArduino¤òÀ©¸æ¤¹¤ë

Blynk ¤È¤¤¤¦¥¢¥×¥ê¤ò»È¤Ã¤Æ¥¹¥Þ¥Û¤«¤é Arduino ¤òÀ©¸æ¤·¡¢L ¥Á¥«¤·¤Æ¤ß¤Þ¤·¤¿¡£

 

ËÜÍè¤Ï¥¤¡¼¥µ¥Í¥Ã¥È¥·¡¼¥ë¥É¤òÍøÍѤ·¤Æ¥¤¥ó¥¿¡¼¥Í¥Ã¥È¤ËÀܳ¤¹¤ë¤Î¤À¤½¤¦¤Ç¤¹¤¬¡¢º£²ó¤Ï Arduino ¤ò¥Ñ¥½¥³¥ó¤Ë USB Àܳ¤·¤¿¾õÂÖ¤ÇÀ©¸æ¤µ¤»¤Þ¤¹¡£

»²¹Í¤Ë¤µ¤»¤Æ¤¤¤¿¤À¤¤¤¿¥µ¥¤¥È¤Ï°Ê²¼¤Ç¤¹¡£¤¢¤ê¤¬¤È¤¦¤´¤¶¤¤¤Þ¤·¤¿¡£

 

Íç¤ÎArduino UNO¤ÇBlynk

Arduino over USB (no shield)

 

 

1. Blynk ¥¢¥×¥ê¤ÎÀßÄê

 

²¶¤Ï Android ¤Ê¤Î¤Ç¡¢Play ¥¹¥È¥¢¤«¤é Blynk ¥¢¥×¥ê¤ò¥¤¥ó¥¹¥È¡¼¥ë¡£

µ¯Æ°¤·¤¿¤é¤Þ¤º¥¢¥«¥¦¥ó¥È¤òºîÀ®¤·¤Þ¤¹¡£

¼¡¤Ë¿·¤·¤¤¥×¥í¥¸¥§¥¯¥È¤òºî¤ê¤Þ¤¹¡£¥Ç¥Ð¥¤¥¹¤Ï¡ÖArduino Nano¡×¡¢Àܳ¥¿¥¤¥×¤Ï¡ÖUSB¡×¤È¤·¤Æ¤ª¤­¤Þ¤¹¡£¥×¥í¥¸¥§¥¯¥È¤òºî¤ë¤È¥¢¥«¥¦¥ó¥È¤Î¥á¡¼¥ë¥¢¥É¥ì¥¹¤Ø¥È¡¼¥¯¥ó¤¬Á÷¤é¤ì¤Æ¤­¤Þ¤¹¡£¤³¤Î¥È¡¼¥¯¥ó¤¬À©¸æ¤¹¤ë Arduino ¤ò¼±Ê̤¹¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£

¥¦¥£¥¸¥§¥Ã¥È¤«¤é¥Ü¥¿¥ó¤òÁªÂò¤·¡¢¥¢¥¦¥È¥×¥Ã¥È¤ò¡ÖDigital D13¡×¡¢¥â¡¼¥É¤ò¡ÖSWITCH¡×¤È¤·¤Þ¤¹¡£

 

 

2. Arduino ¤ÎÀßÄê

 

GitHUB ¤«¤é blynk-library-master.zip ¤ò¥À¥¦¥ó¥í¡¼¥É¤·¡¢IDE ¤Î¡Ö.ZIP ·Á¼°¤Î¥é¥¤¥Ö¥é¥ê¤ò¥¤¥ó¥¹¥È¡¼¥ë¡×¤Ç¼è¤ê¹þ¤ß¤Þ¤¹¡£

¥µ¥ó¥×¥ë¥¹¥±¥Ã¥Á¤Ï /Arduino/libraries/blynk-library-master/examples/Boards_USB_Serial/ ¤Ë¤¢¤ë¡ÖArduino_Serial_USB¡×¤Ç¤¹¡£¤³¤ÎÃæ¤Î¡ÖYourAuthToken¡×¤òÁ÷¤é¤ì¤Æ¤­¤¿¥È¡¼¥¯¥ó¤Ë½ñ¤­´¹¤¨¤Æ¡¢Arduino ¤Ë½ñ¤­¹þ¤ß¤Þ¤¹¡£

 

 

3. ¥Ñ¥½¥³¥ó¤ÎÀßÄê

 

USB Àܳ¤Ç Arduino ¤òÀ©¸æ¤¹¤ë¤¿¤á¤Ë blynk-ser.sh ¤òµ¯Æ°¤µ¤»¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£blynk-ser.sh ¤Ï /Arduino/libraries/blynk-library-master/scripts ¤Ë¤¢¤ê¤Þ¤¹¡£

¤Þ¤º¤³¤ì¤Ë¼Â¹Ô¸¢¸Â¤òÍ¿¤¨¤Þ¤¹¡£

 

$ chmod +x blynk-ser.sh

 

¼Â¹Ô¤·¤Æ¤ß¤Þ¤¹¡£

 

$ ./blynk-ser.sh

This script uses socat utility, but could not find it.

  Try installing it using: sudo apt-get install socat

 

socat ¤¬¤Ê¤¤¤¾¤È¼¸¤é¤ì¤Þ¤·¤¿¡£¥¤¥ó¥¹¥È¡¼¥ë¤·¤Þ¤·¤ç¤¦¡£

 

$ sudo apt update

$ sudo apt install socat

 

¤â¤¦°ìÅÙ blynk-ser.sh ¤ò¼Â¹Ô¤·¤Æ¤ß¤Þ¤·¤ç¤¦¡£

 

$ ./blynk-ser.sh 
Resetting device /dev/ttyUSB0...
[ Press Ctrl+C to exit ]
Connecting: FILE:/dev/ttyUSB0, ........

        :

        :

 

¤³¤Î¾õÂ֤ǥ¹¥Þ¥Û¦¤Î Blynk ¥¢¥×¥ê¤«¤é¥×¥í¥¸¥§¥¯¥È¤òµ¯Æ°¤¹¤ë¤È¡¢¥Ü¥¿¥óÁàºî¤Ç Arduino ¤ÎÆâ¡ LED ¤òÅÀÌǤ¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤·¤¿¡£

blynk-ser.sh ¤Ï Ctrl+C ¤ÇÃæÃǤǤ­¤Þ¤¹¡£Arduino ¤Î¥¹¥±¥Ã¥Á¤ò½¤Àµ¤¹¤ë¾ì¹ç¤Ê¤É¤ÏÃæÃǤ·¤Æ¡¢USB ¤ò³«Êü¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£

 

¤Û¤ó¤È¤Î´ðËÜŪ¤Ê¤â¤Î¤Ç¤·¤¿¤¬¡¢¥¹¥Þ¥Û¤«¤éÀ©¸æ¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤ë¤È°ìÃÊ¤È IoT µ¡´ï¤é¤·¤¯¤Ê¤Ã¤Æ¤­¤Þ¤¹¤Í¡£

 


¢£Arduino ¥¹¥±¥Ã¥ÁÎã / State Change Detection

Arduino ¥¹¥±¥Ã¥ÁÎã¡ÖState Change Detection¡×¤Ç¤¹¡£²¡¤·¥Ü¥¿¥ó¤ò²¡¤·¤¿²ó¿ô¤ò¸¡½Ð¤·¤Þ¤¹¡£

 

TUTORIALS Built-In Examples > 02.Digital > StateChangeDetection

 

¥Õ¥í¡¼¥Á¥ã¡¼¥È¤ò½ñ¤¤¤Æ¤ß¤Þ¤·¤¿¡£

¾ÜºÙ¤Ê²òÀâ¤Ï¤·¤Þ¤»¤ó¤¬¡¢¥Ü¥¿¥ó¤Î¾õÂ֤ˤè¤Ã¤Æʬ´ô¤¹¤ëή¤ì¤¬ÀÖÀþ¤Î¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£

 


²èÁü¥­¥ã¥×¥·¥ç¥ó

 

¥¹¥±¥Ã¥Á¤ò½ñ¤­¹þ¤ó¤Çµ¯Æ°¤¹¤ë¤È¡¢ºÇ½é¤ÏÅÀÅô¤·¤Þ¤¹¡£¥Ü¥¿¥ó¤ò²¡¤¹¤È¾ÃÅô¤·¡¢4²óÌܤβ¡²¼¤ÇºÆ¤ÓÅÀÅô¤·¤Þ¤¹¡£

¤³¤Î¥¹¥±¥Ã¥Á¤Ç¤Ï¡¢¥Á¥ã¥¿¥ê¥ó¥°ËÉ»ß (¥Ç¥Ð¥¦¥ó¥¹) ¤Ï delay(50) ¤Ç¹Ô¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£Á°²ó¤Î¡ÖDebounce¡×¤Î¤è¤¦¤ÊÊýË¡¤È¤Î»È¤¤Ê¬¤±¤Ã¤Æ¤É¤¦¤¹¤ì¤ÐÎɤ¤¤Î¤Ç¤·¤ç¤¦¡© ²Ë¤Ê¤È¤­¤Ë¤Ç¤â¹Í¤¨¤Æ¤ß¤Þ¤¹ (^_^;)

 


¢£Arduino ¥¹¥±¥Ã¥ÁÎã / Debounce

Arduino ¥¹¥±¥Ã¥ÁÎã¡ÖDebounce¡×¤ò»î¤·¤Æ¤ß¤Þ¤·¤ç¤¦¡£

 

TUTORIALS Built-In Examples > 02.Digital > Debounce

 

Debounce

Pushbuttons often generate spurious open/close transitions when pressed, due to mechanical and physical issues: these transitions may be read as multiple presses in a very short time fooling the program. This example demonstrates how to debounce an input, which means checking twice in a short period of time to make sure the pushbutton is definitely pressed. Without debouncing, pressing the button once may cause unpredictable results. This sketch uses the  millis()  function to keep track of the time passed since the button was pressed.

 

2ÈÖ¥Ô¥ó¤ËÀܳ¤µ¤ì¤¿¥¹¥¤¥Ã¥Á¤ò²¡¤¹¤¿¤Ó¤Ë Æ⢠LED ¤¬ÅÀÅô¤È¾ÃÅô¤ËÀÚ¤êÂؤï¤ë¤È¤¤¤¦¤â¤Î¤Ç¤¹¤¬¡¢¤³¤Î¾ì¹ç¤ËÌäÂê¤È¤Ê¤ë¥¹¥¤¥Ã¥Á¤Î¥Á¥ã¥¿¥ê¥ó¥°¤òËɻߤ¹¤ë¤¿¤á¤Î¥¹¥±¥Ã¥ÁÎã¤Ç¤¹¡£

 

¥¹¥±¥Ã¥Á¤ò¥Ñ¥Ã¤È¸«¤Æ¤â¤É¤¦¤Ê¤Ã¤Æ¤¤¤ë¤Î¤«¤è¤¯¤ï¤«¤ê¤Þ¤»¤ó¤Ç¤·¤¿¤Î¤Ç¡¢¥Õ¥í¡¼¥Á¥ã¡¼¥È¤ò½ñ¤¤¤Æ¤ß¤Þ¤·¤¿¡£


²èÁü¥­¥ã¥×¥·¥ç¥ó

ÀÖ¤¤Éôʬ¤¬¥Ç¥Ð¥¦¥ó¥¹¤ò¹Ô¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£

¥Ü¥¿¥ó¤Î¾õÂÖ¤¬ÊѲ½¤·¤¿¤³¤È¤ò¸¡½Ð¤·¤¿¤é lastDebounceTime ¤ò¥ê¥»¥Ã¥È¤·¡¢debounceDelay (50ms) ¤Î´Ö¤Ï LED ½ÐÎϤòÊѲ½¤µ¤»¤Þ¤»¤ó¡£¥Ü¥¿¥ó¤Î¾õÂÖ¤¬ÊѲ½¤Ê¤¯ 50ms ·Ð²á¤·¤¿¤é LED ¤ÎÀ©¸æ½èÍý¤ò¼Â¹Ô¤·¤Þ¤¹¤¬¡¢ÊѲ½¤¬¤¢¤Ã¤¿¤È¤­¤ÏºÆ¤Ó lastDebounceTime ¤ò¥ê¥»¥Ã¥È¤·¡¢ÊѲ½¤¬¤Ê¤¯¤Ê¤ë¤Î¤òÂԤäƤ¤¤Þ¤¹¡£

¤³¤¦¤·¤Æ¥Ç¥Ð¥¦¥ó¥¹Éôʬ¤òʬ¤±¤Æ¤ß¤ë¤È¡¢¤È¤Æ¤âñ½ã¤Ê½èÍý¤ò¤·¤Æ¤¤¤ë¤³¤È¤¬¤ï¤«¤ê¤Þ¤¹¤Í¡£

 

¤Á¤Ê¤ß¤Ë¡¢¤³¤Î¥¹¥±¥Ã¥ÁÎã¤Ç¤Ï ledState ¤òȿž¤µ¤»¤ë¤¿¤á¤Ë¡Ö!¡×¤Ç¥Ö¡¼¥ê¥¢¥óÃͤÎÈÝÄê¤òÍøÍѤ·¤Æ¤¤¤Þ¤¹¡£²¶¤Î¹¥¤­¤Ê XOR ¤Ë¤è¤ë¥Ó¥Ã¥ÈÁàºî ledState ^= 1 ¤è¤ê¤ï¤«¤ê¤ä¤¹¤¤¤Ç¤¹ (^_^;)

 


¢£Arduino ¥¹¥±¥Ã¥ÁÎã / Blink Without Delay

Arduino ¤Î¥¹¥±¥Ã¥ÁÎã¡ÖBlink Without Delay¡×¤ò»î¤·¤Æ¤ß¤Þ¤¹¡£

 

TUTORIALS Built-In Examples > 02.Digital > BlinkWithoutDelay

 

²óÏ©¿Þ¤Ç¤Ï³°Éô¤Ë LED ¤òÀܳ¤¹¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¤¬¡¢Æ⢠LED ¤òÅÀÌǤµ¤»¤ë¤Î¤ÇɬÍפϤ¢¤ê¤Þ¤»¤ó¡£¥¹¥±¥Ã¥ÁÎã¤ò¤½¤Î¤Þ¤Þ IDE ¤Ë¥³¥Ô¡¼¥¢¥ó¥É¥Ú¡¼¥¹¥È¤·¡¢Arduino ¤Ø½ñ¤­¹þ¤á¤Ð´°À®¤Ç¤¹¤Í¡£

¥¹¥±¥Ã¥ÁÎã¤Ï¥³¥á¥ó¥È¤¬Â¿¤¯¤Æ¸«¤Ë¤¯¤¤¤Î¤Ç¡¢É¬ÍפÊÉôʬ¤À¤±È´¤­½Ð¤·¤Æ¤ß¤Þ¤·¤¿¡£

 

  1. const int ledPin = LED_BUILTIN;
  2. int ledState = LOW;
  3. unsigned long previousMillis = 0;
  4. const long interval = 1000;
  5. void setup() {
  6.   pinMode(ledPin, OUTPUT);
  7. }
  8. void loop() {
  9.   unsigned long currentMillis = millis();
  10.   if (currentMillis - previousMillis >= interval) {
  11.     previousMillis = currentMillis;
  12.     if (ledState == LOW) {
  13.       ledState = HIGH;
  14.     } else {
  15.       ledState = LOW;
  16.     }
  17.     digitalWrite(ledPin, ledState);
  18.   }
  19. }

 

delay ¤ò»È¤ï¤º¤Ë¡¢millis() ¤Ç¥¤¥ó¥¿¡¼¥Ð¥ë»þ´Ö¤òĶ¤¨¤¿¤«¤É¤¦¤«¤ò¥Á¥§¥Ã¥¯¤¹¤ëÊýË¡¤Ç¤¹¤Í¡£

²¶¤¬µ¤¤Ë¤Ê¤Ã¤¿¤Î¤Ï¡¢LED ¤ÎÅÀÌǤΤ¿¤á¤Ë ledState ¤òȿž¤µ¤»¤ëÉôʬ (16〜20¹Ô) ¤Ç¤¹¡£if() ¤ÇȽÄꤹ¤ë¤Î¤Ï¤È¤Ã¤Æ¤â¤ï¤«¤ê¤ä¤¹¤¤¤Ç¤¹¤¬¡¢Ê̤ÎÊýË¡¤ËÊѹ¹¤·¤Æ¤ß¤Þ¤·¤ç¤¦¡£

 

  1.     ledState = ~ledState;

 

ledState ¤ò NOT ±é»»¤Çȿž¤µ¤»¤Æ¤ß¤Þ¤·¤¿¡£¤³¤Î¾ì¹ç¤Ï LOW=0 ¡¢HIGH=-1 ¤È¤Ê¤ê¤Þ¤¹¡£¥Ó¥Ã¥È¤¬¤¹¤Ù¤Æȿž¤·¤Æ¤¤¤ë¤È¤¤¤¦¤³¤È¡£LED ¤ÎÅÀÌǤÏÀµ¾ï¤Ë¹Ô¤ï¤ì¤Æ¤¤¤Þ¤¹¤Î¤Ç¡¢¤¿¤Ö¤ó 1 ¥Ó¥Ã¥ÈÌܤÎÃͤÇÀ©¸æ¤·¤Æ¤¤¤ë¤Î¤Ç¤·¤ç¤¦¡£

 

NOT ¤Ï¥Ó¥Ã¥Èñ°Ì¤ÎÈÝÄê¤Ç¤¹¤¬¡¢¼¡¤ÎÎã¤Ï¥Ö¡¼¥ê¥¢¥óÃͤÇȿž¤µ¤»¤Þ¤¹¡£

 

  1.     ledState = !ledState;

 

½ÐÎÏ¤Ï 0 ¤È 1 ¤Ë¤Ê¤ê¤Þ¤·¤¿¡£¤³¤Î¾ì¹ç¤Ï¡¢ÊÑ¿ô¤ò¥Ö¡¼¥ë·¿¤Ë¤·¤ÆÃÍ¤Ï true - false ¤È¤¹¤ë¤Ù¤­¤Ê¤Î¤Ç¤·¤ç¤¦¤Í¡£

 

¼¡¤ÎÎã¤Ï¡¢1 ¥Ó¥Ã¥ÈÌܤÀ¤±¤òȿž¤µ¤»¤ëÊýË¡¤Ç¤¹¡£XOR ±é»»¤Ç¥Ó¥Ã¥ÈÁàºî¤·¤Æ¤¤¤Þ¤¹¡£

 

  1.     ledState = ledState^1;

 

¤³¤ì¤ÏÊ£¹ç±é»»»Ò¤ò»È¤Ã¤Æ¡¢

 

  1.     ledState ^= 1;

 

¤Î¤è¤¦¤Ë½ñ¤¯¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¸Ä¿ÍŪ¤Ë¤Ï¤³¤ÎÊýË¡¤¬¹¥¤­¤Ç¤¹¤¬¡¢ÍýÏÀŪ¤Ë¤É¤ì¤¬¤è¤¤¤Î¤«¤Ï¡¢²¶¤Ë¤Ï¤ï¤«¤ê¤Þ¤»¤ó (^_^;)

 


¢£Arduino / ubuntu¤È¥·¥ê¥¢¥ëÄÌ¿®¤·¤Æ¤ß¤¿ -3-

¥·¥ê¥¢¥ëÄÌ¿®¤òÄ̤·¤Æ¥Ñ¥½¥³¥ó¤«¤é Arduino ¤Ø¿ôÃͤòÁ÷¤ê¤¿¤¤¤È¤¤¤¦Ïá£

 

Á÷¤é¤ì¤Æ¤¯¤ë¤Î¤Ïʸ»úÎó¤Ê¤Î¤Ç¡¢¤½¤¤¤Ä¤ò¿ôÃͤËÊÑ´¹¤¹¤ë¤¿¤á¤Ë¤¤¤í¤¤¤íºÙ¹©¤¬É¬Íפˤʤ롣¤Ç¤â¤­¤Ã¤È²¿¤«¡¢¤â¤Ã¤È´Êñ¤ÊÊýË¡¤¬¤¢¤ë¤Ï¤º¤À¤È»×¤Ã¤Æ¤¤¤¿¤ï¤±¤Ç¤¹¤¬¡¢¤Ê¤ó¤È¡¢¤¢¤ë¤¸¤ã¤Ê¤¤¤Ç¤¹¤«¡¢¿ôÃͤò¤½¤Î¤Þ¤Þ¼è¤ê½Ð¤·¤Æ¤¯¤ì¤ë´Ø¿ô¤¬¡£

 

parseInt()

Description

parseInt() returns the first valid (long) integer number from the serial buffer. Characters that are not integers (or the minus sign) are skipped.

 

¤·¤«¤âÉí°¤Î¥¹¥±¥Ã¥ÁÎã¤Ë¤³¤ó¤Ê¤Î¤¬¤¢¤ê¤Þ¤¹¡£

 

Read ASCII String

This sketch uses the Serial.parseInt() function to locate values separated by a non-alphanumeric character. Often people use a comma to indicate different pieces of information (this format is commonly referred to as comma-separated-values or CSV), but other characters like a space or a period will work too. The values are parsed into integers and used to determine the color of a RGB LED. You'll use the Arduino Software (IDE) serial monitor to send strings like "5,220,70" to the board to change the light color.

 

 

  1. /*
  2.   Reading a serial ASCII-encoded string.
  3.   This sketch demonstrates the Serial parseInt() function.
  4.   It looks for an ASCII string of comma-separated values.
  5.   It parses them into ints, and uses those to fade an RGB LED.
  6.   Circuit: Common-Cathode RGB LED wired like so:
  7.   - red anode: digital pin 3
  8.   - green anode: digital pin 5
  9.   - blue anode: digital pin 6
  10.   - cathode: GND
  11.   created 13 Apr 2012
  12.   by Tom Igoe
  13.   modified 14 Mar 2016
  14.   by Arturo Guadalupi
  15.   This example code is in the public domain.
  16. */
  17. // pins for the LEDs:
  18. const int redPin = 3;
  19. const int greenPin = 5;
  20. const int bluePin = 6;
  21. void setup() {
  22.   // initialize serial:
  23.   Serial.begin(9600);
  24.   // make the pins outputs:
  25.   pinMode(redPin, OUTPUT);
  26.   pinMode(greenPin, OUTPUT);
  27.   pinMode(bluePin, OUTPUT);
  28. }
  29. void loop() {
  30.   // if there's any serial available, read it:
  31.   while (Serial.available() > 0) {
  32.     // look for the next valid integer in the incoming serial stream:
  33.     int red = Serial.parseInt();
  34.     // do it again:
  35.     int green = Serial.parseInt();
  36.     // do it again:
  37.     int blue = Serial.parseInt();
  38.     // look for the newline. That's the end of your sentence:
  39.     if (Serial.read() == '¥n') {
  40.       // constrain the values to 0 - 255 and invert
  41.       // if you're using a common-cathode LED, just use "constrain(color, 0, 255);"
  42.       red = 255 - constrain(red, 0, 255);
  43.       green = 255 - constrain(green, 0, 255);
  44.       blue = 255 - constrain(blue, 0, 255);
  45.       // fade the red, green, and blue legs of the LED:
  46.       analogWrite(redPin, red);
  47.       analogWrite(greenPin, green);
  48.       analogWrite(bluePin, blue);
  49.       // print the three numbers in one string as hexadecimal:
  50.       Serial.print(red, HEX);
  51.       Serial.print(green, HEX);
  52.       Serial.println(blue, HEX);
  53.     }
  54.   }
  55. }

 

¥¹¥±¥Ã¥ÁÎã¤Ç¤Ï¥«¥é¡¼ LED ¤ò»ÈÍѤ·¤Æ¤¤¤Þ¤¹¤¬¡¢ÅÀÅô¤ò»î¤¹¤À¤±¤Ê¤é 3¸Ä¤Î LED ¤ò»È¤¨¤Ð¤¤¤¤¤Ç¤¹¡£¥·¥ê¥¢¥ë¥â¥Ë¥¿¡¼¤«¤é 3¤Ä¤Î¿ôÃͤò¥«¥ó¥Þ¶èÀÚ¤ê¤ÇÁ÷¿®¤¹¤ë¤È¡¢¤½¤ÎÃͤ˱þ¤¸¤¿¿§ (ÌÀ¤ë¤µ) ¤Ç LED ¤¬ÅÀÅô¤·¤Þ¤¹¡£

¥·¥ê¥¢¥ë¥Ý¡¼¥È¤«¤éÁ÷¤é¤ì¤Æ¤¯¤ë¥Ç¡¼¥¿¤¬Ê¸»úÎó¤À¤Î¿ôÃͤÀ¤Î¹Í¤¨¤Ê¤¯¤Æ¤â¡¢¤½¤Î¤Þ¤Þ¿ôÃͤȤ·¤Æ½ÐÎϤǤ­¤Þ¤·¤¿¡£

 

¤Ê¤ª¡¢Serial.parseInt() ¤Ï¥¿¥¤¥à¥¢¥¦¥È¤Ç½ªÎ»¤·¤Þ¤¹¤Î¤Ç¡¢cu ¤Î¤è¤¦¤ËÆþÎϤ·¤¿¿ôÃͤò¨Á÷¿®¤·¤Æ¤·¤Þ¤¦¾ì¹ç¤Ï¡¢¥¿¥¤¥à¥¢¥¦¥È¤¹¤ë¤Þ¤Ç¤Ë¤¹¤Ù¤Æ¤Î¥Ç¡¼¥¿¤òÁ÷¿®¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¥·¥ê¥¢¥ë¥â¥Ë¥¿¡¼¤Î¤è¤¦¤Ë¥Ç¡¼¥¿¤ò¤Þ¤È¤á¤ÆÁ÷¿®¤¹¤ë¤â¤Î¤Ç¤¢¤ì¤ÐÌäÂê¤Ï¤Ê¤¤¤Ç¤¹¡£

¥×¥í¥°¥é¥à¤«¤é¤Ê¤é¡¢¥Ç¡¼¥¿¤ò¤Þ¤È¤á¤ÆºÇ¸å¤Ë²þ¹Ô¥³¡¼¥É¤ò¤Ä¤±¤ÆÁ÷¿®¤¹¤ì¤Ð¤è¤¤¤Î¤Ç¡¢¤Ê¤ó¤È¤Ç¤â¤Ê¤ë¤È»×¤¤¤Þ¤¹¡£

 

¤È¤¤¤¦¤³¤È¤Ç¡¢¥·¥ê¥¢¥ëÄÌ¿®¤Ç¿ôÃͤòÁ÷¤ë¤³¤È¤âÆñ¤·¤¯¹Í¤¨¤ëɬÍפʤó¤Æ¤Ê¤¤¤³¤È¤¬¤ï¤«¤ê¤Þ¤·¤¿¡£¤ä¤Ã¤Ñ¤ê¤Ê¤¡¡¢ÆüËܸì¥ê¥Õ¥¡¥ì¥ó¥¹¤À¤±¤¸¤ã¤Ê¤¯¤Æ¡¢¤Á¤ã¤ó¤È REFERENCE ¤òÆɤޤʤ¤¤È¤¤¤±¤Ê¤¤¤ó¤À¤è¤Ê¤¡ (^_^;)

 


¢£Arduino / ubuntu¤È¥·¥ê¥¢¥ëÄÌ¿®¤·¤Æ¤ß¤¿ -2-

¡ÖArduino / ubuntu¤È¥·¥ê¥¢¥ëÄÌ¿®¤·¤Æ¤ß¤¿¡×¤Ç»î¤·¤Æ¤ß¤¿¥¿¡¼¥ß¥Ê¥ë¥³¥Þ¥ó¥É cu ¤Ë¤è¤ë LED ¤Î PWM À©¸æ¤ò¡¢¾¯¤·²þÎɤ·¤Æ¤ß¤Þ¤·¤¿¡£

Á°²ó¤Ï¿ô»ú¤ò 3¤ÄÆþÎϤ¹¤ë¤È LED ¤ÎÌÀ¤ë¤µ¤¬ÊѤï¤ë¤È¤¤¤¦¤â¤Î¤Ç¤·¤¿¡£¤³¤ì¤ò 0 ¤«¤é 255 ¤Þ¤Ç¤Î¿ô»ú¤òÆþÎϤ·¤Æ Enter ¤ò²¡¤¹¤È¡¢¤½¤ÎÃͤ˽¾¤Ã¤Æ LED ¤ÎÌÀ¤ë¤µ¤òÊѤ¨¤ë¤è¤¦¤Ë¤·¤¿¤¤¤È»×¤¤¤Þ¤¹¡£

¤½¤Î¤¿¤á¤Ë¡¢·å¿ô¤Î°Û¤Ê¤ë¿ô»ú¤ò¥·¥ê¥¢¥ëÄÌ¿®¤Ç Arduino ¤ËÁ÷¤ê¡¢¿ôÃͤȤ·¤Æ PWM À©¸æ¤ËÅϤ¹É¬Íפ¬¤¢¤ê¤Þ¤¹¡£¾¯¤·¥°¥°¤Ã¤Æ¤ß¤¿¤Î¤Ç¤¹¤¬¡¢¥·¥ê¥¢¥ëÄÌ¿®¤Ç¿ôÃͤòÁ÷¤ë¤Ë¤Ï¡¢Ê¸»úÎó¤ò¿ôÃͤËÂؤ¨¤ë¤À¤±¤Ç¤Ê¤¯¡¢·å¿ô¤Î°ã¤¤¤ò¤É¤¦½èÍý¤¹¤ë¤«¤Ê¤É¡¢¤±¤Ã¤³¤¦ÌÌÅݤÊÊ·°Ïµ¤¤Ç¤¹¡£Ã±½ã¤Ê½èÍý¤Ê¤Î¤Ç¤â¤Ã¤È´Êñ¤ÊÊýË¡¤¬¤Ê¤¤¤«¤Ê¤Èõ¤·¤Æ¤¤¤¿¤È¤³¤í¡¢¤³¤ó¤Ê¥Á¥å¡¼¥È¥ê¥¢¥ë¤ò¸«¤Ä¤±¤Þ¤·¤¿¡£

 

¡ÖString to Int Function¡×

The toInt() function allows you to convert a String to an integer number.

In this example, the board reads a serial input string until it sees a newline, then converts the string to a number if the characters are digits. 

 

¥É¥ó¥Ô¥·¥ã¤Ç¤¹¡£Ê¸»úÎó¤ò¿ôÃͤËÊÑ´¹¤¹¤ë¡¢¤Þ¤µ¤Ëµá¤á¤Æ¤¤¤¿ÆâÍƤǤ¹¤è¡£

toInt() ¤Ï String ¥ª¥Ö¥¸¥§¥¯¥È¤Î´Ø¿ô¤Ç¤¹… ¤è¤¯¤ï¤«¤ê¤Þ¤»¤ó (^_^;)¡¡¤Ç¤â¤³¤¦¤ä¤Ã¤Æ»È¤¦¤È¤³¤¦¤¤¤¦·ë²Ì¤¬½Ð¤ë¤È¤¤¤¦¤³¤È¤Ï¡¢´Êñ¤ËÍý²ò¤Ç¤­¤Þ¤¹¡£¤Ê¤ª¡¢¤³¤Î¥Á¥å¡¼¥È¥ê¥¢¥ë¤Ë¤¢¤ë¥µ¥ó¥×¥ë¥³¡¼¥É¤Ï¡¢IDE ¤Î¥¹¥±¥Ã¥ÁÎã¡Ö08.String¡×¤Ë¡ÖStringToint¡×¤È¤·¤ÆÉí°¤·¤Æ¤¤¤Þ¤¹¡£

 

¤µ¤Æ¡¢¤½¤Î¥µ¥ó¥×¥ë¥³¡¼¥É¤ò»²¹Í¤Ë¤·¤¿¡¢cu ¤«¤éÁ÷¿®¤¹¤ë¥Ç¡¼¥¿¤Ë½¾¤Ã¤Æ 3ÈÖ¥Ô¥ó¤ËÀܳ¤·¤¿ LED ¤ò PWM À©¸æ¤¹¤ë¥¹¥±¥Ã¥Á¤Ç¤¹¡£

 

  1. // PWM control LED from cu 2019/09/09 meyon
  2. const int ledPin = 3;
  3. String inStr = "";
  4. void setup()
  5. {
  6.   pinMode(ledPin, OUTPUT);
  7.   Serial.begin(9600);
  8. }
  9. void loop()
  10. {
  11.   while(0 < Serial.available()) {
  12.     int inChar = Serial.read();
  13.     Serial.write(inChar);
  14.     if(isDigit(inChar)) {
  15.       inStr += (char)inChar;
  16.     }
  17.     if(13 == inChar) {
  18.       int ledBri = inStr.toInt();
  19.       ledBri = constrain(ledBri, 0, 255);
  20.       analogWrite(ledPin, ledBri);
  21.       Serial.print("¥nBrightness: ");
  22.       Serial.println(ledBri);
  23.       inStr = "";
  24.     }
  25.   }
  26. }

 

16¹ÔÌÜ¤Ï cu ¤Ø¤Î¥¨¥³¡¼¤Ç¤¹¡£Serial.write() ¤Ï¥Ç¡¼¥¿¤ò byte ·¿¤Ç½ÐÎϤ¹¤ë¤Î¤Ç¡¢¼õ¤±¼è¤Ã¤¿¿ô»ú¤Î ASCII ¥³¡¼¥É¤ò¤½¤Î¤Þ¤Þ cu ¤ØÁ÷¤êÊÖ¤·¡¢ÆþÎϤ·¤¿¿ô»ú¤òɽ¼¨¤µ¤»¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£

18¹ÔÌܤÇÆþÎϥǡ¼¥¿¤¬¿ô»ú¤«¤É¤¦¤«¤òȽÃǤ·¡¢¿ô»ú¤Ê¤éʸ»úÎó¤È¤·¤Æ inStr ¤ËÄɲ䷤Ƥ¤¤­¤Þ¤¹¡£

22〜25¹ÔÌÜ¡£ÆþÎϥǡ¼¥¿¤¬ Enter ¤Î¾ì¹ç ASCII ¥³¡¼¥É (13) ¤¬ÆϤ­¤Þ¤¹¤Î¤Ç¡¢¤½¤ì¤Þ¤Ç¤ËÆϤ¤¤¿Ê¸»úÎó¤ò¿ôÃͤËÊÑ´¹¤·¤Æ 3ÈÖ¥Ô¥ó¤Ø¥¢¥Ê¥í¥°½ÐÎϤ·¤Þ¤¹¡£

¿ôÃÍ¤Ï 0〜255 ¤ÎÈϰϤËÀ©¸Â¤·¡¢256 °Ê¾å¤Î¾ì¹ç¤Ï 255 ¤È¤·¤Æ¤¤¤Þ¤¹¡£int ·¿¤Ê¤Î¤Ç 32767 ¤òĶ¤¨¤ë¤È½ÐÎÏ¤Ï 0 ¤Ë¤Ê¤Ã¤Æ¤·¤Þ¤¤¤Þ¤¹¤Í¡£¤Þ¤¿¡¢ÆþÎϤ˿ô»ú°Ê³°¤¬´Þ¤Þ¤ì¤Æ¤¤¤ë¤È̵»ë¤µ¤ì¤Þ¤¹¡£¿ô»ú¤À¤±¤òÃê½Ð¤·¤ÆÀ©¸æÃͤˤʤê¤Þ¤¹¡£

 

¤³¤ì¤Ç¤«¤Ê¤ê¥¨¥¯¥»¥ì¥ó¥È¤Ë¤Ê¤Ã¤¿µ¤¤¬¤·¤Þ¤¹ (^_^;)

 


¢£Arduino / ubuntu¤È¥·¥ê¥¢¥ëÄÌ¿®¤·¤Æ¤ß¤¿

ubuntu ¤È Arduino ´Ö¤Ç¥·¥ê¥¢¥ëÄÌ¿®¤·¤Æ¤ß¤Þ¤¹¡£

ubuntu ¤Ç¤Ï cu ¥³¥Þ¥ó¥É¤òÍøÍѤ·¤Þ¤¹¡£¤Þ¤º¤Ï¥¤¥ó¥¹¥È¡¼¥ë¡£

 

$ sudo apt install cu

 

µ¯Æ°¡¦Àܳ¤Ï°Ê²¼¡£ÀÚÃÇ¡¦½ªÎ»¤Ï¡Ö~.¡×¤Ç¤¹¤¬¡¢Arduino ¤Ç¼õ¿®¤·¤¿¥Ç¡¼¥¿¤òÁ÷¤êÊÖ¤¹¥¹¥±¥Ã¥Á¤òÆ°¤«¤·¤Æ¤¤¤ë¤È ~. ¤âÀÞ¤êÊÖ¤µ¤ì¤Æ¤¯¤ë¤À¤±¤Ç½ªÎ»¤Ç¤­¤Þ¤»¤ó (^_^;)¡¡Àµ¤·¤¤ÊýË¡¤«¤É¤¦¤«¤ï¤«¤é¤Ê¤¤¤Î¤Ç¤¹¤¬¡¢Ctrl+c ²¡¤·¤¿¸å¤Ë ~. ¤Ç½ªÎ»¤Ç¤­¤Þ¤·¤¿¡£

 

$ cu -s 9600 -l /dev/ttyACM0

 

¥·¥ê¥¢¥ë¥â¥Ë¥¿¤È¤ÏÆ°ºî¤¬°Û¤Ê¤ê¤Þ¤¹¡£

¥·¥ê¥¢¥ë¥â¥Ë¥¿¤Ç¤ÏÆþÎϤ·¤¿Ê¸»úÎ󤬡ÖÁ÷¿®¡×¥Ü¥¿¥ó¤ò²¡¤¹¤³¤È¤Ç°ì³ç¤·¤ÆÁ÷¤é¤ì¤Þ¤·¤¿¤¬¡¢cu ¤Ç¤ÏÆþÎϤ´¤È¤Ë¨Á÷¿®¤µ¤ì¡¢¤¿¤È¤¨¤Ð¡ÖA¡×¥­¡¼¤ò²¡¤¹¤È¤¹¤°¤Ë¡Ö65¡×¤¬Ê֤äƤ­¤Þ¤¹¡£

 

¤½¤³¤Ç¡¢¿ô»ú¤ò 3¤ÄÆþÎϤ¹¤ë¤È¤½¤ÎÃÍ¤Ç LED ¤ÎÌÀ¤ë¤µ¤òÀ©¸æ¤¹¤ë¤è¤¦¤Ê¥¹¥±¥Ã¥Á¤ò½ñ¤¤¤Æ¤ß¤Þ¤·¤¿¡£

LED ¤Ï 3ÈÖ¥Ô¥ó¤Ë·Ò¤®¤Þ¤¹¤¬¡¢ºÇÂç¤Ç 20mA ÄøÅÙή¤·¤Þ¤¹¤Î¤Ç LED ¶îÆ°ÍѤ˥ȥé¥ó¥¸¥¹¥¿¤ò 1¸ÄÆþ¤ì¤Æ¤Þ¤¹¡£¤Þ¤¡ËèÅ٤βóÏ©¤Ç¤¹¡£ÅŸ»¤Ï USB ¤ò»É¤·¤Æ¤¤¤ë¤Î¤Ç¡¢Arduino ¤Î 5V ½ÐÎϤòÍøÍѤ·¤Þ¤·¤¿¡£

 

  1. const int ledPin=3;
  2. void setup() {
  3.   pinMode(ledPin, OUTPUT);
  4.   Serial.begin(9600);
  5. }
  6. void loop() {
  7.   while(0 < Serial.available()) {
  8.     int data = Serial.read();
  9.     Serial.println(data);
  10.   
  11.     static int val[3];
  12.     static int i=0;
  13.     val[i]=data-48;
  14.     i++;
  15.     if(2<i) {
  16.       int bri = val[0]*100+val[1]*10+val[2];
  17.       bri = constrain(bri, 0, 255);
  18.       Serial.print("Brightness: ");
  19.       Serial.println(bri);
  20.       analogWrite(ledPin, bri);
  21.       i=0;
  22.     }
  23.   }
  24. }

 

Arduino ¤Ø½ñ¤­¹þ¤ó¤À¤é IDE ¤ò½ªÎ»¤·¤Þ¤¹¡£

cu ¤òµ¯Æ°¤·Àܳ¡£¿ô»ú¤ò 3¤Ä²¡¤¹¤´¤È¤Ë LED ¤Ø¤Î½ÐÎϤ¬ÊѲ½¤·¤Þ¤¹¡£¡Ö255¡× ¤È²¡¤¹¤È LED ¤¬ 100% ¤ÇÅÀÅô¤·¤Þ¤¹¡£¡Ö128¡×¤Ê¤é 50% ¡¢¡Ö000¡×¤Ç¾ÃÅô¤Ç¤¹¡£ÆþÎÏÃͤ¬ 255 ¤òĶ¤¨¤ë¾ì¹ç¤Ï 255 ¤Ë¤·¤Þ¤¹¤¬¡¢contrain() ¤Ê¤ó¤ÆÊØÍø¤Ê´Ø¿ô¤¬¤¢¤Ã¤¿¤Î¤Ç»È¤Ã¤Æ¤ß¤Þ¤·¤¿¡£

¼õ¿®¤·¤¿¥Ç¡¼¥¿¤Ï 48 ¤ò°ú¤¯¤³¤È¤Ç¿ôÃͤËÊÑ´¹¤·¤Æ¤¤¤Þ¤¹¡£3¤Ä¥Ç¡¼¥¿¤ò¼õ¤±¤¿¤é 3·å¤Î¿ô»ú¤Ë·×»»¤·¤Æ¤¤¤ë¤À¤±¤Ç¤¹¤¬¡¢¤³¤Î¤¢¤¿¤ê¤¬¤É¤¦¤â¥¨¥¯¥»¥ì¥ó¥È¤¸¤ã¤Ê¤¤¤Ç¤¹¤è¤Í¤§ (^_^;)

 


¢£Arduino ¥·¥ê¥¢¥ëÄÌ¿® Serial.read() ¤ò»î¤·¤Æ¤ß¤ë

¡ÖArduino ¥·¥ê¥¢¥ëÄÌ¿® Serial.print() ¤ò»î¤·¤Æ¤ß¤ë¡×¤Ç¡¢Arduino ¤«¤é¥·¥ê¥¢¥ë¥â¥Ë¥¿¤Ø¥Ç¡¼¥¿¤òÁ÷¤ë¤È¤­¤Ï¤¹¤Ù¤Æʸ»úÎó¤È¤·¤Æ°·¤Ã¤Æ¤¤¤ë¤³¤È¤¬¤ï¤«¤ê¤Þ¤·¤¿¡£Ê¸»ú¤Ï ASCII ¥³¡¼¥É¤È¤·¤Æ¥·¥ê¥¢¥ë¥Ý¡¼¥È¤ØÁ÷¤é¤ì¡¢¥·¥ê¥¢¥ë¥â¥Ë¥¿Â¦¤Ç¤Ï¼õ¤±¼è¤Ã¤¿ ASCII ¥³¡¼¥É¤ËÂбþ¤·¤¿Ê¸»ú¤òɽ¼¨¤·¤Æ¤¤¤Þ¤¹¡£

 

¤Ç¤Ï¡¢¥·¥ê¥¢¥ë¥â¥Ë¥¿¤«¤é Arduino ¤ØÁ÷¿®¤¹¤ë¾ì¹ç¤Ï¤É¤¦¤Ç¤·¤ç¤¦¤«¡£´Êñ¤Ê¥¹¥±¥Ã¥Á¤Ç»î¤·¤Æ¤ß¤Þ¤¹¡£

 

  1. void setup() { 
  2.   Serial.begin(9600); 
  3. void loop() { 
  4.   if(Serial.available() > 0) { 
  5.     int data = Serial.read(); 
  6.     Serial.println(data, DEC); 
  7.   } 

 

¥·¥ê¥¢¥ë¥â¥Ë¥¿¤«¤é¡ÖA¡×¤ÈÁ÷¿®¤¹¤ë¤È¡¢

 

65
10

 

¤Èɽ¼¨¤µ¤ì¤Þ¤·¤¿¡£

¥·¥ê¥¢¥ë¥â¥Ë¥¿Â¦¤Ç¡ÖA¡×¤ÈÆþÎϤ¹¤ë¤È¡¢Ê¸»ú¡ÖA¡×¤Î ASCII ¥³¡¼¥É (65) ¤¬¥·¥ê¥¢¥ë¥Ý¡¼¥È¤ØÁ÷¤é¤ì¤ë¤Ï¤º¤Ç¤¹¡£

Arduino ¦¤Ç¤Ï¡¢Serial.read() ¤ÇÆɤ߼è¤Ã¤¿¥Ç¡¼¥¿¤ò¿ôÃÍÊÑ¿ô data ¤ËÂåÆþ¤·¡¢Serial.println() ¤Ç 10 ¿Ê¿ô¤Î¥Õ¥©¡¼¥Þ¥Ã¥È¤Ç½ÐÎϤ·¤Æ¤¤¤Þ¤¹¡£¤½¤³¤Çɽ¼¨¤µ¤ì¤¿¤Î¤¬¡Ö65¡×¤È¤¤¤¦¤³¤È¤Ï¡¢Serial.read() ¤¬¥·¥ê¥¢¥ë¥Ý¡¼¥È¤«¤éÁ÷¤é¤ì¤Æ¤­¤¿ ASCII ¥³¡¼¥É¤½¤Î¤â¤Î¤òÆɤ߼è¤Ã¤Æ¤¤¤ë¡¢¤È¤¤¤¦¤³¤È¤Ç¤¹¡£

 ¼¡¤Ëɽ¼¨¤µ¤ì¤Æ¤¤¤ë¡Ö10¡×¤Ï¡¢¥·¥ê¥¢¥ë¥â¥Ë¥¿¤«¤éÁ÷¿®¤µ¤ì¤ë¤È¤­¤ËÉղ䵤줿²þ¹Ô¥³¡¼¥É LF ¤ÎASCII ¥³¡¼¥É¤Ç¤¹¡£¥·¥ê¥¢¥ë¥â¥Ë¥¿¤Ç¤Ï¡¢ÆþÎϤµ¤ì¤¿¥Ç¡¼¥¿¤Ï¡ÖÁ÷¿®¡×¥Ü¥¿¥ó¤ò²¡¤·¤¿¤È¤­¤Ë²þ¹Ô¥³¡¼¥É¤òÉղ䷤ƤޤȤá¤ÆÁ÷½Ð¤µ¤ì¤Æ¤¤¤Þ¤¹¡£

 

¤È¤¤¤¦¤³¤È¤Ï¤Ç¤¹¤è¡¢ÆþÎϤ·¤¿Ê¸»ú¤ò¤½¤Î¤Þ¤Þɽ¼¨¤µ¤»¤ë¤Ë¤Ï¡¢Æɤ߼è¤Ã¤¿ ASCII ¥³¡¼¥É¤òʸ»ú¤ËÊÑ´¹¤¹¤ì¤Ð¤¤¤¤¤ó¤¸¤ã¤Ê¤¤¤Ç¤¹¤«¡©

 

  1.     char data = Serial.read();
  2.     Serial.println(data);

 

¥¹¥±¥Ã¥Á¤Î°ìÉô¤ò¾å¤Î¤è¤¦¤Ë½ñ¤­´¹¤¨¤Þ¤¹¡£¥·¥ê¥¢¥ë¥â¥Ë¥¿¤Ç¡ÖA¡×¤ÈÆþÎϤ¹¤ë¤È¡¢

 

A

 

¤È½ÐÎϤµ¤ì¤Þ¤·¤¿¡£ASCII ¥³¡¼¥É (65) ¤òʸ»úÊÑ¿ô data ¤ËÂåÆþ¤¹¤ë¤È¡¢¤½¤ÎÃæ¿È¤Ïʸ»ú¡ÖA¡×¤È¤Ê¤ê¤Þ¤¹¤Í¡£¤½¡¼¤æ¡¼¤³¤È¤Ç¤¹ (^_^;)

¤È¤³¤í¤Ç¡¢¡ÖABC¡×¤ÈÆþÎϤ¹¤ë¤È¤É¤¦¤Ê¤ê¤Þ¤¹¤«¡©

 

A
B
C

 

¤È¤Ê¤Ã¤Æ¤·¤Þ¤¤¤Þ¤¹¡£¥¹¥±¥Ã¥Á¤ò¤Á¤ç¤Ã¤È¹©Éפ·¤Þ¤·¤ç¤¦¡£

 

  1. void loop() {
  2.   if(Serial.available() > 0) {
  3.     char data = Serial.read();
  4.     if(10 == data) {
  5.       data = '¥n';
  6.     }
  7.     Serial.print(data);
  8.   }
  9. }

 

ËöÈø¤Ë²þ¹Ô¥³¡¼¥É LF ¤¬¤Ä¤¤¤Æ¤¯¤ë¤Î¤Ç¤¹¤«¤é¡¢LF ¤Î¤È¤­¤À¤±²þ¹Ô¤¹¤ë¤è¤¦¤Ë¤·¤Þ¤·¤¿¡£¤³¤ì¤Ç½ÐÎϤϡ¢

 

ABC

 

¤È¤Ê¤ê¤Þ¤·¤¿¡£

 

  1. Arduino → ¥·¥ê¥¢¥ë¥â¥Ë¥¿¤Ç¤Ï¡¢¥Ç¡¼¥¿¤Ïʸ»úÎó¤È¤·¤Æ¤½¤Î¤Þ¤ÞÁ÷¿®¤µ¤ì¤ë¡£
  2. ¥·¥ê¥¢¥ë¥â¥Ë¥¿ → Arduino ¤Ç¤Ï¡¢¥Ç¡¼¥¿¤Ïʸ»úÎó¤È¤·¤ÆÁ÷¤é¤ì¡¢Serial.read() ¤Ïʸ»ú¤Î ASCII ¥³¡¼¥É¤òÆɤ߼è¤ë¡£

 

¤³¤ì¤Ç¥·¥ê¥¢¥ëÄÌ¿®¤Î¾õ¶·¤¬¤ï¤«¤ê¤Þ¤·¤¿¡£¤ï¤«¤Ã¤Æ¤·¤Þ¤¨¤Ð¡¢¤Þ¤¡¤Ê¤ó¤Æ¤³¤È¤Ê¤¤¤Ç¤¹¤è¤Í¤§ (^_^;)¡¡¤¿¤Ö¤ó¡¢¤Í¡£

 


¢£Arduino ¥·¥ê¥¢¥ëÄÌ¿® Serial.print() ¤ò»î¤·¤Æ¤ß¤ë

Á°²ó¤Î¡ÖArduino ¥·¥ê¥¢¥ëÄÌ¿®¤ò»î¤·¤Æ¤ß¤ë (ʸ»úÎó)¡×¤Ç¡¢¥·¥ê¥¢¥ë¥â¥Ë¥¿¡¼¤«¤éÁ÷¤é¤ì¤ë¥Ç¡¼¥¿¤Ï ASCII ¥³¡¼¥É¤Ë¤Ê¤Ã¤Æ¤¤¤ë¤é¤·¤¤¤È¤ï¤«¤Ã¤¿¤ï¤±¤Ç¤¹¤¬¡¢¤¸¤ã Arduino ¤«¤é¥·¥ê¥¢¥ë¥â¥Ë¥¿¤Ø½ÐÎϤ¹¤ë¤È¤­¤Ï¤É¤¦¤Ê¤Ã¤Æ¤ë¤Î¤«¡¢Ä´¤Ù¤Æ¤ß¤Þ¤¹¡£

 

Reference ¤Î Serial.print() ¤ò³Îǧ¤·¤Æ¤ß¤Þ¤·¤¿¡£

 

Prints data to the serial port as human-readable ASCII text. This command can take many forms. Numbers are printed using an ASCII character for each digit. Floats are similarly printed as ASCII digits, defaulting to two decimal places. Bytes are sent as a single character. Characters and strings are sent as is.

 

¥Ç¡¼¥¿¤Ï ASCII ¥³¡¼¥É¤Ç½ÐÎϤµ¤ì¤Þ¤¹¡£¿ô»ú¤â³Æ·å¤´¤È¤Ë ASCII ¥³¡¼¥É¤Ë¤Ê¤ë¤è¤¦¤Ç¤¹¤Í¡£ÉâÆ°¾®¿ôÅÀ¿ô¤âƱ¤¸¤Ç¤¹¤¬¡¢¾®¿ôÅÀ°Ê²¼ 2·å¤Ë¤Ê¤ë¤È¤Î¤³¤È¡£

¥Ð¥¤¥È·Á¼°¤Ï°ì¤Ä¤Îʸ»ú¤È¤·¤ÆÁ÷¤ë¤È¤¤¤¦¤³¤È¤Ê¤Î¤Ç¡¢¤³¤Î¾ì¹ç¤Ï¿ô»ú¤Î¤è¤¦¤Ë¥Ð¥é¥Ð¥é¤Ë¤Ï¤Ê¤é¤Ê¤¤¤È¤¤¤¦¤³¤È¤Ç¤·¤ç¤¦¤«¡£¤¢¤È¤Ç³Îǧ¤·¤Æ¤ß¤Þ¤·¤ç¤¦¡£

ʸ»ú¤Èʸ»úÎó¤Ï¡Ö¤½¤Î¤Þ¤Þ¡×¤Ç¤¹¡£

 

¤Ç¤Ï¡¢¼ÂºÝ¤Ë³Îǧ¤·¤Æ¤ß¤Þ¤¹¡£¤Á¤Ê¤ß¤Ë Serial.println() ¤Ï¥Ç¡¼¥¿¤ÎËöÈø¤Ë²þ¹Ô¥³¡¼¥É (CR+LF) ¤òÉղ乤ë´Ø¿ô¤Ç¡¢¤½¤ì°Ê³°¤Ï Serial.print() ¤ÈƱ¤¸¤Ç¤¹¡£

ʸ»úÎó¤òÁ÷¤Ã¤Æ¤ß¤Þ¤¹¡£

 

  1. Serial.println("hoge");

 

¥·¥ê¥¢¥ë¥â¥Ë¥¿¤Ë¤Ï¡Öhoge¡×¤È¤½¤Î¤Þ¤Þɽ¼¨¤µ¤ì¤Þ¤¹¡£ÆâÉôŪ¤Ë¤Ï ASCII ¥³¡¼¥É¤ÇÁ÷¤ë¤Î¤Ç¤·¤ç¤¦¤¬¡¢Ê¸»ú·Á¼°¤Ï¡Ö¤½¤Î¤Þ¤Þ¡×¤Îʸ»ú¤È¤·¤Æ½ÐÎϤµ¤ì¤ë¤È¤¤¤¦¤³¤È¤Ç¤¹¡£

ÊÑ¿ô¤Ç¤Ï¤É¤¦¤Ç¤·¤ç¤¦¤«¡£

 

  1.   char str[]="Hello world!";
  2.   Serial.println(str);

 

ÊÑ¿ô¤Î¾ì¹ç¤â°Õ¿Þ¤·¤¿¤è¤¦¤Ë¡¢¤½¤Î¤Þ¤Þ¡ÖHello world!¡×¤Èɽ¼¨¤µ¤ì¤Þ¤·¤¿¡£

 

¿ô»ú·Á¼°¤Ç»î¤·¤Æ¤ß¤Þ¤¹¡£

 

  1.   int num=65;
  2.   Serial.println(num);

 

¥·¥ê¥¢¥ë¥â¥Ë¥¿¤Ë¤Ï¡Ö65¡×¤Èɽ¼¨¤µ¤ì¤Þ¤·¤¿¡£¤³¤Î¾ì¹ç¤Ï¡Ö65¡×¤¬Ê¸»úÎó¤È¤·¤Æ¤½¤Î¤Þ¤ÞÁ÷¿®¤µ¤ì¤¿¤È¤¤¤¦¤³¤È¤Ê¤Î¤Ç¤·¤ç¤¦¡£

ÉâÆ°¾®¿ôÅÀ¿ô¤òÁ÷¤Ã¤Æ¤ß¤Þ¤·¤ç¤¦¡£

 

  1.   float num=12.345678;
  2.   Serial.println(num);

 

¡Ö12.34¡×¤È¾®¿ôÅÀ°Ê²¼ 2·å¤Ë¤Ê¤Ã¤Æɽ¼¨¤µ¤ì¤Þ¤·¤¿¡£

 

¿ô»ú¤Ç¤Ïɽ¼¨¥Õ¥©¡¼¥Þ¥Ã¥È¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£

 

  1.   int num=65;
  2.   Serial.println(num, BIN);

 

¤³¤Î¾ì¹ç¤Ï¡Ö1000001¡×¤È 2¿Ê¿ô·Á¼°¤Çɽ¼¨¤µ¤ì¤Þ¤¹¡£¤¢¤¯¤Þ¤Ç¤âʸ»úÎó¤È¤·¤Æ°·¤Ã¤Æ¤¤¤ë¤Î¤Ç¤¹¤«¤é¡¢BIN ¤ò»ØÄꤷ¤¿¾ì¹ç¤Ï²þ¹Ô¥³¡¼¥É¤ò´Þ¤ó¤Ç 9 ¥Ð¥¤¥ÈÁ÷¿®¤·¤Æ¤¤¤ë¤È¤¤¤¦¤³¤È¤Ë¤Ê¤ë¤Î¤Ç¤·¤ç¤¦¤«¡£

¤Ê¤ª¡¢ÉâÆ°¾®¿ôÅÀ¿ô¤Î¾ì¹ç¤Ï¥Õ¥©¡¼¥Þ¥Ã¥È¤Ç¾®¿ôÅÀ°Ê²¼¤Î·å¿ô¤ò»ØÄê¤Ç¤­¤ë¤è¤¦¤Ç¤¹¡£

 

¥Ð¥¤¥È·Á¼°¤ò»î¤·¤Æ¤ß¤Þ¤·¤ç¤¦¡£¥Ð¥¤¥È·Á¼°¤Ï¤Ò¤È¤Ä¤Îʸ»ú¤È¤·¤ÆÁ÷¤ë¤È¤¤¤¦¤³¤È¤Ç¤·¤¿¡£

 

  1.   byte b=B01000001;
  2.   Serial.println(b);

 

¡Ö65¡×¤Èɽ¼¨¤µ¤ì¤Þ¤·¤¿¡£B01000001 ¤Ï 10 ¿Ê¿ô¤Î¡Ö65¡×¤òɽ¤·¤Æ¤¤¤Þ¤¹¤Î¤Ç¡¢Ê¸»úÎó¡Ö65¡×¤òÁ÷¿®¤·¤¿¤Ã¤Æ¤³¤È¤Ç¤¹¤Í¡£

¤Ç¤Ï¡¢¤³¤ì¤Ï¤É¤¦¤Ç¤·¤ç¤¦¤«¡£

 

  1.   byte b='A';
  2.   Serial.println(b);

 

ʸ»ú¡ÖA¡×¤ò¥Ð¥¤¥È·Á¼°¤Ë¤·¤ÆÁ÷¿®¤¹¤ë¤È¡¢¥·¥ê¥¢¥ë¥â¥Ë¥¿¤Ë¤Ï¡Ö65¡×¤Èɽ¼¨¤µ¤ì¤Þ¤·¤¿¡£¡ÖA¡×¤Î ASCII ¥³¡¼¥É¤ÎÃÍ¡Ö65¡×¤¬Á÷¿®¤µ¤ì¤¿¤È¤¤¤¦¤³¤È¤Ç¤¹¤Í¡£

¥Õ¥©¡¼¥Þ¥Ã¥È¤ò»ØÄꤷ¤Æ¤ß¤Þ¤¹¡£

 

  1.   byte b='A';
  2.   Serial.println(b, BIN);

 

º£Å٤ϡÖ1000001¡×¤Èɽ¼¨¤µ¤ì¤Þ¤·¤¿¡£¡Ö65¡×¤¬ 2¿Ê¿ô·Á¼°¤ÇÁ÷¿®¤µ¤ì¤¿¤È¤¤¤¦¤³¤È¤Ç¤¹¡£

 

¤µ¤Æ¤È¡¢¤³¤¦¤·¤Æ¤ß¤Æ¤¯¤ë¤È¤Ê¤ó¤À¤«ÍͻҤ¬¤ï¤«¤Ã¤Æ¤­¤Þ¤·¤¿¡£Serial.print() ¡¢Serial.println() ¤Ç¤Ï¡¢

 

  1. ʸ»ú¤â¿ô»ú¤â²þ¹Ô¥³¡¼¥É¤â¤¹¤Ù¤Æ ASCII ¥³¡¼¥É¤Ë¤·¤ÆÁ÷¿®¤¹¤ë¡£¥·¥ê¥¢¥ë¥â¥Ë¥¿Â¦¤Ç¤Ï¡¢¼õ¤±¼è¤Ã¤¿ ASCII ¥³¡¼¥É¤Ë³ºÅö¤¹¤ëʸ»ú¤òɽ¼¨¤¹¤ë¡£
  2. ʸ»ú·Á¼°¤Ï¤½¤Î¤Þ¤ÞÁ÷¿®¤¹¤ë¡£¿ô»ú¤Ï·å¤´¤È¤Îʸ»úÎó¤È¤·¤ÆÁ÷¿®¤¹¤ë¡£
  3. ¥Ð¥¤¥È·Á¼°¤Ï¤Ò¤È¤Ä¤ÎÃͤȤ·¤Æ°·¤¤¡¢¤½¤ÎÃͤòʸ»úÎó¤È¤·¤ÆÁ÷¿®¤¹¤ë¡£

 

¤Ã¤Æ¤³¤È¤Ç¤¹¡£¤ï¤«¤Ã¤Æ¤·¤Þ¤¨¤ÐÅö¤¿¤êÁ°¤Î¤³¤È¤Ç¤¹¤±¤É¡¢¤É¤¦¤ä¤é²¶¤Ï¡¢¿ô»ú¤È ASCII ¥³¡¼¥É¤òº®Æ±¤·¤Æ¤ï¤±¤ï¤«¤é¤Ê¤¯¤Ê¤Ã¤Æ¤·¤Þ¤¦¤è¤¦¤Ç¤¹¡£

¼¡¤Ï¤â¤¦°ìÅÙ¡¢¥·¥ê¥¢¥ë¥â¥Ë¥¿¤«¤é Arduino ¤ØÁ÷¤ë¾ì¹ç¤ò»î¤·¤Æ¤ß¤¿¤¤¤È»×¤¤¤Þ¤¹¡£

 


¢£Arduino ¥·¥ê¥¢¥ëÄÌ¿®¤ò»î¤·¤Æ¤ß¤ë (ʸ»úÎó)

°ÊÁ°¡ÖArduino ¥·¥ê¥¢¥ëÄÌ¿®¤ÇL¥Á¥«¤ò»î¤¹¡×¤Ç Arduino ¤È¥Ñ¥½¥³¥ó´Ö¤Î¥·¥ê¥¢¥ëÄÌ¿®¤ò»î¤·¤Æ¤ß¤¿¤³¤È¤¬¤¢¤ê¤Þ¤·¤¿¡£¤Ç¤â¡¢¤ä¤Ã¤Æ¤ß¤¿¤é¤Ç¤­¤¿¤Ã¤Æ´¶¤¸¤Ç¤è¤¯¤ï¤«¤Ã¤Æ¤¤¤Ê¤«¤Ã¤¿¤Î¤Ç¡¢º£²ó¤Ï¤â¤¦¾¯¤·¤Á¤ã¤ó¤ÈÄ´¤Ù¤Æ¤ß¤è¤¦¤È»×¤¤¤Þ¤¹¡£

 

¤Þ¤º¡¢Reference ¤Î Serial.available() ¤Ë¤¢¤ë¥µ¥ó¥×¥ë¥¹¥±¥Ã¥Á¤Ç»î¤·¤Æ¤ß¤Þ¤·¤ç¤¦¡£

 

  1. int incomingByte = 0; // for incoming serial data
  2. void setup() {
  3.   Serial.begin(9600); // opens serial port, sets data rate to 9600 bps
  4. }
  5. void loop() {
  6.   // reply only when you receive data:
  7.   if (Serial.available() > 0) {
  8.     // read the incoming byte:
  9.     incomingByte = Serial.read();
  10.     // say what you got:
  11.     Serial.print("I received: ");
  12.     Serial.println(incomingByte, DEC);
  13.   }
  14. }

 

¥·¥ê¥¢¥ë¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤«¤é¼õ¿®¤·¤¿¥Ç¡¼¥¿¤ò¤½¤Î¤Þ¤ÞÁ÷¤êÊÖ¤¹¥¹¥±¥Ã¥Á¤Ç¤¹¡£¥·¥ê¥¢¥ë¥â¥Ë¥¿¤ò³«¤¤¤Æ»î¤·¤Æ¤ß¤Þ¤·¤¿¡£

 

ÆþÎÏ ½ÐÎÏ
123 I received: 49
I received: 50
I received: 51
I received: 10
ABC I received: 65
I received: 66
I received: 67
I received: 10

 

¥·¥ê¥¢¥ë¥â¥Ë¥¿¤«¤é¡Ö123¡×¤ÈÆþÎϤ·¤ÆÁ÷¿®¤¹¤ë¤È¡¢½ÐÎϤΤ褦¤Ëɽ¼¨¤µ¤ì¤Þ¤¹¡£¤³¤³¤Ç¡¢¤¢¤ì¡©¤È»×¤Ã¤Á¤ã¤¦¡£¤½¤Î¤Þ¤ÞÁ÷¤êÊÖ¤·¤Æ¤¤¤ë¤Ï¤º¤Ê¤Î¤Ë¡¢°ã¤¦¤¸¤ã¤ó (^_^;)

¤è¡¼¤¯¹Í¤¨¤Æ¤ß¤ë¤È¡¢Ê¸»ú¡Ö1¡×¤Î ASCII ¥³¡¼¥É¤Ï¡Ö49¡×¡¢Ê¸»ú¡Ö2¡×¤Ï¡Ö50¡×¤Ç¤¹¡£ÆþÎϤ·¤¿¥Ç¡¼¥¿¤¬ ASCII ¥³¡¼¥É¤È¤·¤Æ¤ä¤ê¼è¤ê¤µ¤ì¤Æ¤¤¤ë¡¢¤È¤¤¤¦¤³¤È¤Ç¤¹¤Í¡£

ºÇ¸å¤Î¡Ö10¡×¤Ï²þ¹Ô¥³¡¼¥É¤Î LF ¤òɽ¤·¤Þ¤¹¡£¥·¥ê¥¢¥ë¥â¥Ë¥¿¤Ç¤ÏÁ÷¿®¥Ü¥¿¥ó¤ò¥¯¥ê¥Ã¥¯¤¹¤ë¤È LF ¤¬Á÷¤é¤ì¤ë¤ó¤Ç¤¹¡£¥·¥ê¥¢¥ë¥â¥Ë¥¿¤Î±¦²¼¤Î¡ÖLF¤Î¤ß¡×¤ò¡ÖCR¤Î¤ß¡×¤È¤¹¤ë¤È²þ¹Ô¥³¡¼¥É CR ¤Î¡Ö13¡×¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£

 

¥·¥ê¥¢¥ë¥â¥Ë¥¿¤«¤éÆþÎϤµ¤ì¤¿Ê¸»úÎó¤Ï Arduino ¤ËÁ÷¤é¤ì¤Æ¥·¥ê¥¢¥ë¥Ð¥Ã¥Õ¥¡¤Ë³ÊǼ¤µ¤ì¤Þ¤¹¡£Serial.read() ¤ò¼Â¹Ô¤¹¤ë¤È¥Ð¥Ã¥Õ¥¡¤ÎºÇ½é¤Î 1 ¥Ð¥¤¥È¤¬Æɤ߼è¤é¤ì¤Þ¤¹¡£¤½¤·¤ÆºÇ½é¤Î 1 ¥Ð¥¤¥È¤Ï¥¯¥ê¥¢¤µ¤ì¤ë (¤Î¤¸¤ã¤Ê¤¤¤«¤È»×¤¤¤Þ¤¹) ¡£Serial.read() ¤ò·«¤êÊÖ¤¹¤¿¤Ó¤Ë 1 ʸ»ú¤º¤ÄÆɤ߼è¤Ã¤Æ¤¤¤­¡¢Æɤ߼è¤ì¤ë¥Ç¡¼¥¿¤¬¤Ê¤¯¤Ê¤Ã¤¿¤é¼¡¤Î¥Ç¡¼¥¿¤òÂÔ¤Á¤Þ¤¹¡£

¤½¤ó¤Ê»ÅÁȤߡ£´Ö°ã¤Ã¤Æ¤¤¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¡£´Ö°ã¤Ã¤Æ¤¤¤¿¤é¾Ð¤Ã¤Æ¤ä¤Ã¤Æ¤¯¤À¤µ¤¤¡£

 

¤È¤³¤í¤Ç¡¢¤³¤ì¤òʸ»úÎó¤Ë¤·¤è¤¦¤È»×¤Ã¤¿¤é 1 ʸ»ú¤º¤ÄÇÛÎóÊÑ¿ô¤Ë³ÊǼ¤¹¤ë¤Ê¤É¤·¤Ê¤¯¤Æ¤Ï¤¤¤±¤Þ¤»¤ó¡£Serial.available() ¤Çʸ»ú¿ô¤ò¼èÆÀ¤·¤ÆÇÛÎóÊÑ¿ô¤òÄêµÁ¤·¡¢1 ʸ»ú¤º¤Ä¤½¤³¤Ë³ÊǼ¤·¤Æ¤¤¤¯¤Ã¤Æ´¶¤¸¤«¤Ê¡£Æñ¤·¤¯¤Ï¤Ê¤¤¤±¤ì¤É¡¢ÌÌÅݤ¯¤µ¤¤ (^_^;)

 

ʸ»úÎó¤ò´Êñ¤ËÆɤ߼è¤ì¤Ê¤¤¤Î¤«¤Ê¤¡¤È¥°¥°¤Ã¤Æ¤ß¤¿¤é¡¢Serial.readString() ¤È¤¤¤¦´Ø¿ô¤¬¤¢¤ë¤³¤È¤¬¤ï¤«¤ê¤Þ¤·¤¿¡£¤¿¤À¡¢¤³¤Î´Ø¿ô¤Ï¥¿¥¤¥à¥¢¥¦¥È (¥Ç¥Õ¥©¥ë¥È¤Ï 1000ms) ¤Ç½ªÎ»¤¹¤ë¤Î¤Ç¡¢½èÍý¤¬ÃÙ¤¤¤Î¤¬·çÅÀ¡£¼ÂºÝ»î¤·¤Æ¤ß¤ë¤È¡¢¥Ç¡¼¥¿¤òÁ÷¿®¤·¤Æ 1 Éøå¤Ëɽ¼¨¤µ¤ì¤Þ¤¹¡£

¤½¤³¤Ç¡¢Serial.readStringUntil( terminator ) ´Ø¿ô¤ò»È¤¦¤³¤È¤Ë¤·¤Þ¤·¤¿¡£terminator ¤Ë '¥n' ¤ò»ØÄꤹ¤ë¤È¡¢²þ¹Ô¥³¡¼¥É¤ò¼õ¿®¤·¤¿»þÅÀ¤Ç½ªÎ»¤·¤Æ¤¯¤ì¤Þ¤¹¡£

 

ºî¤êľ¤·¤¿¥¹¥±¥Ã¥Á¤Ï¤³¤ó¤Ê´¶¤¸¡£ÊÑ¿ô̾¤ä¥³¥á¥ó¥È¤ÏÊѤ¨¤Æ¤Ê¤¤¤Î¤Ç¡¢¤Á¤ç¤Ã¤È°ãÏ´¶¤â¤¢¤ê¤Þ¤¹¤¬¡¢¤´ÍƼϡ£

 

  1. String incomingByte; // for incoming serial data
  2. void setup() {
  3.   Serial.begin(9600); // opens serial port, sets data rate to 9600 bps
  4. }
  5. void loop() {
  6.   // reply only when you receive data:
  7.   if (Serial.available() > 0) {
  8.     // read the incoming byte:
  9.     incomingByte = Serial.readStringUntil('¥n');
  10.     // say what you got:
  11.     Serial.print("I received: ");
  12.     Serial.println(incomingByte);
  13.   }
  14. }

 

¤³¤ì¤ÇÆþÎϤ·¤¿Ê¸»úÎó¤ÈƱ¤¸Ê¸»úÎ󤬽ÐÎϤËɽ¼¨¤µ¤ì¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¡£

 


| 1/5PAGES | >>

¢£calendar

S M T W T F S
     12
3456789
10111213141516
17181920212223
24252627282930
31      
<< March 2024 >>

¢£search this site.

¢£selected entries

¢£categories

¢£archives

¢£recent comment

¢£recent trackback

¢£links

¢£profile

¢£others

¢£mobile

qrcode

¢£powered

̵ÎÁ¥Ö¥í¥°ºîÀ®¥µ¡¼¥Ó¥¹ JUGEM