0

私のarduinoにDHT11温度/湿度センサーが接続されています。arduino シリアル モニターへの正しい読み出しができました。

今、そのデータを SerialReceive を介して Max/msp にルーティングしたいと考えています。私は自分の arduino に接続しており、arduino のデータ読み取りの更新を取得すると同時に、私に衝撃を与えます。唯一の問題は、Max/msp で同じデータを取得できないことです。arduino のデータを Max/msp の同じデータに変換するにはどうすればよいですか。

コード Arduino:

#include "dht.h"  //library

dht DHT;

#define DHTPIN 2

int VTemperature = 2;
int VHumidity = 2;

void setup(){
  Serial.begin(9600);
}

void loop()
{
  int chk = DHT.read11(DHTPIN);
  VTemperature = digitalRead(DHT.temperature);
  Serial.println(DHT.temperature);
  VHumidity = digitalRead(DHT.humidity);
  Serial.println(DHT.humidity);

  Serial.print("\r");
  delay(1000);


}

パッチ最大/Msp

----------begin_max5_patcher----------
902.3oc0YtrbaBCEFds8SgFV65QW3l6p1c8cnSlLxfhCoXIFPj5jL4cu5BNE
mfswxXhyFtHqH8qONmi9g7xzIdKEaXUdfuC9MXxjWlNYhoIcCSZteh2Z5ljb
Zkoad750KYkdyr+j5tLdNSZ9MTSiUxmxYlN2pahZ419gaZsfJStOiu51RVhz
pALdw7fYfPHdNbFH.pOhUWCto4u4NAWVk8rY3Q5NYaNK0LehkO7sXuVckSWa
UxOKyn4duMwkp1krxaYb5RqV2NRVcJepfYUjZM.7VR4q7.2n6wqSmpOLqu3h
8Wkn1NwR1FyB0qnLiKAURprtB7iBQQcA.cVPEten5iHZN5iMmPjXCUI6ipjt
nJ9PXcn4RJURu3TAG52lJp.uSmJ9vgkJqYUUzUrOfEQAi2IGv8jCn8yARjdg
ShLQEDWnPTzwS49XZkSoS6CPI4hJ1kkP9Hn8jCDJ.MZDZOIV07BZxe.P.7Dy
mRD4hRqhfyiB8ifgyTWEiVDBi0WEDgC7WnxfZQjtq2qW62QSXGIwDQH58.TC
plzgF3iQ6i2n4AKBPwQeD5tvbU0Gc8d8I2n+Ec2wH34t4H9qvli2UJVW8z5k
h7wOVEc73RrIhLB5Zb4hO6ZAToHqSxRFCxdZUA7WXK95LsQPGvcdVkbPQ9y4
fUkBsclvSbWpOs5u9ggl5uwNSdm1za1.GrWwxUqH.BdhQ76hPhaHz5sLvYD5
6.AMkim8+yCqQKiA8KrUTBx5H0EC4imQKoX0pb1YsU+A2rwTwiXe0MLb6w2X
Q6DMem161cSNcmool3RgJQCBGj3idmpYAkMbIJ7voZcFzf51UzuX4OxjYIzC
mpMrEqzApfDfp39WAi5VzGadQZ6wSD8DGIeiO8cguYdU6cye+Wzxncc669Do
RTWlrcDablA9u5SYUxLNUlI3s5CZm9beVZJi2lSoYU5LOyRD1YjQeUi90pOp
bHilbBPWUxw+JSN8PM5uVzUjbzeRuqH4fPipbvmqbVmkVHT0gZp0fhMuUtu0
rGxOvX.b26BsepQe6miMrs0lgawQ5Sj3ngZTudziGO8fGfxFu+QOw7OsfX+7
Lsu6B73E0m5dnwqRy6lpt0yhwSN8PMwWUpw0XeqaGZQwirxplgzHDkSyGrNA
MuQoJZkau0LhdkrGy11eaKzRkyNoxVWco0+0lP6aT3sVjxJ40YFCbS0y7qS+
GLY+hsE
-----------end_max5_patcher-----------
4

1 に答える 1

1

analogReadではなくdigitalReadを使用してもよろしいですか? あなたが使用しているセンサーには詳しくありませんが、analogRead が必要になるようです。とにかく、私はこの同じシリアルポートの質問をしたところ、ここで答えを見つけました:

http://www.underwater.ca/blog/arduino-to-max-msp/

上記のリンクのパッチは、Arduino シリアル モニターで表示できるのと同じデータを取り込みます。アナログ値を区切るには、変数の間にスペースを追加する必要があるため、ループは次のようになります。

void loop() {
  int chk = DHT.read11(DHTPIN);
  VTemperature = digitalRead(DHT.temperature);
  Serial.print(DHT.temperature);
  Serial.print(" ");                           //Delimiter, important!
  VHumidity = digitalRead(DHT.humidity);
  Serial.println(DHT.humidity);
  delay(1000);
}`

max 内で、unpack オブジェクトを使用して 2 つの値 (現在はスペースで区切られています) のメッセージを解析できます。

于 2016-06-02T03:55:39.757 に答える