技术:51单片机、串口、蓝牙、积木式编程
 

概述

这里简单入门了积木式编程,做了个简易APP用来开灯关灯,当然你可以继续添加内容,可以做智能家居、遥控汽车和环境监控等等。

详细

一、积木式编程

这里我们使用MIT App Inventor来进行积木式编程,开发APP

网址:app.gzjkw.net/login/

论坛:http://appbbs.gzjkw.net/forum.php

我简单说明下:


二、简易APP制作

点击项目->新建项目 (这里我项目名为:APP)

  • 接下来,我们先建立蓝牙连接:

这里需要:列表选择框(用户界面下)、对话框(用户界面下)、蓝牙客户端(通信连接下)

注:在组件属性 - 文本,可以修改名字,这里我修改为:Select_Bluetooth

  • 然后添加开灯、关灯按钮

这里需要:按钮*2

注:在组件属性 - 文本,可以修改名字,这里我修改为:turn on和turn off

  • 然后添加文本框输入(发送任意字符)

这里需要:文本选择框、按钮(添加水平布局,将文本选择框、按钮放入里面)

注:在组件属性 - 文本,可以修改名字,这里我修改为:Send out

这样就完成了,点击打包apk,手机扫描下载


三、51单片机——自制app点灯

硬件连接:

  • 51单片机烧写串口通信代码(与上节蓝牙篇代码一样)

远程控制代码:

if(receiveData=='1')
{
led=1; //接收1时,打开LED灯
}
if(receiveData=='0')
{
led=0; //接收0时,关闭LED灯
}
  • 蓝牙的配置,上节已经讲解了,这里不再多讲一次

网址:http://www.demodashi.com/demo/14912.html

  • 手机配对成功蓝牙后,打开你安装好的APP

  • 点击Select_Bluetooth,选择蓝牙(这里我的名字叫test)

  • 点击turn on为开灯

  • 点击turn off为关灯

  • 在文本输入框中发送也可以,发送1为开灯,发送0为关灯


四、总结

这里简单入门了积木式编程,做了个简易APP用来开灯关灯,当然你可以继续添加内容,可以做智能家居、遥控汽车和环境监控等等。


五、项目结构图

注:本文著作权归作者,由demo大师发表,拒绝转载,转载需要作者授权

积木式编程——自制app点灯的更多相关文章

  1. TurnipBit—MicroPython开发板:从积木式编程语言开始学做小小创客

    编程.建模.制作动画和游戏--这些当初我们默认只有成年人玩得转的事情,现在早已经被无数小孩子给颠覆甚至玩出新境界了.热爱科技和动手的"创客"(Maker)现在在全世界都炙手可热.今 ...

  2. Android中使用反应式编程RxJava

    GitHut 地址: https://github.com/ReactiveX/RxAndroid (1)RxJava简介: RxJava 是一个在Java虚拟机上实现的响应式扩展库:提供了基于obs ...

  3. [译] Swift 的响应式编程

    原文  https://github.com/bboyfeiyu/iOS-tech-frontier/blob/master/issue-3/Swift的响应式编程.md 原文链接 : Reactiv ...

  4. Swift 响应式编程 浅析

    这里我讲一下响应式编程(Reactive Programming)是如何将异步编程推到一个全新高度的. 异步编程真的很难 大多数有关响应式编程的演讲和文章都是在展示Reactive框架如何好如何惊人, ...

  5. Angular4学习笔记(五)- 数据绑定、响应式编程和管道

    概念 Angular中的数据绑定指的是同一组件中控制器文件(.ts)与视图文件(.html)之间的数据传递. 分类 流向 单向绑定 它的意思是要么是ts文件为html文件赋值,要么相反. ts-> ...

  6. 使用函数接口和枚举实现配置式编程(Java与Scala实现)

    概述 做报表时,有时需要根据不同的业务生成不同的报表.这样,需要能够动态地配置列字段,并根据列字段来输出对应的报表.使用函数接口结合枚举可以比较优雅地实现配置式编程. 问题描述如下: 假设有对象 St ...

  7. 函数响应式编程(FRP)思想-Callback风格

    序 ReactiveCocoa是IOS广为使用的技术框架,而ReactiveCocoa的核心思想就FRP.FRP不同于JAVA的object-oriented和AOP,FRP能让你的代码像数学一样简洁 ...

  8. Angular6 基础(数据绑定、生命周期、父子组件通讯、响应式编程)

    Angular相比于vue来说,更像一个完整的框架,本身就集成了很多模块,如路由,HTTP,服务等,而vue是需要另外引入比如(vuex,axios等).Angular引入了依赖注入.单元测试.类等后 ...

  9. RxJava(一):响应式编程与Rx

    一,响应式编程 响应式编程是一种关注于数据流(data streams)和变化传递(propagation of change)的异步编程方式. 1.1 异步编程 传统的编程方式是顺序执行的,必须在完 ...

随机推荐

  1. SSH框架学习------struts2前后台传值(二)

    struts2的Action类一般都会继承(extends)ActionSupport类(Action类,即实现action的类)1.前传后:jsp里<input type="text ...

  2. CentOS 7开机出现welcome to emergency mode! 解决方法

    CentOS7.3昨天用的还好好的的,但是今天开机提示如下(如图提示):welcome to emergency mode!after logging in ,type “journalctl -xb ...

  3. Spring Boot 静态资源访问原理解析

    一.前言 springboot配置静态资源方式是多种多样,接下来我会介绍其中几种方式,并解析一下其中的原理. 二.使用properties属性进行配置 应该说 spring.mvc.static-pa ...

  4. SparkException: Could not find CoarseGrainedScheduler or it has been stopped.

    org.apache.spark.SparkException: Could not find CoarseGrainedScheduler or it has been stopped. at or ...

  5. LoRaWAN 1.1 网络协议规范 - 5 MAC指令

    LoRaWAN 1.1 网络协议规范 LoRaWAN 1.1 版本封稿很久了也没有完整啃过一遍,最近边啃边翻译,趁着这个机会把它码下来. 如果觉得哪里有问题,欢迎留言斧正. 翻译不易,转载请申明出处和 ...

  6. WordPress Social Warfare组件 远程代码漏洞执行详细复现

    0x00前言 今天在知道创宇上发现3月26日提交WordPress XSS和远程代码执行漏洞,于是试着复现了下远程代码执行漏洞 该漏洞源于Social Warfare组件,并且版本<=3.5.2 ...

  7. SpringBoot拦截器

    在实际开发中,总存在着这样的场景,比如拦截请求的ip地址,或者在所有的请求都返回相同的数据,如果每一个方法都写出相同数据固然可以实现,但是随着项目的变大,重复的代码会越来越多,所以在这种情况我们可以用 ...

  8. 【持久化框架】Mybatis与Hibernate的详细对比(转发)

    前言 这篇博文我们重点分析一下Mybatis与Hibernate的区别,当然在前面的博文中我们已经深入的研究了Mybatis和Hibernate的原理. Mybatis [持久化框架]Mybatis简 ...

  9. orz gzy

    然而orz gzy内嵌不进去...

  10. 潭州课堂25班:Ph201805201 django框架 第八课 表关联对象方法add,create,remove,clear,多表查询 (课堂笔记)

    查表: 数据的插入 新建添加 删除 清空