瓦力工厂-编程训练营

Scratch编程 Ardunio机器人搭建 Python自动化


  • 首页

  • 关于

  • 标签

  • 分类

  • 归档

DPJ-018-保险杠机器人

发表于 2018-12-27 | 分类于 单片机第一年

情景任务:

瓦力探险队在中国西部发现了一个很大的地下洞穴,但由于不清楚洞穴中是否有毒气,因此需要一个探测机器人进入洞穴进行探测,只能靠机器人自己在洞穴中躲避障碍物。现在,瓦力探险队把这个难题抛给瓦力工程师,作为瓦力工程师的我们,我们有责任和义务帮助瓦力探险队尽快设计出这种探测机器人。

知识点拓展:

开关的词语解释为开启和关闭。它还是指一个可以使电路开路、使电流中断或使其流到其他电路的电子元件。最常见的开关是让人操作的机电设备,其中有一个或数个电子接点。接点的“闭合”(closed)表示电子接点导通,允许电流流过;开关的“开路”(open)表示电子接点不导通形成开路,不允许电流流过。
机械轻触开关:仍然是传统的按钮开关,只是改进后行程短,所需按下的距离小而已。

任务分解:

1.需要外界能量提供动力
2.需要触碰开关感受到信号。
3.需要通过触碰开关信号,控制车轮运动。

器材分解:

电池盒、马达、CPU、LED灯、触碰开关、附件

学习目标:

1.学习触碰开关工作原理.
2.学习保险杠机器人的工作原理。
3.熟练应用 while、break和触碰开关模块编程。

构建步骤:








保险杠机器人程序设计:


保险杠机器人已完成,有什么疑问,加老师微信进行咨询吧!

装甲车机器人

发表于 2018-12-27 | 分类于 单片机第一年

情景任务:

瓦力工程师接到一个新任务,就是为“国防部”设计装甲车。来满足国防和维稳中用装甲车反坦克、扫雷、通讯和反恐的需要。现在要求制作发射导弹的装甲车,导弹发射时的角度可以自由调整。

任务分解:

1.需要外界能量提供动力
2.需要有轮子(为什么呢?观察生活)
3.需要有前进、加速、减速、停止、转弯、后退的控制方法
4.需要有装甲车的形状、特点。
5.调整发射角度,利用马达导杆,控制发射角度。

知识点拓展:

装甲车是具有装甲防护的各种履带或轮式军用车辆,是装有装甲的军用或警用车辆的统称。坦克也是装甲车履带式装甲车辆的一种,但是在习惯上通常因作战用途另外独立分类,而装甲车辆多半是指防护力与火力较坦克弱的车种。
装甲车的特性为具有高度的越野机动性能,有一定的防护和火力作用,分为履带式和轮式两种,一般装备一至两门中小口径火炮及数挺机枪,一些还装有反坦克导弹,结构以装甲车体、武器系统、动力装置等组成。

器材分解:

电池盒、轮子、CPU、触碰开光、LED灯、蜂鸣器,伺服马达,导杆系统

学习目标:

1.三个马达的控制方法
2.了解装甲车的基础知识。
3.了解导杆系统在控制系统角度方面的应用。

构建步骤:











装甲车机器人程序设计:


装甲车机器人,有什么疑问,加老师微信进行咨询吧!

Python零基础快速入门趣味教程008-蟒蛇绘制

发表于 2018-12-26 | 分类于 Python 入门

FgNfEQ.png

Python 语法元素理解

  • Python 蟒蛇绘制共17行代码,但很多行类似
  • 清楚理解这17行代码能够掌握Python基本绘图方法。
  • 参考框架结构,逐行分析,逐词理解。
  • Python 蟒蛇的颜色:黑色、绿色、七彩色…
  • Python 蟒蛇的长度:1节、3节、10节…
  • Python 蟒蛇的方向:向左走、斜着走…
    计算问题的扩展。
  • Python蟒蛇绘制问题是各类图像绘制问题的代表。
  • 圆形绘制、五角星绘制、国旗绘制、 机器猫绘制。
  • 掌握绘制一条线的方法,就可以绘制整个世界

下面我们系统的对turtle进行学习一下

  • turtle基本介绍
  • turtle绘图窗体布局
  • turtle空间坐标体
  • turtle角度坐标体系
  • turtle RGB 色彩体系

turtle库概述

turtle(海龟)库是turtle绘图体系的Python实现

  • turtle绘图体系:1969年诞生,主要用于程序设计入门
  • Python语言的标准库之一
  • 入门级的图形绘制函数库

    标准库

    Python计算生态 = 标准库 + 第三方库
  • 标准库:随解释器直接安装到操作系统中的功能模块
  • 第三方库:需要经过安装才能使用的功能模块
  • 库Library、包Package、模块Module,统称模块

turtle的原(wan)理(fa)

turtle(海龟)是一种真实的存在

  • 有一只海龟,其实在窗体正中心,在画布上游走
  • 走过的轨迹形成了绘制的图形
  • 海龟由程序控制,可以变换颜色、改变宽度等

    turtle的绘图窗体

    F2kusf.png

F2k8ij.png

F2kJWn.png

F2k0wF.png

turtle空间坐标体系

F2kcS1.png

F2kgQx.png

1
2
3
4
5
6
import turtle
turtle.goto( 100, 100)
turtle.goto( 100,-100)
turtle.goto(-100,-100)
turtle.goto(-100, 100)
turtle.goto(0,0)

F2kHSI.png

F2kblt.png

turtle角度坐标体系

F2kXm8.png

F2kj0S.png

F2ASYj.png

1
2
3
4
5
6
7
import turtle
turtle.left(45)
turtle.fd(150)
turtle.right(135)
turtle.fd(300)
turtle.left(135)
turtle.fd(150)

Fcubs1.jpg

使用Anaconda安装TensorFlow

发表于 2018-12-26 | 分类于 Python 进阶

Take the following steps to install TensorFlow in an Anaconda environment:
Follow the instructions on the Anaconda download site to download and install Anaconda.(成功安装了Anaconda之后,在命令行窗口顺序输入一下代码,记得以管理员身份运行)
Create a conda environment named tensorflow by invoking the following command:

1
conda create -n tensorflow pip python=3.6

FgX7z4.md.png

Activate the conda environment by useing the following command:

1
activate tensorflow

Issue the appropriate command to install TensorFlow inside your conda environment. To install the CPU-only version of TensorFlow, enter the following command:

1
pip install --ignore-installed --upgrade tensorflow

To install the GPU version of TensorFlow, enter the following command (on a single line):

1
pip install --ignore-installed --upgrade tensorflow-gpu

验证是否安装成功:
在命令行输入

1
python

启动Python
接着输入

1
2
3
4
>>> import tensorflow as tf
>>> hello = tf.constant('Hello, TensorFlow!')
>>> sess = tf.Session()
>>> print(sess.run(hello))

如果输出:

1
Hello, TensorFlow!

那么安装成功!

Fcubs1.jpg

Ubuntu将应用程序添加桌面到启动器

发表于 2018-12-26 | 分类于 Ubuntu

有些软件提供的启动方式为 .sh 文件,每次启动都需要在终端运行命令。不是很方便,通过查找资料了解到可以创建一个启动器来解决问题。
在linux中,一切皆文件。启动器就是一个后缀为 .desktop 文件。
我创建的“ 微信” 的启动器,文件内容如下

1
2
3
4
5
6
7
8
9
10
11
12
[Desktop Entry]
Encoding=UTF-8
Name=wechat
GenericName=微信
Comment=Ubuntu 微信
Exec=/home/wjunjie/wechat/electronic-wechat %f
Icon=/home/wjunjie/wechat/assets/icon.png
Terminal=false
Type=Application
Categories=Application;Programme;
GenericName[zh_CN]=wechat
Name[zh_CN]=微信

语法解释:

关键词 意义
[Desktop Entry] 文件头
Encoding 编码
Name 应用名称
Name[xx] 不同语言的应用名称
GenericName 描述
Comment 注释
Exec 执行的命令
Icon 图标路径
Terminal 是否使用终端
Categories 应用的类型(内容相关)

使用流程:

1
2
3
4
创建文件,以.desktop为后缀。
编写内容,修改权限
双击启动程序,添加信任
移动到/usr/share/applications/目录下,这样就可以在左上角应用程序中显示

说明:

其中 Exec 常用的参数有:%f %F %u %U
%f:单个文件名,即使选择了多个文件。如果已选择的文件不在本地文件系统中(比如说在HTTP或者FTP上),这个文件将被作为一个临时文件复制到本地,%f将指向本地临时文件;
%F:文件列表。用于程序可以同时打开多个本地文件。每个文件以分割段的方式传递给执行程序。
%u:单个URL。本地文件以文件URL或文件路径的方式传递。
%U:URL列表。每个URL以分割段的方式传递给执行程序。本地文件以文件URL或文件路径的方式传递。

Fcubs1.jpg

Anaconda更改Python版本

发表于 2018-12-25 | 分类于 Python 进阶

写在前面:今天安装 kivy 不支持Python3.7版本,所以想在电脑(Ubuntu)中保留3.5版本。

  1. 改变anaconda默认python版本:

首先创建一个名为python36的环境,指定的Python版本是3.5

1
conda create --name python36 python=3.5

Fc81m9.png

安装好后,使用activate激活某个环境

1
2
3
4
5
6
7
To activate this environment, use
#
# $ conda activate python36
#
# To deactivate an active environment, use
#
# $ conda deactivate

输入这个命令之后会发现,terminal命令行前面多了python36的字样,实际上,此时系统做的事情就是把默认3.7环境从PATH中去除,再把3.5对应的命令加入PATH
安装 kivy

1
conda install kivy -c conda-forge

Fc8QOJ.png
通过命令:

1
python --version

可以看到,系统已经切换到了3.5的环境。
Fc8My4.png

如果想返回默认的python 3.7环境,运行

1
conda deactivate

即可。最后,如果想要删除一个已有的环境:

1
conda remove --name python36 --all

Fcubs1.jpg

Ubuntu 下提高conda install的速度

发表于 2018-12-25 | 分类于 Python 进阶

添加清华源

conda config –add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config –add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
conda config –add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/

(想要删除清华源把add改成remove就行。)

显示URL

conda config –set show_channel_urls yes

除了清华源,也可以使用别的答案里的科大源,华东/华中地区可能会更快一些。

conda config –add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/main/
conda config –add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/free/
conda config –add channels https://mirrors.ustc.edu.cn/anaconda/cloud/conda-forge/
conda config –add channels https://mirrors.ustc.edu.cn/anaconda/cloud/msys2/
conda config –add channels https://mirrors.ustc.edu.cn/anaconda/cloud/bioconda/
conda config –add channels https://mirrors.ustc.edu.cn/anaconda/cloud/menpo/

Conda包管理

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#安装包
conda install xxxx

# 查看当前环境下已安装的包
conda list

# 查看某个指定环境的已安装包
conda list -n python34

# 查找package信息
conda search numpy

# 安装package
conda install -n python34 numpy # 如果不用-n指定环境名称,则被安装在当前活跃环境 也可以通过-c指定通过某个channel安装

Conda更新

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 更新package
conda update -n python34 numpy

# 删除package
conda remove -n python34 numpy

# 更新conda,保持conda最新
conda update conda

# 更新anaconda
conda update anaconda

# 更新python
conda update python

Fcubs1.jpg

趣味编程第6课-蜘蛛织网

发表于 2018-12-24 | 分类于 Scratch 入门

通过第五课的学习,大家通过一款微信上流行的小程序对 侦测 数据 运算 声音 等积木模块,有了初步的了解,小朋友们是不是更加喜欢编程了呢?
下面是蟑螂画彩圆的效果图。

下面这幅图,蜘蛛织网,图形很复杂,但是只是非常简单的积木模块。

直接上积木模块图,用Scratch画笔功能,可以画各种复杂的图形哟。

小朋友,你会做吧,记得加老师微信并与老师互动讨论哟,你还想加入什么你的功能呢?和老师一起进步吧!

趣味编程第5课-成语猜猜看

发表于 2018-12-24 | 分类于 Scratch 入门

通过第四课的学习,相信小朋友们对 运动、外观 、事件 、侦测 等积木模块有了更深一步的了解。下面通过一款微信上流行的小程序继续向大家介绍 侦测 数据 运算 声音 等积木模块。

成语是我国汉字语言词汇中一部分定型的词组和短语。成语有固定的结构形式和固定的说法。表示一定的意义在语句中是作为一个整体来应用的。成语有很大一部分是从古代。形成沿用下来的再用词语方面往往不同与现代汉语。它代表了一个故事和典故。成语又是一种现成的话,跟习用语言语向近也略有区别。

主要程序代码如图所示,巧妙地利用角色的造型进行程序图片之间的切换,用链表把成语的图片与意义相关联。答对的话有音乐提示与金币奖励。切换到下一个成语,并且所过的关卡加一。用变量 关名 存储并显示所过的关数,用变量 金钱 来存储并显示所获得的金币数。

小朋友,你会做吧,记得加老师微信并与老师互动讨论哟,你还想加入什么你的功能呢?和老师一起进步吧!

趣味编程第4课-蹦床运动

发表于 2018-12-24 | 分类于 Scratch 入门

当我们学习了第三课小猫猜生肖,对对控制、侦测、运算、事件模块有了初步的了解,今天通过蹦床运动介绍 运动 模块的 滑行 、面向 、左右转 和 外观 模块 的 下一个造型、鱼眼特效 等等…

今天的程序非常简单,当绿旗被点击时,重复执行

并通过 空格键 和 左移键 和 右移键 进行程序的交互,变换出不同的蹦极效果。

蹦床的代码为

蹦床用到了一个鱼眼特效,变幻出来了动态的效果!
想要知道蹦床运动的全部脚本或者有不明白的地方,可以联系老师哟!

1…678…11

王俊杰

点点滴滴在编程

105 日志
12 分类
RSS
Links
  • Title
© 2019 王俊杰
由 Hexo 强力驱动 v3.4.4
|
主题 – NexT.Muse v6.5.0