質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
C

C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

Arduino

Arduinoは、AVRマイコン、単純なI/O(入出力)ポートを備えた基板、C言語を元としたArduinoのプログラム言語と、それを実装した統合開発環境から構成されたシステムです。

Q&A

解決済

1回答

2511閲覧

Arduino unoでエラー

kkkooo

総合スコア7

C

C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

Arduino

Arduinoは、AVRマイコン、単純なI/O(入出力)ポートを備えた基板、C言語を元としたArduinoのプログラム言語と、それを実装した統合開発環境から構成されたシステムです。

0グッド

0クリップ

投稿2016/11/23 08:25

編集2016/11/23 10:31

###前提・実現したいこと
ここに質問したいことを詳細に書いてください
(例)PHP(CakePHP)で●●なシステムを作っています。
■■な機能を実装中に以下のエラーメッセージが発生
arduinoを使いセンサが反応したらメッセージをツイートする
###発生している問題・エラーメッセージ

エラーメッセージ ```error: 'Ethernet2' was not declared in this scope ###該当のソースコード #include<SPI.h> #include <Ethernet2.h> #include <EthernetUdp2.h> #include <Twitter.h> byte mac[] = { }; byte ip[] = {}; Twitter twitter(""); int alarm = 7; int lever = 6; int greenLED = 4; void setup() { delay(1000); Ethernet.begin(mac, ip); Serial.begin(9600); pinMode(alarm, INPUT); pinMode(lever, INPUT); pinMode(greenLED, OUTPUT); } void loop() { if (alarm == HIGH) { twitter.post("alarm activated"); } else { digitalWrite(greenLED, HIGH); } } ###試したこと 課題に対してアプローチしたことを記載してください ###補足情報(言語/FW/ツール等のバージョンなど) より詳細な情報 ethernet.hの部分をethernet2.hに変えてあります arduino uno バージョン1.7.11

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

シールドの違いで2になって動かなくなった例がいくつかありました。
インクルードに於いて、

arduino

1#include <EthernetUdp2.h>

はインクルードされましたか?
それとloop()
の中の先頭に

arduino

1EthernetClient client = server.available();

を入れないとうまくいなかったとの報告もあります。
今一度ご確認下さい。

投稿2016/11/23 08:34

MasahikoHirata

総合スコア3747

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kkkooo

2016/11/23 08:39 編集

入れてみたのですが In function 'void setup()': error: 'Ethernet2' was not declared in this scope In function 'void loop()': error: 'server' was not declared in this scope と出てしまいます
MasahikoHirata

2016/11/23 08:52

ソースが無かったのでリンクから’なんか入会’をしてみてようやくソースが。 予想では’ Ethernet.begin(mac, ip);’の部分を 'Ethernet2.begin(mac, ip);'に変更されていませんか?’変更されているのであれば元の' Ethernet.begin(mac, ip);'で再度コンパイルしてみてください。
kkkooo

2016/11/23 09:00

お手数かけてしまい申し訳ありません 変更したのですが In function 'void loop()': error: 'server' was not declared in this scope は変わらず出てしまいます
MasahikoHirata

2016/11/23 09:18

では’EthernetClient client = server.available();’をコメントアウトして試してみてください。
kkkooo

2016/11/23 09:58

fatal error: Ethernet.h: No such file or directory #include <Ethernet.h> と出ました ^ compilation terminated.
MasahikoHirata

2016/11/23 10:14

試して頂きたいのが、インクルードの順番。先に`#include <<Ethernet2.h>`、次に`#include <EthernetUdp2.h>`の順番です。また先ほども指摘させて頂きましたが、`Ethernet2.begin(mac, ip); `になっていますので、`Ethernet.begin(mac, ip); `です。それと`byte mac[] = { }; `にはボードにシールで貼ってあるMACを設定しましょう。
kkkooo

2016/11/23 10:32

ご指摘していただいた部分を変更しました。もともとbyte mac[]={};の部分はボードのMACでした しかしまた同じエラーが出てしまいます
MasahikoHirata

2016/11/23 10:42

エラーとは’fatal error: Ethernet.h: No such file or directory’ですか?
kkkooo

2016/11/23 10:45 編集

fatal error: Ethernet.h: No such file or directory #include <Ethernet.h> ^ compilation terminated です
MasahikoHirata

2016/11/25 01:01

’#include <Ethernet.h>’が無いエラーですが、ソースに書いていないのであれば、他の'.h'が参照している可能性があります。
MasahikoHirata

2016/11/25 01:05

間違えて’#include <Ethernet.h>’を消していませんか?
MasahikoHirata

2016/11/25 02:00

今、試しに自分のArduinoのIDEを立ち上げてサンプルスケッチの中のEthernet関係を開いてみました。#include <Ethernet.h>のあるスケッチをコンパイルしましたが問題なく通りました。元々IDEに付属しているヘッダーなので、見つからないのであれば、IDEを再インストールすることを勧めます。作成したスケッチは消えないので。
kkkooo

2016/11/25 03:52

Ethernet.hをいれると error: previous definition of 'class SnSR' class SnSR { error: previous definition of 'class IPPROTO' class IPPROTO { というエラーが出てしまいます IDEを入れなおしてもこれと同様のエラーとEthernet.hを抜くとcompilation terminatedエラーが出てしまいます
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問