超新手 發表於 2017-12-28 15:19 好的謝謝 我再試試看 |
本帖最後由 超新手 於 2017-12-28 16:02 編輯 繼電器? 應該不行吧? 電池? 不會是碳鋅電池吧? 如果有變壓器, 不如先拿掉電池, 接變壓器加接USB試看看 先確定真的是電力問題 |
超新手 發表於 2017-12-28 14:29 我的接法是 9v電池輸入arduino 再由arduino的5v輸出給兩個元件 應該是你說的第二點八 如果買個繼電器 有辦法解決嗎 謝謝!! |
你應該有另外給 Vin 吧? 不是直接接 USB 吧? 有兩種可能 1. Vin 所能提供的電流太小 換一個大電流的變壓器(如果你是用電池, 並聯電池)即可 2. Arduino 的+5V 不夠力 這就比較麻煩, 可能要自己外掛一個 Vin 轉 5V 的隆壓模組 然後把一部份的電源接到這個新 5V 上升(要記得共地) 如果你有另一個 arduino, 可以先把兩個arduino共地, 新的 arduino 看是要接 VIN 或 USB, 由新的 arduino 提供 5V 給藍牙, 看看還會不會有問題 如果是, 再決定要怎麼做.... 小心別接錯了 |
超新手 發表於 2017-12-27 12:32 超新手大大 感謝你昨天給的建議 我把return一道loop最外層就成功了 想在請問你 因為我藍芽和空氣感測器都接5v但好像推不太動 藍芽的燈有時就不閃了 想請問你 有什麼建議可以解決嗎 謝謝!! |
超新手大大感謝你的回覆 |
應該都有 1) app端 這個程式下了一個 byte, 就馬上去讀 資料應該沒辦法回傳的這麼快, 所以很可能會在下一輪才回傳 2) Arduino 因為 delay(1000); 的關係 這個程式每隔一秒才處理一次命令 而你卻一次計時器中斷就送了 1, 2, 3, 4 四個命令 當然是可以把計時中斷弄慢一點 但根本方法還是把程式寫的有效率點 |
超新手 發表於 2017-12-27 11:45 超新手大大非常感謝你的回覆 想在請問你 app接收數值時 總是溫度接收最快 其他數值總會延遲 是因為arduino端的問題還是app端的問題 謝謝 |
本帖最後由 超新手 於 2017-12-27 11:58 編輯 >>如果我直接把return 拿掉的話他可以繼續往下跑嗎 不行, 會漏掉命令 因為你在前面温濕度己經執行一次 serialA=I2CBT.read(); 你又在 空氣品質 這邊又執行 一次 serialA=I2CBT.read(); 這樣就會漏命令 整個程式最好只有一個 serialA=I2CBT.read(); 不過你可以先拿掉試看看, 因為這樣改比較簡單 反正多讀幾次, 應該有一次會成功 |
本帖最後由 超新手 於 2017-12-27 10:38 編輯 1. 你的程式根本到不了 //空氣數值透過藍芽傳送到app 這一行 在這行之前, 副程式就 return 掉了 2. 比較簡單的改法, 就是 把//空氣數值透過藍芽傳送到app 以下的程式, 1) 拿掉其中的 serialA=I2CBT.read(); 2) 然後整個 移到 if (serialA == 2){ ....... } 的下面即可 3) 再把 long pmat25=0,pmat100=0; 移到最上(外)層, 也就是變成全域變數 3. 另外...你的APP 是對的嗎? |
小黑屋|手機版|Archiver|機器人論壇 from 2005.07
GMT+8, 2024-11-22 01:31 , Processed in 0.172527 second(s), 10 queries , Apc On.
Powered by Discuz! X3.2
© 2001-2013 Comsenz Inc.