技术: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. day21 模块 异常处理

    常用模块:http://www.cnblogs.com/Eva-J/articles/7228075.html 今日概要: #time # —— 时间:时间戳 字符串 结构化时间 #collectio ...

  2. PageHelper在Mybatis中的使用

    环境:Spring 4.2.1 Mybatis 3.2.8 pagehelper 5.1.2 Mybatis官方教程:https://github.com/pagehelper/Mybatis-Pag ...

  3. python inspect 模块 和 types 模块 判断是否是方法,模块,函数等内置特殊属性

    python inspect 模块 和 types 模块 判断是否是方法,模块,函数等内置特殊属性 inspect import inspect def fun(): pass inspect.ism ...

  4. java添加多个水印

    package com.zhx.util.imgutil; import com.zhx.util.stringutil.ArithUtil; import net.coobird.thumbnail ...

  5. ContentProvider插件化解决方案

    --摘自<android插件化开发指南> 1.当要传输的数据量大小不超过1M的时候,使用Binder:数据量超过1M时,Binder就搞不定了,需要ContentProvider 2.Co ...

  6. POJ 2418 Hardwood Species 【Trie树】

    <题目链接> 题目大意: 给你一堆字符串,让你按字典序输出他们出现的频率. 解题分析: 首先,这是Trie数词频统计的题目,以Trie树的边储存字母,节点存储以该节点结尾的链所代表的字符串 ...

  7. Flutter - Migrate to AndroidX

    一段时间没玩Flutter,今天打开一个项目编译了一下,突然发现不能编译了,出现 Launching lib\main.dart on Nokia X6 in debug mode... FAILUR ...

  8. MVC面试问题与答案

    读这篇文章不意味着你一定要去并且能搞定MVC面试.这篇文章的目的是在面试之前让你快速复习MVC知识.这篇文章也不是MVC培训课程. 如果你想学习MVC,从这儿开始 Learn MVC ( Model ...

  9. Intellij IDEA实现SpringBoot项目多端口启动

    前言 有时候使用springboot项目时遇到这样一种情况,用一个项目需要复制很多遍进行测试,除了端口号不同以外,没有任何不同.这时我们强大的Intellij IDEA就能替我们实现. 实现方法 第一 ...

  10. 8. Rotate String

    8. Rotate String Description Given a string and an offset, rotate string by offset. (rotate from lef ...