Robofun 機器人論壇

 找回密碼
 申請會員
搜索
熱搜: 活動 交友 discuz
查看: 12645|回復: 64
打印 上一主題 下一主題

Arduino藍芽感測器訊號傳給手機

[複製鏈接]
跳轉到指定樓層
#
發表於 2018-2-16 00:55:49 | 只看該作者 |只看大圖 回帖獎勵 |正序瀏覽 |閱讀模式
想請問如果我loop裡面打這些

//煙霧
  S=analogRead(smoke);
  Serial.print("煙霧濃度:");
  Serial.println(S);
  delay(500);
  
//溫溼度
  float h = dht.readHumidity();
  float t = dht.readTemperature();
  float f = dht.readTemperature(true);
  float hif = dht.computeHeatIndex(f, h);
  float hic = dht.computeHeatIndex(t, h, false);
  Serial.print("Humidity: ");
  Serial.print(h);                    
  Serial.print(" %\t");
  Serial.print("Temperature: ");
  Serial.print(t);                    
  Serial.print(" *C ");
  Serial.print(f);                    
  Serial.print(" *F\t");
  Serial.print("Heat index: ");
  Serial.print(hic);                 
  Serial.print(" *C ");
  Serial.print(hif);                  
  Serial.println(" *F");
  delay(500);


  //紅外線
  R=digitalRead(red);
  if(R==HIGH)
  {
  Serial.println("有人!");
  digitalWrite(LEDR,HIGH);
  }
  else
  {
  Serial.println("沒有人");
  digitalWrite(LEDR,LOW);
  }
  delay(500);

以上都還只是測試用
但是我要如何把資料傳給APP INVENTOR2的APP
網路上爬過也試過很多
也曾使用過這個

接收到序列阜的資料

但是我有這種的感測器

這樣就會一堆數值堆在一個標籤裡面

請問我要如何讓他判斷一個感測到的數值到要到他一個正確的位置
推薦
 樓主| 發表於 2018-2-20 11:38:02 | 只看該作者
請問改成這樣是對的嗎
R=digitalRead(red);
if(R1){
if(R == LOW){
      Serial.write(0);
      R1=0;
      digitalWrite(led,LOW);
}
}
else{
   if(R==HIGH){
      Serial.write(1);
      R1=1;
      digitalWrite(led,HIGH);
  }
}
if(digitalRead(button) == HIGH){
if(digitalRead(led) == HIGH){
       digitalWrite(led, LOW);
       delay(500);
      }
else{
       digitalWrite(led, HIGH);
       delay(500);
      }
    }
紅外線那邊可以用按鈕控制燈(無論有沒有感應到)
APP端連接到藍芽就會黑屏然後無回應 是不是因為很多感應器都用在一起的關係
63#
發表於 2018-3-21 22:07:34 | 只看該作者
本帖最後由 0983676450 於 2018-3-21 22:09 編輯

痾  我不清楚我也是亂試的跟我這邊溫度差不多就想說對了

說明書是這個媽?

我不知道要截哪個

07.PNG (22.75 KB, 下載次數: 222)

07.PNG

08.PNG (92.29 KB, 下載次數: 206)

08.PNG

DHT11說明書.pdf

677.52 KB, 下載次數: 613

62#
發表於 2018-3-21 21:37:31 來自手機 | 只看該作者
不會吧!?怎麼可能是30這種數字?
61#
發表於 2018-3-21 21:17:22 | 只看該作者
本帖最後由 0983676450 於 2018-3-21 21:33 編輯

謝謝已經成功了  我將溫度除以30就正常了多了
60#
發表於 2018-3-21 19:19:42 | 只看該作者
本帖最後由 超新手 於 2018-3-21 19:37 編輯

而且 97 是煙霧值, 98 是濕度, 99 是温度
App 寫錯了
而且為什麼 app 端要把值除以 100?
因為我沒規格書,
所以我不確定要怎麼改才是對的

簡單一點,就直接改成除以10 就可以了
59#
發表於 2018-3-21 18:36:39 | 只看該作者
成功了謝謝 可是為甚麼 我溫度變6.14 濕度4.09 這是哪邊要改??
58#
發表於 2018-3-21 17:53:43 來自手機 | 只看該作者
另外,SoftwareSerial i2cbt(rx,tx)。 所以10 和 11 也要對調,請自己確認一下
57#
發表於 2018-3-21 17:48:09 來自手機 | 只看該作者
應該有4個地方要改
56#
發表於 2018-3-21 17:46:47 來自手機 | 只看該作者
那你就要把程式中, 所有的Serial 改成I2CBT
55#
發表於 2018-3-21 17:35:54 | 只看該作者
TXD 10 RXD 11藍芽
我是使用HC-06 拿到的時候被告知是115200的
話說我DHT11的 VCC是接在3.3V那會影響嗎
54#
發表於 2018-3-21 17:30:14 | 只看該作者
1.你的藍牙是接那根腳?0 和 1嗎?
2. 你的藍牙鮑率是 115200嗎?
    一般如果使用 HC-05,預設是9600
53#
發表於 2018-3-21 17:08:08 | 只看該作者
本帖最後由 0983676450 於 2018-3-21 17:09 編輯

不好意思  我抄三樓大大的程式碼 不懂他怎麼使用藍芽連線 才自行加了一些能讓他能連線
可是我溫溼度還是不會顯示  但是單獨用三樓的程式碼 我也不能連線 求您幫忙了
還是在畫面編排那有東西需要改??   DHT11的DAT是接再3沒錯吧??

05.PNG (78.01 KB, 下載次數: 148)

05.PNG

06.PNG (45.1 KB, 下載次數: 151)

06.PNG
52#
發表於 2018-3-21 15:38:43 來自手機 | 只看該作者
你沒照抄吧?最後那個紫色發送長度1位元之數字應該是97
51#
發表於 2018-3-21 14:17:43 | 只看該作者
本帖最後由 0983676450 於 2018-3-21 14:18 編輯

不好意思 我抄了3樓的APP可是我溫度與濕度都不會動 在求解惑  還是我搞錯方向了??

Arduino
#include <SoftwareSerial.h>
SoftwareSerial I2CBT(10,11);
#include <DHT.h>     
#define DHTTYPE DHT22
const int smoke=2;
const int tem=3;
DHT dht(tem, DHTTYPE);
void setup() {
  Serial.begin(115200);
  pinMode(smoke,INPUT);
  pinMode(tem,INPUT);
  dht.begin();
}
void loop() {
  int x = analogRead(smoke);
  int y = dht.readHumidity();
  int z = dht.readTemperature();
  int a = dht.readTemperature(true);
  byte Data[12];
  Data[0]=97;
  Data[1]=x/256;
  Data[2]=x%256;
  Data[3]='b';
  Data[4]=y/256;
  Data[5]=y%256;
  Data[6]='c';
  Data[7]=z/256;
  Data[8]=z%256;
  Data[9]='d';
  Data[10]=a/256;
  Data[11]=a%256;
  
if (Serial.available() > 0) {
    char val = Serial.read();
    switch (val) {
      case 97:
        for (int i = 0 ; i < 12 ; i++) {
         
          Serial.write(Data[ i]);
        }
         break;
    }
}
}

3.PNG (43.8 KB, 下載次數: 163)

3.PNG

4.PNG (59.7 KB, 下載次數: 161)

4.PNG

5.PNG (57.14 KB, 下載次數: 151)

5.PNG
50#
發表於 2018-3-21 06:18:34 來自手機 | 只看該作者
你這樣寫當然會當機。他寫的 app 程式在3樓
49#
發表於 2018-3-20 22:26:36 | 只看該作者
本帖最後由 0983676450 於 2018-3-20 23:44 編輯

不好意思 我APP選擇藍芽那會直接黑頻當掉 我找不出問題 拜託
arduino
#include <SoftwareSerial.h>
SoftwareSerial I2CBT(10,11);
#include <DHT.h>     
#define DHTTYPE DHT22
const int smoke=2;
const int tem=3;
DHT dht(tem, DHTTYPE);
void setup() {
  Serial.begin(115200);
  pinMode(smoke,INPUT);
  pinMode(tem,INPUT);
  dht.begin();
}
void loop() {
  int x = analogRead(smoke);
  int y = dht.readHumidity();
  int z = dht.readTemperature();
  int a = dht.readTemperature(true);
  byte Data[12];
  Data[0]=97;
  Data[1]=x/256;
  Data[2]=x%256;
  Data[3]='b';
  Data[4]=y/256;
  Data[5]=y%256;
  Data[6]='c';
  Data[7]=z/256;
  Data[8]=z%256;
  Data[9]='d';
  Data[10]=a/256;
  Data[11]=a%256;
  
if (Serial.available() > 0) {
    char val = Serial.read();
    switch (val) {
      case 97:
        for (int i = 0 ; i < 12 ; i++) {
         
          Serial.write(Data[ i]);
        }
         break;
    }
}
}

3.PNG (50.16 KB, 下載次數: 156)

3.PNG

4.PNG (33.94 KB, 下載次數: 177)

4.PNG

5.PNG (57.14 KB, 下載次數: 165)

5.PNG
48#
發表於 2018-3-20 18:44:59 | 只看該作者
我用方法2 成功了感謝大哥!
47#
發表於 2018-3-20 18:03:56 | 只看該作者
Library 衝到了吧
1) 先把其中一個目錄(例如 DHT_sensor_library)搬移到其他地方
重開 Arduino IDE, 再重新編譯程式
2) 如果 1) 不行 ,
就把 DHT_sensor_library 移動回原來的目錄,
把 DHT_sensor_library_master 搬移到其他地方
重開 Arduino IDE, 再重新編譯程式
46#
發表於 2018-3-20 17:33:46 | 只看該作者
不好意思我複製你的arduino 的程式碼後出現 該怎麼解決?

001.PNG (5.8 KB, 下載次數: 155)

001.PNG
45#
 樓主| 發表於 2018-2-21 21:18:09 | 只看該作者
那有兩個”如果…則…否則”的話呢

(前面的幾個)if(){
if(){
if(){
{
else{
}
if(){
}
else{
}
}
}
這樣嗎
44#
發表於 2018-2-21 20:30:39 | 只看該作者
.“兩個都要加”
不過.......
其實加一個在”如果…則…否則”的下面即可
相當於“兩個都要加”
也就是
if(){
//加在這
}else{
//加在這
}
其實等於
if(){
}else{
}
//加在這
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

小黑屋|手機版|Archiver|機器人論壇 from 2005.07

GMT+8, 2024-5-4 17:21 , Processed in 0.270556 second(s), 10 queries , Apc On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回復 返回頂部 返回列表