在这个项目中,我们将使用Python来构建一个由Micro:bit触发树莓派Raspberry Pi和相机模块的自拍器。这是开始使用硬件和简单文本编程的好方法。

我们将学习:

如何设置Raspberry Pi相机

如何在Micro:bit和Raspberry Pi上使用输入和输出引脚

用Python代码控制GPIO引脚

用Python代码控制相机模块

材料:

带有SD卡和常规外围设备的Raspberry Pi

Raspberry Pi camera module

Micro:bit

USB A to micro USB-B cable

双头鳄鱼夹线3条

软件安装:

更新的Raspbian并安装Mu。

安装配件Pi camera, 驱动及库文件请从Raspberry Pi官方网站下载。

将Micro:bit和Pi camera module连接到Raspberry Pi主板上

1.将公母对跳线连接到Raspberry Pi上的GPIO引脚4。

2.拿一条鳄鱼夹电缆,将一端连接到您的micro:位标记为0的焊盘,另一端连接到标有GND或地线的引脚。

3.将另一根电缆连接到针脚1,将另一端连接到您的RaspberryPi上使用的跳线的阳端,如下图所示:

这样就创建好触发电路。接下来启动Raspberry Pi并加载Mu。

1.打开mu,然后单击New打开一个空白的未命名的文件。

2.单击保存,将文件命名为microbit-trigger.py,然后按键盘上的Enter键。

3.您的文件中的第一行应该已经输入,并且显示为:

from microbit import *

该行导入了MicroPython的Python库模块供您使用。

4.接下来,键入以下命令创建一个循环:

while True:

注意:大写字母和小写字母在输入Python代码时非常重要。请注意,True最后有大写T和冒号。在这一行之后写的所有内容都应该缩进四个空格。

5.现在我们需要设置一个条件,以便当连接到micro:bit上的引脚0的电缆被触摸时,它会在LED矩阵上显示一条消息并触发相机。我们在Python中使用这个词来做到这一点:

1.  while True:

2.      if pin0.is_touched():

3.         display.scroll("saycheese!")

4.          sleep(500)

5.         pin1.write_digital(1)

6.          sleep(5000)

pin1.write_digital(0)

6. 每次绕这个循环,计算器询问连接到引脚0的电缆是否被触摸。如果是,那么消息“说奶酪!”应该出现并告诉销1变高或打开。这是连接到Raspberry Pi的针。我们将在下一步中使用该引脚来触发相机拍摄照片并进行存储。

7. 保存文件,然后点击Flash将代码发送到你的micro:bit。您必须执行此步骤来测试您的触发器是否正常工作。一旦micro:bit背面的黄色灯停止闪烁,按下它旁边的复位按钮,然后触摸地面并插入0个鳄鱼夹电缆。这应该导致文本滚动播放在micro:bit上的LED矩阵。

现在开始编辑Pi camera.

1.点击编程,从主菜单中找到并打开Python3(IDLE)。这是您将为您的相机编写您的Python代码的地方。

2.创建一个新文件并将其保存为microbit-camera.py。

3.首先通过输入以下内容导入此程序中所需的所有库和模块:

from picamera import PiCamera

from gpiozero import Button

from time import sleep

接下来,您需要告诉计算器哪个引脚将用于触发相机拍摄照片。您将microbit连接到GPIO引脚4.在导入下方,键入:

button = Button(4, pull_up = False)

然后写入指令序列,以在触摸微位置电缆的人触发时拍摄照片。首先,从相机显示预览,键入以下内容:

with PiCamera() as camera:

camera.start_preview()

sleep(5)

虽然显示的是预览,您可以抓到到自拍器的位置中。

在下面,键入等待the micro:bit触发的指令:

button.wait_for_press()

camera.capture('selfie.jpg`)

camera.stop_preview()

该程序将等待micro:bit的触发器,然后拍摄照片并将其存储在名为selfie.jpg的文件中,然后停止相机预览。

保存文件。检查您的micro:bit触发器是否正常工作,然后单击运行和运行模块以启动摄像头代码,一个自拍器就成功了。

原文参考

https://mp.weixin.qq.com/s?__biz=MzU0MTg0ODIzNA==&mid=2247483907&idx=1&sn=de57f662ad04ea75f64ababe9f5e3c5e&chksm=fb22e5c6cc556cd0bdf07ea24bb1c1f9fd6a9b5e2e24218198b7f66e3eb4eec59fbe8d1bc873#rd

用树莓派Raspberry Pi和Micro:bit做一个自拍器的更多相关文章

  1. 树莓派 Raspberry Pi 与 micro:bit起手式

    本文将学习如何在Raspberry Pi上安装MicroPython编辑器mu,并将MicroPython中编写的程序从您的Raspberry Pi推送到micro:bit. 您需要: 硬件, 带有S ...

  2. 做一个树莓派Raspberry Pi拍立得

    用树莓派Raspberry Pi打造一台拍立得,作法如下: 材料:树莓派+数字相机模块+热敏打印机 因为打印机所需电流较高,所以电源供应器的规格需要5V 3A以上. 再找一个稳定的电源以及够大的外壳装 ...

  3. 树莓派(raspberry pi)系统开发

    [树莓派(raspberry pi)] 01.在linux环境下给树莓派安装系统及入门各种资料 [树莓派(raspberry pi)] 02.PI3安装openCV开发环境做图像识别(详细版) 出处: ...

  4. 树莓派(Raspberry Pi)搭建简单的lamp服务

    树莓派(Raspberry Pi)搭建简单的lamp服务: 1. LAMP 的安装 sudo apt-get install apache2 mysql-server mysql-client php ...

  5. 树莓派(raspberry pi)学习4: 更改键盘布局(转)

    树莓派(raspberry pi)用了几次后,发现键盘老是按错,一些字符打不出来或打错 这个问题,折腾我半天.还是把心得分享一下吧 上网查,发现是键盘布局不对,树莓派(raspberry pi)是英国 ...

  6. 外网登录访问树莓派 Raspberry Pi

    外网登录访问树莓派 Raspberry Pi 本地的树莓派 Raspberry Pi,只能在局域网内访问,怎样从公网也能登录访问树莓派 Raspberry Pi? 本文将介绍具体的实现步骤. 1. 准 ...

  7. 树莓派(Raspberry Pi)使用Shell编写的极简Service

    树莓派(Raspberry Pi)运行的系统是基于Debian的,不仅可以运行Shell,还支持systemd和docker,可以编写一个简单的服务,让其在启动时运行,执行一些自动化的操作.这里在Ra ...

  8. 树莓派raspberry pi配置

    (1)国际化语言 树莓派初装系统之后,首次启动会出现“raspi-config”工具,如下图:(若不是初次启动,在命令模式下,请输入 sudo raspi-config 命令,即可调出此界面.若在图形 ...

  9. 树莓派(raspberry pi)学习11: 将树莓派变成一个Web服务器(转)

    将树莓派变成一个Web服务器,通过访问网页,就可以控制树莓派,比如:查看摄像头\开灯等等. 一想到Linux Web服务器,我们首先想到的是,Apache + MySql + Php. 树莓派可以安装 ...

随机推荐

  1. ThinkPhp表单令牌和字段映射

    开启表单令牌: 先在配置文件目录下定义tags.php 在里面添加 return array( 'view_filter' =>array('Behavior\TokenBuildBehavio ...

  2. 大数据学习之HDFS的工作机制07

    1:namenode+secondaryNameNode工作机制 2:datanode工作机制 3:HDFS中的通信(代理对象RPC) 下面用代码来实现基本的原理 1:服务端代码 package it ...

  3. spring boot 2.x拦截器导致静态资源404终极解决办法

    首先添加application文件static路径,我的是yml文件 spring: mvc: static-path-pattern: /static/**然后注册拦截器类如下方法; @Overri ...

  4. ext4文件系统特性浅析

    ext4作为Linux下的文件系统因其简单性.易管理性.兼容性强等特定,深受大多数用户喜欢,并且作为大多数Linux发行版中的默认文件系统.但是随着现在文件数目的增多以及文件数据的增大,ext4文件系 ...

  5. Linux系统调用原理

    操作系统通过系统调用为运行于其上的进程提供服务. 当用户态进程发起一个系统调用, CPU 将切换到 内核态 并开始执行一个 内核函数 . 内核函数负责响应应用程序的要求,例如操作文件.进行网络通讯或者 ...

  6. 浅谈spj

    SPJ(special judge)是个好玩的东西,毕竟各类神奇的题目SPJ经常作为救火工具(比如说一不小心出成验证类的题目). 但SPJ是个坑,毕竟只让用个“testlib.h”,输入还特别奇怪.今 ...

  7. 【项目笔记】完成一个基于SSM框架的增删改查的模块后总结的问题

    最近为了准备新工作重新摸出了SSM框架,同时从0学习了JQuery,终于用一周做完了一个包括增删改查的模块(主要是属性太多了,其中一个类50+,复制粘贴耗时). 从中特意记下了几个遇到的问题,总结一下 ...

  8. node创建服务器

    //引入核心模块 const http = require('http'); //创建服务器 http.createServer((req,res)=>{ }).listen(3000); // ...

  9. Testing for diversifying selection for two clades with a background clade

    在利用branch-site检测趋同进化的时候 .可以将各个趋同进化枝分别进行检测,分析的时候不去除某一趋同枝系 .在分析的时候,需要去除其他趋同枝系的影响 I have sequences of a ...

  10. SET HANDLER - FOR

    Syntax SET HANDLER handler1 handler2 ... FOR { oref |{ALL INSTANCES} }                               ...