資料介紹
描述
一、簡介
該項目的主要動機是通過從 Bolt Android 應用程序手動更改或自行更改來控制光的強度。
亮度的自我改變是通過使用光檢測電阻 (LDR) 輸入周圍亮度來完成的,它的讀數(shù)映射到 LED 的強度范圍,并使用脈沖寬度調(diào)制 (PWM) 生成可變輸出。
為了手動控制它,我們有一個可以訪問 BOLT 云的用戶界面。在這個界面中,我們可以看到一個 Pulse Width Modulation (PWM) 值,范圍從 0 到 255,0 表示 LED 關(guān)閉,255 表示 LED 在最大亮度下打開。此界面可在螺栓云和智能手機 BOLT 應用程序上訪問。
![poYBAGOAcZyAAaRtAAqgjNR7dC0889.jpg](https://file.elecfans.com/web2/M00/7D/B3/poYBAGOAcZyAAaRtAAqgjNR7dC0889.jpg)
最后查看原理圖。
2. LED亮度自動控制
在本節(jié)中,我們將了解如何根據(jù) LDR 測量的周圍亮度自動控制 LED 的亮度。
2.1 LED和LDR的電路連接
下面給出的是硬件連接。
LDR 的輸入取自 A0,輸出寫入引腳 1。使用 BOLT 模塊的 3.3V 引腳為 LDR 供電。LDR 上的電阻隨著落在其上的光強度的變化而變化。Bolt 模塊可以讀取電壓值,因此制作了一個分壓器電路,Bolt 模塊的輸入是 10k 電阻兩端的電壓,這取決于 LDR 兩端的電阻。LED 的正極(較長)端子連接到數(shù)字引腳 1,負極(較短)端子連接到地。數(shù)字引腳 1 輸出充當 LED 的電源,因此決定了它的強度。
![poYBAGOAcaWAJZEmAAlaV4AQvjs733.jpg](https://file.elecfans.com/web2/M00/7D/B3/poYBAGOAcaWAJZEmAAlaV4AQvjs733.jpg)
2.2代碼文件
這部分的代碼是在 Ubuntu(Linux) 上用 python 編寫的。我們需要一個配置文件,其中包含每個用戶/設備的特定密鑰。我們必須在我們的主代碼文件中導入這個文件才能使用各種屬性。
(命名為 conf.py):
API_KEY = "XXXX" //Bolt Cloud API Key
DEVICE_ID = "BOLTXXXX" //Device ID of the Bolt Module
Bolt 模塊的 API 密鑰和設備 ID 可以如下確定:
- 按照https://cloud.boltiot.com/ 上的說明將您的 Bolt 設備連接到 Bolt 云。
- 之后將出現(xiàn)以下屏幕。螺栓設備 ID 以黃色突出顯示。
![pYYBAGOAcaeAdJ0hAABmKqy3kkU821.jpg](https://file.elecfans.com/web2/M00/7E/3F/pYYBAGOAcaeAdJ0hAABmKqy3kkU821.jpg)
- 轉(zhuǎn)到 API 部分以了解 API 密鑰。
![poYBAGOAcaqAeQztAAB1A0qFAlE893.jpg](https://file.elecfans.com/web2/M00/7D/B3/poYBAGOAcaqAeQztAAB1A0qFAlE893.jpg)
2.3 LDR 值到 LED 值的映射
LDR 的值范圍是 0 到 1024,LED 的值范圍是 0 到 255。輸入到 LED = 255 - (從 LDR 輸出 / 4)進行了近似 4:1 的映射。
3.代碼
?
3.1 自動功能代碼
from boltiot import Bolt
import json,time //importing python libraries
mybolt= Bolt(conf.API_KEY,conf.DEVICE_ID)
def set_intensity(pin,value)
mybolt.analogWrite(pin,value)
def control(sensor_val):
led_int= 255-(sensor_val*(255/1024) #output value of led
return led_int
while True:
print("Reading sensor value")
resp_ldr=mybolt.analogRead('A0') #read LDR value from A)
data=json.loads(resp_ldr) #convert value to json format
print("Sensor value is: " + str(data['value'])) #print the value
try:
sensor_val=int(data['value'])
print("Light intensity")
led_float=control(sensor_value)
led_value=int(led_float)
print(led_value)
set_intensity('1',led_value)
# in case of any error
except error as e:
print("Error occured:- ")
print(e)
time.sleep(5)
3.2 Python的輸出
![pYYBAGOAca2AcGF2AABlu4YbO-8135.png](https://file.elecfans.com/web2/M00/7E/3F/pYYBAGOAca2AcGF2AABlu4YbO-8135.png)
3.3手動功能
- 選擇產(chǎn)品選項卡,然后單擊添加產(chǎn)品。
- 輸入產(chǎn)品名稱并添加一個圖標。
- 單擊配置此產(chǎn)品符號,然后轉(zhuǎn)到代碼選項卡。
![poYBAGOAcbGAT0HPAAB_wNyLrIY891.jpg](https://file.elecfans.com/web2/M00/7D/B3/poYBAGOAcbGAT0HPAAB_wNyLrIY891.jpg)
- 命名并選擇文件類型為 html 并將以下代碼粘貼到代碼窗口中。
<html>
<head>
<title>Bolt IoT Platformtitle>
<script type="text/javascript" src="https://cloud.boltiot.com/static/js/boltCmmands.js">script>
<script>
setKey('{{ApiKey}}','{{Name}}');
var last_pwm_value=-1;
function updateBuzzer(){
var pwm_value=document.getElementById('pwm_value').value;
if(last_pwm_value!=pwm_value){
analogWrite(1,pwm_value);
document.getElementById('pwm_value_display').innerHTML=pwm_value;
}
last_pwm_value=pwm_value;
}
setInterval(updateBuzzer,1000);
script>
head>
<body>
pwm value:
<input type='range' id='pwm_value' min="0" max="255" value="0">
<div id='pwm_value_display'>0div>
body>
html>
- 單擊保存以保存您的配置,然后返回到產(chǎn)品屏幕。
- 單擊“將設備鏈接到此產(chǎn)品”,然后選擇您的 BOLT WIFI 模塊。
- 單擊“部署配置”圖標以成功部署應用程序并使用智能手機 Bolt 應用程序。
- 使用界面上的旋鈕控制光強度。
![pYYBAGOAcbSADtKyAABYchLNTkc219.png](https://file.elecfans.com/web2/M00/7E/3F/pYYBAGOAcbSADtKyAABYchLNTkc219.png)
?
- 使用IOT BOLT和SmartPhone控制LED的強度
- 使用Bolt IoT和智能手機控制LED的強度
- 如何使用Arduino輕松更改藍牙模塊名稱
- 使用Swift語言更改LED閃爍率
- pcb可讓您從電池消除器更改您的設備
- 更改AN-712(AD9625層5)
- 更改AN-753(AD9250陣列5)
- AN-331:將您的VGA設計從171/176更改為ADV471
- Protel99se如何批量更改文件屬性詳細教程說明 0次下載
- Xilinx濕度指示卡(HIC)的更改資料說明 5次下載
- MRF24WG0MA MB軟件議棧移植更改的詳細資料概述
- 廈華42寸電原板更改方案
- 如何更改Pads Layout(PowerPCB)的快捷鍵 0次下載
- 基于PDM的工程更改管理的研究與實現(xiàn)
- TFT字體更改器
- 更改KUKA C 4 Windows系統(tǒng)的密碼 855次閱讀
- 如何查看及更改函數(shù)/函數(shù)塊的調(diào)用環(huán)境 654次閱讀
- 如何更改“KukaUser”的初始密碼 1897次閱讀
- 博途案例:模塊更新與接口更改的實現(xiàn)方法 2476次閱讀
- 寄生參數(shù)分析設計過程及更改 1054次閱讀
- 強制Linux用戶在下次登錄時更改密碼 2046次閱讀
- 怎么樣才能把柵格從mil更改為mm 2494次閱讀
- 使用的I/O地址如何更改過程映像區(qū)范圍 1457次閱讀
- 如何更改VCK190單板啟動模式 1108次閱讀
- 淺談STEP7-5.5-F程序FB塊中的更改連接 1710次閱讀
- ROHM Solution Simulator允許更改組件屬性來執(zhí)行仿真 1441次閱讀
- ad如何在pcb界面更改網(wǎng)絡的顏色 2.7w次閱讀
- 如何用AD更改PCB板子尺寸 9.8w次閱讀
- 規(guī)避嵌入式PCB工程更改的七大訣竅 4521次閱讀
- 七招教你規(guī)避嵌入式PCB工程更改 1034次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數(shù)據(jù)手冊
- 1.06 MB | 532次下載 | 免費
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費
- 3TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費
- 5元宇宙深度解析—未來的未來-風口還是泡沫
- 6.40 MB | 227次下載 | 免費
- 6迪文DGUS開發(fā)指南
- 31.67 MB | 194次下載 | 免費
- 7元宇宙底層硬件系列報告
- 13.42 MB | 182次下載 | 免費
- 8FP5207XR-G1中文應用手冊
- 1.09 MB | 178次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 2555集成電路應用800例(新編版)
- 0.00 MB | 33566次下載 | 免費
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費
- 4開關(guān)電源設計實例指南
- 未知 | 21549次下載 | 免費
- 5電氣工程師手冊免費下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費
- 6數(shù)字電路基礎pdf(下載)
- 未知 | 13750次下載 | 免費
- 7電子制作實例集錦 下載
- 未知 | 8113次下載 | 免費
- 8《LED驅(qū)動電路設計》 溫德爾著
- 0.00 MB | 6656次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537798次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191187次下載 | 免費
- 7十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183279次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138040次下載 | 免費
評論