// イーサネットシールド2の場合 // 「スケッチ」→「ライブラリをインクルード」→「ZIP形式のライブラリをインストール」→『Ethernet2-master.zip』 // 入手先:Ethernet2 https://github.com/adafruit/Ethernet2 // 一部修正:#include → #include #include #include #include Servo servo4; // 他の人と重複しないようにA〜Fの範囲で適当に変える byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xEF }; void setup() { Serial.begin(9600); servo4.attach(4); // 4番ピンにSG90を接続 // start the Ethernet connection: Serial.println("REQUEST IP address...."); for (; Ethernet.begin(mac) == 0;) { Serial.println("Failed to configure Ethernet using DHCP"); } Serial.println(Ethernet.localIP()); delay(1000); } void loop() { Serial.println("-----------------------------------------"); Serial.print("connecting... "); EthernetClient client; char server[] = "aramoto.sakura.ne.jp"; String id = "aaa"; // ユーザー名を指定 if (client.connect(server, 80)) { Serial.println("connected & send"); // Make a HTTP request: client.println("GET /aitc/?id=" + id + "&last=1" + " HTTP/1.0"); client.println("Host: " + String(server)); client.println("Connection: close"); client.println(); } else { Serial.println("connection failed"); } char c2 = '\0'; bool body = false; String lines = ""; while (client.connected()) { if (client.available()) { char c = client.read(); // Serial.print(c); if (c != '\r') { // '\r'はヤヤコシイから無視 if (c == '\n' && c2 == '\n') { // 改行が2つ連続 → ヘッダが終了 body = true; continue; } if (body) { lines = lines + c; } c2 = c; } } else { delay(1); } } Serial.println("disconnecting..."); client.stop(); // 受信したデータを処理する // Serial.println("lines:" + lines); // BODY部を確認 String str = lines.substring(lines.indexOf(",") + 1); // CSVの2カラム目以降を抽出 // Serial.println("str:" + str); char carray[6]; str.toCharArray(carray, sizeof(carray)); int val = atoi(carray); // 文字列 → int に変換 Serial.println("id:" + id + " val:" + String(val)); int r = ((float)val)/1023*180; Serial.println ("val:" + String(val) + " r:" + String(r)); servo4.write(r); delay(1000); }