找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 9567|回復(fù): 14
收起左側(cè)

Arduino+labview(或藍(lán)牙)的多路繼電器或負(fù)載控制 附源碼與手機(jī)APP

  [復(fù)制鏈接]
ID:343850 發(fā)表于 2018-6-3 15:42 | 顯示全部樓層 |閱讀模式
所需元件:Arduino單片機(jī)一塊,電腦,HC-06藍(lán)牙模塊(可選)。若干LED(驗(yàn)證是否有效)藍(lán)牙模塊與Arduino接線:
vcc接+5V
GND接GND
RX(藍(lán)牙)接TX(單片機(jī))
TX(藍(lán)牙)接RX(單片機(jī))
Labview采用條件分支結(jié)構(gòu),與單片機(jī)采用串口通訊方式。所以可以用藍(lán)牙模塊代替,藍(lán)牙按照要求連接好安裝壓縮包內(nèi)藍(lán)牙軟件(已經(jīng)去過(guò)廣告)。
1.labview控制方式:
電腦需要安裝labview軟件,然后打開壓縮包中VI文件,單片機(jī)提前燒錄程序連接電腦,電腦軟件選擇好對(duì)應(yīng)COM口,運(yùn)行狀態(tài)下操作前面板即可。
2.藍(lán)牙控制方式
藍(lán)牙模塊先和手機(jī)配對(duì),然后打開手機(jī)軟件連接藍(lán)牙。第一次操作需要對(duì)藍(lán)牙軟件進(jìn)行設(shè)置,需要注意的是按照?qǐng)D中選擇16進(jìn)制。查看表格中編碼對(duì)應(yīng)單片機(jī)I/O口,例如:對(duì)第3腳進(jìn)行設(shè)置,開對(duì)應(yīng)的16進(jìn)制消息為“55 AA 12 0D”關(guān)對(duì)應(yīng)的消息為“55 AA 13 0D”。

IMG_20180603_143843.jpg

手機(jī)軟件界面:

手機(jī)軟件界面

手機(jī)軟件界面


手機(jī)軟件設(shè)置:

手機(jī)軟件設(shè)置

手機(jī)軟件設(shè)置


本人采用LED只是為了驗(yàn)證是否有效,實(shí)際應(yīng)用過(guò)程中可用繼電器代替控制其他負(fù)載。程序部分代碼如下沒(méi)有優(yōu)化,還請(qǐng)見(jiàn)諒。

源碼:
  1. break;        
  2. case L9on:
  3. digitalWrite(L9,HIGH);     
  4. Serial.println("L9      on");
  5. break;        
  6. case L9off:
  7. digitalWrite(L9,LOW);      
  8. Serial.println("L9      off");
  9. break;        
  10. case L10on:
  11. digitalWrite(L10,HIGH);   
  12. Serial.println("L10   on");
  13. break;        
  14. case L10off:
  15. digitalWrite(L10,LOW);   
  16. Serial.println("L10   off");
  17. break;        
  18. case L11on:
  19. digitalWrite(L11,HIGH);   
  20. Serial.println("L11   on");
  21. break;        
  22. case L11off:
  23. digitalWrite(L11,LOW);   
  24. Serial.println("L11   off");
  25. break;        
  26. case L12on:
  27. digitalWrite(L12,HIGH);   
  28. Serial.println("L12   on");
  29. break;        
  30. case L12off:
  31. digitalWrite(L12,LOW);   
  32. Serial.println("L12   off");
  33. break;        
  34. case L13on:
  35. digitalWrite(L13,HIGH);   
  36. Serial.println("L13   on");
  37. break;        
  38. case L13off:
  39. digitalWrite(L13,LOW);   
  40. Serial.println("L13   off");
  41. break;        
  42. case L14on:
  43. digitalWrite(L14,HIGH);   
  44. Serial.println("L14   on");
  45. break;        
  46. case L14off:
  47. digitalWrite(L14,LOW);   
  48. Serial.println("L14   off");
  49. break;        
  50. case L15on:
  51. digitalWrite(L15,HIGH);   
  52. Serial.println("L15   on");
  53. break;        
  54. case L15off:
  55. digitalWrite(L15,LOW);   
  56. Serial.println("L15   off");
  57. break;        
  58. case L16on:
  59. digitalWrite(L16,HIGH);   
  60. Serial.println("L16   on");
  61. break;        
  62. case L16off:
  63. digitalWrite(L16,LOW);   
  64. Serial.println("L16   off");
  65. break;        
  66. case L17on:
  67. digitalWrite(L17,HIGH);   
  68. Serial.println("L17   on");
  69. break;        
  70. case L17off:
  71. digitalWrite(L17,LOW);   
  72. Serial.println("L17   off");
  73. break;        
  74. case L18on:
  75. digitalWrite(L18,HIGH);   
  76. Serial.println("L18   on");
  77. break;        
  78. case L18off:
  79. digitalWrite(L18,LOW);   
  80. Serial.println("L18   off");
  81. break;        
  82. case L19on:
  83. digitalWrite(L19,HIGH);   
  84. Serial.println("L19   on");
  85. break;        
  86. case L19off:
  87. digitalWrite(L19,LOW);   
  88. Serial.println("L19   off");
  89. break;        
  90. case L20on:
  91. digitalWrite(L20,HIGH);   
  92. Serial.println("L20   on");
  93. break;        
  94. case L20off:
  95. digitalWrite(L20,LOW);   
  96. Serial.println("L20   off");
  97. break;      
  98. case on:
  99. Serial.println("Allon");
  100. digitalWrite(L1,HIGH);
  101. digitalWrite(L2,HIGH);
  102. digitalWrite(L3,HIGH);
  103. digitalWrite(L4,HIGH);
  104. digitalWrite(L5,HIGH);
  105. digitalWrite(L6,HIGH);
  106. digitalWrite(L7,HIGH);
  107. digitalWrite(L8,HIGH);
  108. digitalWrite(L9,HIGH);
  109. digitalWrite(L10,HIGH);
  110. digitalWrite(L11,HIGH);
  111. digitalWrite(L12,HIGH);
  112. digitalWrite(L13,HIGH);
  113. digitalWrite(L14,HIGH);
  114. digitalWrite(L15,HIGH);
  115. digitalWrite(L16,HIGH);
  116. digitalWrite(L17,HIGH);
  117. digitalWrite(L18,HIGH);
  118. digitalWrite(L19,HIGH);
  119. digitalWrite(L20,HIGH);
  120. break;        
  121. case off:
  122. Serial.println("ALLoff");
  123. digitalWrite(L1,LOW);
  124. digitalWrite(L2,LOW);
  125. digitalWrite(L3,LOW);
  126. digitalWrite(L4,LOW);
  127. digitalWrite(L5,LOW);
  128. digitalWrite(L6,LOW);
  129. digitalWrite(L7,LOW);
  130. digitalWrite(L8,LOW);
  131. digitalWrite(L9,LOW);
  132. digitalWrite(L10,LOW);
  133. digitalWrite(L11,LOW);
  134. digitalWrite(L12,LOW);
  135. digitalWrite(L13,LOW);
  136. digitalWrite(L14,LOW);
  137. digitalWrite(L15,LOW);
  138. digitalWrite(L16,LOW);
  139. digitalWrite(L17,LOW);
  140. digitalWrite(L18,LOW);
  141. digitalWrite(L19,LOW);
  142. digitalWrite(L20,LOW);
  143. break;         
  144.         }   
  145.    
  146.       }   
  147.    
  148.    }   
  149.    
  150. }   
  151.   
復(fù)制代碼

labview前面板

labview前面板

labview程序圖

labview程序圖

對(duì)應(yīng)操作

對(duì)應(yīng)操作

壓縮包文件

壓縮包文件
0.png

多路控制.rar

2.04 MB, 下載次數(shù): 133, 下載積分: 黑幣 -5

全部文件

評(píng)分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

ID:243748 發(fā)表于 2018-6-21 11:12 來(lái)自手機(jī) | 顯示全部樓層
最多能控制幾路?
回復(fù)

使用道具 舉報(bào)

ID:343850 發(fā)表于 2018-7-1 18:00 | 顯示全部樓層
wuxishun 發(fā)表于 2018-6-21 11:12
最多能控制幾路?

取決于你所用的單片機(jī)型號(hào)
回復(fù)

使用道具 舉報(bào)

ID:392459 發(fā)表于 2018-9-1 22:06 來(lái)自手機(jī) | 顯示全部樓層
前幾天用藍(lán)牙繼電器控制直流減速電機(jī)做了個(gè)藍(lán)牙門鎖
回復(fù)

使用道具 舉報(bào)

ID:373684 發(fā)表于 2018-9-24 20:19 | 顯示全部樓層
我的Labview過(guò)期了可以做這樣的實(shí)驗(yàn)嗎???
回復(fù)

使用道具 舉報(bào)

ID:170477 發(fā)表于 2018-10-14 14:45 | 顯示全部樓層
請(qǐng)問(wèn)一下~手機(jī)的APP要如何編寫或取得
回復(fù)

使用道具 舉報(bào)

ID:429183 發(fā)表于 2018-11-22 12:32 | 顯示全部樓層
這個(gè)可以加上串口屏做成觸摸屏開關(guān)
回復(fù)

使用道具 舉報(bào)

ID:360137 發(fā)表于 2019-1-1 20:28 | 顯示全部樓層
labview連接藍(lán)牙是調(diào)用電腦自帶的藍(lán)牙嗎,還是藍(lán)牙模塊(藍(lán)牙適配器)
是否還需要藍(lán)牙驅(qū)動(dòng)管理軟件。
希望能盡快回復(fù),謝謝
回復(fù)

使用道具 舉報(bào)

ID:343850 發(fā)表于 2019-1-11 21:16 來(lái)自手機(jī) | 顯示全部樓層
kpzhang 發(fā)表于 2019-1-1 20:28
labview連接藍(lán)牙是調(diào)用電腦自帶的藍(lán)牙嗎,還是藍(lán)牙模塊(藍(lán)牙適配器)
是否還需要藍(lán)牙驅(qū)動(dòng)管理軟件。
希 ...

LabVIEW數(shù)據(jù)線連的是arduino硬件,手機(jī)無(wú)線連的是藍(lán)牙模塊,藍(lán)牙與arduino Uart通訊
回復(fù)

使用道具 舉報(bào)

ID:343850 發(fā)表于 2019-1-11 21:17 來(lái)自手機(jī) | 顯示全部樓層
max_lin_7 發(fā)表于 2018-10-14 14:45
請(qǐng)問(wèn)一下~手機(jī)的APP要如何編寫或取得

附件里面有破解過(guò)廣告的APP,只支持安卓
回復(fù)

使用道具 舉報(bào)

ID:371071 發(fā)表于 2019-6-24 11:04 來(lái)自手機(jī) | 顯示全部樓層
可不可以用手機(jī)app控制4路或者8路繼電器
回復(fù)

使用道具 舉報(bào)

ID:343850 發(fā)表于 2019-7-17 15:51 | 顯示全部樓層
我行天下 發(fā)表于 2019-6-24 11:04
可不可以用手機(jī)app控制4路或者8路繼電器

可以控制,可以同時(shí)十幾路。手機(jī)裝個(gè)軟件寫好編碼就行了
回復(fù)

使用道具 舉報(bào)

ID:272625 發(fā)表于 2019-8-6 15:45 | 顯示全部樓層
好像資料,感謝樓主分享。有時(shí)間玩玩!
回復(fù)

使用道具 舉報(bào)

ID:707307 發(fā)表于 2020-4-25 16:33 | 顯示全部樓層
請(qǐng)問(wèn)用藍(lán)牙模塊鏈接LabVIEW與Arduino,出現(xiàn)-1073807246的錯(cuò)誤怎么解決?錯(cuò)誤可能是藍(lán)牙串口被占用了,因?yàn)槲矣么谡{(diào)試助手鏈接上了藍(lán)牙模塊,但是把LIFA_Base.ino燒進(jìn)Arduino中提示COM5藍(lán)牙串口被占用,因此無(wú)法將程序燒進(jìn)開發(fā)板,不是代碼的問(wèn)題,用數(shù)據(jù)線燒程序進(jìn)去是可以實(shí)現(xiàn)的,請(qǐng)問(wèn)有解決的辦法嗎?
回復(fù)

使用道具 舉報(bào)

ID:343850 發(fā)表于 2020-9-25 23:58 來(lái)自手機(jī) | 顯示全部樓層
印第安燦 發(fā)表于 2020-4-25 16:33
請(qǐng)問(wèn)用藍(lán)牙模塊鏈接LabVIEW與Arduino,出現(xiàn)-1073807246的錯(cuò)誤怎么解決?錯(cuò)誤可能是藍(lán)牙串口被占用了,因?yàn)?...

1.是arduino連接藍(lán)牙或者lab,主次要分清。
2.打開vi例程如果報(bào)錯(cuò)需要安裝visa驅(qū)動(dòng)
3.給單片機(jī)燒寫程序的時(shí)候需要取下藍(lán)牙模塊
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表