最新新闻:

蓝牙控制小灯泡亮度的实验设计「怎么让小灯泡亮起来实验」

时间:2022-12-17 10:53:02来源:搜狐

今天带来蓝牙控制小灯泡亮度的实验设计「怎么让小灯泡亮起来实验」,关于蓝牙控制小灯泡亮度的实验设计「怎么让小灯泡亮起来实验」很多人还不知道,现在让我们一起来看看吧!

这里实现用 Windows x86 平板电脑控制小灯泡亮度。

硬件方面在我们最初实验设备【参考1】的基础上增加一个蓝牙模块(这里建议使用蓝牙的朋友选用 HC06系列的,和HC05的不同,这个系列只有Slave的功能,但是个人感觉HC06更容易搜索连接上,我用HC05的时候每次都需要重新搜索配对设备,但是HC06上不用),用来和Windows平板进行通讯。

代码方面,Arduino使用的程序非常简单,将串口收到的char当作PWM值直接输出。程序使用了2个串口,一个是通常的USB,同PC进行通讯,主要是为了方便Debug;真正工作的是另外一个进行蓝牙通讯的串口。

intn=255;void setup(){Serial.begin(9600);Serial1.begin(9600);pinMode(6,OUTPUT);//该端口需要选择有#号标识的数字口}void loop(){charc;while (Serial.available() > 0){c=Serial.read();analogWrite(6,c);Serial.println(c);}while (Serial1.available() > 0){c=Serial1.read();analogWrite(6,c);Serial.println(c);}}


上位机使用的是Delphi 2010,使用控件很简单即可完成编程。

unit Unit2;interfaceusesWindows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,Dialogs, iComponent, iVCLComponent, iCustomComponent, iPositionComponent,iScaleComponent, iKnob, iSevenSegmentDisplay, iSevenSegmentBinary,iSevenSegmentInteger, StdCtrls, CPortCtl, CPort, Buttons;typeTForm2 = class(TForm)iKnob1: TiKnob;iSevenSegmentInteger1: TiSevenSegmentInteger;ComPort1: TComPort;Button1: TButton;Button2: TButton;procedure iKnob1PositionChange(Sender: TObject);procedure FormActivate(Sender: TObject);procedure Button1Click(Sender: TObject);procedure Button2Click(Sender: TObject);private{ Private declarations }public{ Public declarations }end;varForm2: TForm2;implementation{$R *.dfm}procedure TForm2.Button1Click(Sender: TObject);beginComPort1.ShowSetupDialog;end;procedure TForm2.Button2Click(Sender: TObject);beginif ComPort1.Connected thenbeginComPort1.Close;Button2.Caption:='Connect';endelsebeginComPort1.Open;ComPort1.WriteStr(chr(0));Button2.Caption:='Disconnect';endend;procedure TForm2.FormActivate(Sender: TObject);beginiKnob1.Width:=Form2.Width;end;procedure TForm2.iKnob1PositionChange(Sender: TObject);varc:byte;beginc:=trunc(iKnob1.Position);iSevenSegmentInteger1.Value:=c;if Comport1.Connected thenbeginComPort1.Write(&c,1);end;end;end.


界面


工作视频



最后说点其他的:除了Apple和各式各样的 Anrdoid平板电脑,x86的Windows平板也在崛起。

相比之下,使用Windows平板编程有如下优点:1. 编程简单。工具方面Delphi VB VC 都是非常成熟的工具,能在普通PC上运行的程序,即可顺利移植到Windows平板上(甚至可以说‘移植’这个词不合适,因为不用任何改动直接放上去即可);2. 发布简单。从时效性上来说,不需要发布到什么市场,也不需要什么审核,各种方法让对方拿到即可运行;3. 周边设备多多,比如:各种摇杆方向盘,价格也比Apple专用的低很多;4. 程序运行非常稳定,除非程序有错误,否则根本不会出现那种莫名其妙的“闪退”;

此外,从我的实践的角度来说,Windows 平板目前还有如下的缺点:1. Windows本质上是给有鼠标的机器运行的,而不是触摸类的设备。这两者在精度上差别很大,传统的Window的各种控件,默认的调用者也都是鼠标,如果直接用触摸操作起来很困难,也容易误操作。因此,我用普通台式机做平板程序的感受是:你一定要把你的用户当成视力有困难的人,能调大的菜单或者按钮一定要做到最大…….2. 目前比较缺少Windows x86平板方面的中文资料,在使用板载的各种传感器时,缺少资料

参考:1. http://www.lab-z.com/mos控制小灯泡的实验/ MOS控制小灯泡的实验

声明:文章仅代表原作者观点,不代表本站立场;如有侵权、违规,可直接反馈本站,我们将会作修改或删除处理。

图文推荐

热点排行

精彩文章

热门推荐