首页
学习
活动
专区
圈层
工具
发布

张高兴的 MicroPython 入门指南:(一)环境配置、Blink、部署

浅绿色标签的 GPxx,就是 GPIO 引脚,大多数情况下需要对其编程,对外部硬件进行操作。所有引脚的用途见下面的表格。...开关 开关(Switch),也称为瞬时开关、轻触开关,通常有两条或四条脚可供选择,按下按钮时相当于导线被连通。按钮是一种输入设备,可以告诉程序它是否被按下,然后执行任务。...另一种常见的开关类型是锁定开关,按下开关时一直保持活动状态,直到再次切换它。...这个 LED 的工作原理和其它任何 LED 一样: 通电时,它会发光 当它断电时,熄灭。 下面新建一个 MicroPython 项目来控制这颗 LED 的闪烁。首先导入 machine 包。...utime.sleep(1) 创建一个循环后,就可以让 LED 闪烁了。

1.4K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    树莓派基础实验8:振动开关实验

    换句话说,读取的值是未定义的,因为它没有连接到任何东西,直到你按下按钮或开关。它可能会由于接收电源干扰而改变很大的值。   为了解决这个问题,我们使用一个向上拉或向下拉电阻器。...GPIO.IN, pull_up_down=GPIO.PUD_DOWN)   我们很多时候并不关心电平值, 而关心电平从低到高,或从高到低的变化(如编码器测速/按键按下弹开等), 为避免主程序忙于其它事情错过引脚的电平改变...换句话说,等待按钮按下的示例可以改写成: GPIO.wait_for_edge(channel, GPIO.RISING)    注意检测的边缘参数有 GPIO.RISING, GPIO.FALLING...由于存在开关抖动(用示波器可以看到),每次按下开关会调用多次回调函数,这不是我们希望的,有两种方式处理开关抖动:   ①在开关两个引脚之间添加一个0.1uF的电容   ②软件消抖   ③二者结合使用...def Led(x): #控制双色LED灯闪烁的函数 if x == 0: GPIO.output(Rpin, 1) #红灯亮 GPIO.output(Gpin

    2.1K20

    树莓派基础实验6:轻触开关按键实验

    一、介绍    按键模块是我们使用最为频繁的一个电子部件,内部有一对轻触拨盘构成,当按下是闭合导通,松开时自动弹开断开。...换句话说,读取的值是未定义的,因为它没有连接到任何东西,直到你按下按钮或开关。它可能会由于接收电源干扰而改变很大的值。   为了解决这个问题,我们使用一个向上拉或向下拉电阻器。...换句话说,等待按钮按下的示例可以改写成: GPIO.wait_for_edge(channel, GPIO.RISING)    注意检测的边缘参数有 GPIO.RISING, GPIO.FALLING...由于存在开关抖动(用示波器可以看到),每次按下开关会调用多次回调函数,这不是我们希望的,有两种方式处理开关抖动:   ①在开关两个引脚之间添加一个0.1uF的电容   ②软件消抖   ③二者结合使用...LED灯闪烁 Print(GPIO.input(BtnPin)) #打印按键是否按下的提示消息   第5步:很多程序都提供了“空语句”支持,Python 也不例外,Python 的 pass

    3.4K30

    树莓派基础实验11:U型光电传感器实验

    换句话说,读取的值是未定义的,因为它没有连接到任何东西,直到你按下按钮或开关。它可能会由于接收电源干扰而改变很大的值。   为了解决这个问题,我们使用一个向上拉或向下拉电阻器。...换句话说,等待按钮按下的示例可以改写成: GPIO.wait_for_edge(channel, GPIO.RISING)    注意检测的边缘参数有 GPIO.RISING, GPIO.FALLING...由于存在开关抖动(用示波器可以看到),每次按下开关会调用多次回调函数,这不是我们希望的,有两种方式处理开关抖动:   ①在开关两个引脚之间添加一个0.1uF的电容   ②软件消抖   ③二者结合使用...LED灯闪烁。...def detect(chn): Led(GPIO.input(PIPin)) #控制双色LED灯闪烁的函数 Print(GPIO.input(PIPin)) #打印光线被遮挡提示消息

    2.4K10

    ESP8266_06硬件定时器与IO中断

    GPIO的中断也很好理解,跟单片机的管脚用法基本一样,设置为输入模式,开启中断等等~ ? ? 如何演示? 依然使用三色LED,同时板上还有一个按键。...所以这里实现一个按键控制LED闪烁开关的程序。按一下按键,LED开始闪烁,再按一下,停止闪烁,并熄灭。...2、设置GPIO4为输入模式 GPIO_DIS_OUTPUT(GPIO_ID_PIN(4)); 3、禁止所有的IO中断 ETS_GPIO_INTR_DISABLE()...(LED_OFF); 第一个函数LED_TURN实现的是LED定时闪烁,第二个函数LED_OFF实现的是LED熄灭。...保存、编译、下载一条龙,然后重新上电,按一下按键,你会发现LED开始闪烁,再按一下,LED熄灭了。 ? 到此,硬件定时器和GPIO中断的用法说完了。

    1.7K31

    树莓派基础实验7:倾斜开关实验

    换句话说,读取的值是未定义的,因为它没有连接到任何东西,直到你按下按钮或开关。它可能会由于接收电源干扰而改变很大的值。   为了解决这个问题,我们使用一个向上拉或向下拉电阻器。...换句话说,等待按钮按下的示例可以改写成: GPIO.wait_for_edge(channel, GPIO.RISING)    注意检测的边缘参数有 GPIO.RISING, GPIO.FALLING...由于存在开关抖动(用示波器可以看到),每次按下开关会调用多次回调函数,这不是我们希望的,有两种方式处理开关抖动:   ①在开关两个引脚之间添加一个0.1uF的电容   ②软件消抖   ③二者结合使用...def Led(x): #控制双色LED灯闪烁的函数 if x == 0: GPIO.output(Rpin, 1) #红灯亮 GPIO.output...*' print ' *************' def detect(chn): Led(GPIO.input(TiltPin)) #控制双色LED灯闪烁

    1.4K30

    7、源与值(SourceValues)

    -16.04 树莓派:3代B型 GPIO Zero提供了一种使用声明性编程范例将设备连接在一起的方法:将一个设备的值提供给另一个设备,例如将按钮的值输入到LED中: from gpiozero import...所有输出设备都有一个source属性,可以设置为任何迭代器。 设备将迭代所提供的值,以source_delay属性中指定的速率将设备的值设置为每个元素。 ?...在此示例中,0到1之间的随机值传递给LED,使其产生闪烁的烛光效果: from gpiozero import PWMLED from gpiozero.tools import random_values...在此示例中,仅在未按下按钮时LED才会亮起: from gpiozero import Button, LED from gpiozero.tools import negated from signal...在此示例中,只有按下两个按钮(如AND门),LED才会亮起: from gpiozero import Button, LED from gpiozero.tools import all_values

    68230

    基于STM32和FreeRTOS的二值信号量实现任务同步

    我们常使用信号量进行同步或互斥。 信号量介绍 信号量(semaphore)是一种用于提供不同进程之间或者一个给定的不同线程间同步手段的原语。信号量多用于任务间的同步与互斥。...同步:处理竞争就是同步,安排进程执行的先后顺序就是同步,每个进程都有一定的个先后执行顺序。 互斥:互斥访问不可共享的临界资源,同时会引发两个新的控制问题(互斥可以说是特殊的同步)。...准备 硬件 STM32F103开发板 LED灯 软件 Keil 5 STM32CubeMX 串口调试助手 功能设计 需求设计 设置两个任务和一个信号量。...任务1运行时会令LED1闪烁,并串口发送01,当运行4次任务1后,任务1会释放二值信号量。 任务2首先获取二值信号量,如果获取失败任务进行调度。...当获取到信号量时,任务2会执行LED2闪烁,并串口发送02。 实现任务1 每运行四次,任务2运行一次。 软件实现 信号量定义 下面的程序目的是创建了一个二值信号量。

    1.3K40

    星闪开发入门级教程之安装编译器与小项目烧录

    前言 前不久弄了星闪一个开发套件,引发了我的兴趣,找了一些资料,整理出一个小白的教程,以最简单的demo-红灯闪烁来写篇文章 一、Hispark Studio 下载并安装Hispark Studio编译器...最后要记得点击save保存 9.编译一下 10.工程配置–为烧录做准备 将开发板用USB线插入电脑后 11.烧录(最后) 出现这句话后,需要按一下开发板上的按钮(图片中多写了个字) 等待… 步骤完结...uapi_gpio_toggle(BSP_LED); //翻转给到高低电频 也可以换成如下代码: uapi_gpio_set_val(BSP_LED,GPIO_LEVEL_HIGH);//给到高电频...osal_msleep(CONFIG_BLINKY_DURATION_50MS); //延时 为了闪烁的效果 uapi_gpio_set_val(BSP_LED,GPIO_LEVEL_LOW);//...download/download.aspx 总结 ‌RGB LED的高低电平控制问题‌主要涉及RGB LED在不同电平下的工作状态和显示效果。

    39410

    机器人控制器编程实践指导书旧版-实践一 LED灯(数字量)

    本项目使用两个74HC595移位寄存器,仅用3个Arduino管脚控制16个LED。 示意图 原理图 使用74HC595与数字直接控制LED有何优势,写出核心代码。...,         .mode = GPIO_MODE_OUTPUT,         .pin_bit_mask = (1ULLGPIO_PIN)|(1ULLGPIO_PIN)...1.5 实践问题 1.5.1交通灯: 该电路可以被编码,使得汽车和行人交通灯都经过正常循环,直到行人按下按钮。在这种情况下,灯会改变对行人的偏好。...digitalWrite(LED_G, HIGH); //熄灭 绿灯         for(int i=0;i闪烁交替三次,黄灯闪烁效果         {                ...74HC595是一个8位串行输入、并行输出的位移缓存器:并行输出为三态输出。

    1.3K10

    LiteOS裸机驱动移植教程01 | 以LED为例说明裸机驱动移植方法

    LiteOS裸机驱动移植系列 俗话说的好,光说不练假把式,上一个系列 LiteOS内核实战教程 中讲述了内核中任务如何管理、如何使用信号量同步多个任务的运行,如何用互斥锁保护共享资源,如何申请分配动态内存空间...这里以使用 STM32CuebMX 生成的 LED 闪烁的裸机工程为例,其中 Src 目录下的gpio.c文件就相当于 LED 的驱动层文件,其中提供了 LED 的初始化代码: ?...驱动的gpio.c文件夹添加到USER_SRC下(工程中默认已添加,无需重复添加): ?...LED驱动c文件路径 LED驱动的gpio.h文件夹添加到USER_INC下(工程中默认已添加,无需重复添加): ?....sdkconfig文件 编译,烧录,即可看到LED开始闪烁: ? LED闪烁效果

    1.9K40

    Linux Led 子系统

    2、概述 led 子系统驱动框架: 所有 led 共性: 有和用户通信的设备节点 亮和灭 不同点: 有的 led 可能是接在 gpio 管脚上,不同的 led 有不同的 gpio 来控制 有的 led...可能由其他的芯片来控制(节约 cpu 的 pin,或者为了控制 led 的电流等) 可以设置亮度 可以闪烁 所以 Linux led 子系统把所有 led 的共性给实现了,把不同的地方留给驱动工程师去做...led 子系统是一个简单的 Linux 子系统 ,在目录 /sys/class/leds 下展示该子系统设备,每个设备都有自己的属性: brightness:设置 LED 亮度,范围 0 ~ max_brightness...(): 设置led闪烁时间: led_blink_set_oneshot() : 闪烁一次 led_stop_software_blink() : led停止闪烁 led_set_brightness(...文件里 的timer_trig_activate(), 在 /sys/class/leds/led1/ 下创建 delay_on、delay_off 两个文件 echo 100 > /sys/class

    1.1K30

    Linux应用开发【第九章】GPIO编程应用开发

    从图中我们可以看到,两个按键连接到的GPIO分别为GPIO5_1和GPIO4_14,第一个按键KEY1对应的GPIO编号为(5-1) *32+1 = 129,第二个按键KEY2对应的GPIO编号为(4-...代码运行之后的的结果如下图所示, 可以看到规律性的打印LED控制信息(实物可以看到LED灯闪烁)。...代码运行之后的的结果如下图所示,我们可以看到在按键KEY1和KEY2按下之后打印的值各有不同。 9.4.5 LED和按键控制实验 ​ 在前几个实验中,我们分别实现了LED和按键各自的控制。...在这个实验中,我们将前几个实验进行整合,控制LED得闪烁,并读取按键得值。当按键按下时,打印相关信息。...代码运行之后的的结果如下图所示,可以看到LED闪烁,按键KEY1和KEY2按下之后打印的值各有不同(因为LED的闪烁导致按键需要经过一次LED闪烁之后才能读取,因此按键必须一直按着才能读取到值的变化)。

    1.8K30
    领券