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

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

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

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

Q&A

解決済

3回答

891閲覧

合計や比率を表示させたい

breadboardtaro

総合スコア10

Arduino

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

0グッド

0クリップ

投稿2022/07/31 20:57

編集2022/07/31 22:52

arduinoで複数のロードセルからの情報を無線やり取りするプログラムを作っています。

arduino

1#include <LiquidCrystal_I2C.h> 2 3#include <LiquidCrystal_I2C.h> 4 5#include <LiquidCrystal_I2C.h> 6 7LiquidCrystal_I2C lcd(0x27, 20, 4); 8#include <RF24Network.h> 9#include <RF24.h> 10#include <SPI.h> 11 12 13 14RF24 radio(10, 9); // nRF24L01 (CE,CSN) 15RF24Network network(radio); // Include the radio in the network 16const uint16_t this_node = 00; // Address of this node in Octal format ( 04,031, etc) 17const uint16_t node01 = 01;// Address of the other node in Octal format 18const uint16_t node02 = 02; 19const uint16_t node03 = 03; 20const uint16_t node04 = 04; 21 22 23 24void setup() { 25 26 Serial.begin(9600); 27 SPI.begin(); 28 radio.begin(); 29 network.begin(90, this_node); //(channel, node address) 30 radio.setDataRate(RF24_2MBPS); 31 32 33 lcd.init(); 34 lcd.backlight(); 35 lcd.setCursor(0, 0); 36 lcd.print("Welcome"); 37 delay (3000); 38 String BLANK = " "; 39 lcd.setCursor(0, 0); 40 lcd.print( BLANK ); 41 lcd.setCursor(0, 1); 42 lcd.print( BLANK ); 43 44 45} 46 47void loop() 48{ 49 network.update(); 50 //===== Receiving =====// 51 while ( network.available() ) { 52 RF24NetworkHeader header; 53 char incomingData[20]; 54 55 network.read(header, &incomingData, sizeof(incomingData)); 56 57 if (header.from_node == 01) { // If data comes from Node 01 58 Serial.println(incomingData); 59 lcd.backlight(); 60 lcd.setCursor(0, 0); 61 lcd.print(incomingData); 62 } 63 if (header.from_node == 02) { // If data comes from Node 02 64 Serial.println(incomingData); 65 lcd.backlight(); 66 lcd.setCursor(10, 0); 67 lcd.print(incomingData); 68 } 69 if (header.from_node == 03) { // If data comes from Node 03 70 Serial.println(incomingData); 71 72 lcd.backlight(); 73 lcd.setCursor(0, 2); 74 lcd.print(incomingData); 75 } 76 if (header.from_node == 04) { // If data comes from Node 04 77 Serial.println(incomingData); 78 79 lcd.backlight(); 80 lcd.setCursor(10, 4); 81 lcd.print(incomingData); 82 } 83 } 84} 85 86

node,01~04の値を合計や比率をLCDに表示させたいです。

発生している問題・エラーメッセージ

invalid array assignment

該当のソースコード

ソースコード

試したこと

arduino

1char FL「20」; 2 if (header.from_node == 01) { // If data comes from Node 01 3  (incomingData)=FL; 4 Serial.println(incomingData); 5 lcd.backlight(); 6 lcd.setCursor(0, 0); 7 lcd.print(incomingData);

このようにやってみましたが上記のエラーになります
(incomingData)=FL;
この部分でエラーになります

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

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

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

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

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

y_waiwai

2022/07/31 22:46

そのエラーと言うのはどの行で出るんでしょうか
guest

回答3

0

ベストアンサー

node,01~04の値を合計や比率をLCDに表示させたいです。

その、node,01~04の値を全部足しこんでいけば合計を出すことができます

投稿2022/07/31 22:55

y_waiwai

総合スコア87774

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

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

breadboardtaro

2022/07/31 22:59

私もそう考えているのですが (incomingData)を{ }内から持ち出すことができなくて
y_waiwai

2022/07/31 23:10

incomingDataってのは文字列なんでしょうか なら、その文字列を整数に変換すればいいって話になりますが。 まだまだツッコミどころはありそうか気がします
breadboardtaro

2022/07/31 23:54

文字列です 一度試してみます まだ始めたばかりなのですみません
breadboardtaro

2022/08/05 11:45

おかげで解決できました ありがとうございます
guest

0

Arduino

1{ 2 network.update(); 3 //===== Receiving =====// 4 while ( network.available() ) { 5 RF24NetworkHeader header; 6 char incomingData[20]; 7 float nodedata ; 8 float data[4]; 9 network.read(header, &incomingData, sizeof(incomingData)); 10 11 nodedata = atoi(incomingData); 12 Serial.println("FL" + String(data[0])); 13 Serial.println("FR" + String(data[1])); 14 Serial.println("RL" + String(data[2])); 15 Serial.println("RR" + String(data[3])); 16 Serial.println("total" + String((data[0]) + (data[1]) + (data[2]) + (data[3]))); 17 if (header.from_node == 01) { // If data comes from Node 01 18 data[0] = nodedata; 19 20 } 21 22 if (header.from_node == 02) { // If data comes from Node 02 23 data[1] = nodedata; 24 25 } 26 if (header.from_node == 03) { // If data comes from Node 03 27 data[2] = nodedata; 28 } 29 if (header.from_node == 04) { // If data comes from Node 04 30 data[3] = nodedata; 31 32 } 33 } 34 } 35 36

投稿2022/08/05 11:46

breadboardtaro

総合スコア10

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

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

0

char FL「20」;が全角だからではないでしょうか?

投稿2022/07/31 21:02

RiaFeed

総合スコア2701

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

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

breadboardtaro

2022/07/31 21:06

早速回答ありがとうございます 半角にしても同じでした。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問