<jupyter_start><jupyter_text>信息系统的传感与控制实验 高中信息技术新课程中的必修模块2“信息系统与社会“，包括“信息社会特征”“信息系统组成与应用”“信息安全与信息社会责任”三部分内容，强调学生利用信息系统解决问题的过程与方法，提升学生信息安全和社会责任意识。其中关于“传感与控制”的部分描述如下：2.3 通过分析物联网应用实例，知道信息系统与外部世界的连接方式，了解常见的传感与控制机制。为了帮助Python的初学者编写传感与控制方面的代码，虚谷号提供了名为“xugu”的Python库。这个库中有Pin（引脚）、Servo（舵机）和SerialMgt（串口）几个常用的类。借助这个库，几行代码就能完成基本的输入输出控制，即GPIO（General-purpose input/output）。  数字输入1.实验目标能编程读取开源硬件的指定引脚的数字电平状态，通过常见的数字传感器（开关量传感器）获取物理世界的各种环境信息。2.实验器材	- 虚谷号 * 1；	- 虚谷号厚物扩展板 * 1，或者Arduino UNO扩展板 * 1；	- 按钮传感器 * 1。3.装置搭建将扩展板插入虚谷号，然后把按钮传感器接到扩展板D4。<jupyter_code>from xugu import Pin # 从 xugu 库中导入 Pin类
import time # 导入时间模块
p = Pin(4, Pin.IN) 
while True:
    value=p.read_digital() # 读取 4 号引脚电平信息,赋值给 value
    print(value) # 将value的值打印到终端上
    time.sleep(0.1) # 持续100ms<jupyter_output><empty_output><jupyter_text>**注**：运行上面程序后，如果要中止程序运行新的程序，需先选择上方“服务”->再选择“重启 & 清空输出”，才可以继续运行新程序。  模拟输入1.实验目标能编程读取开源硬件的指定引脚的模拟电平状态，通过常见的模拟传感器获取物理世界的各种环境信息。2.实验器材	- 虚谷号 * 1；	- 虚谷号厚物扩展板 * 1，或者Arduino UNO扩展板 * 1；	- 光线传感器 * 1 。3.装置搭建将扩展板插入虚谷号，然后把光线传感器接到扩展板A0。<jupyter_code>from xugu import Pin # 从 xugu 库中导入 Pin类
import time # 导入时间模块
p = Pin("A0", Pin.ANALOG) 
while True:
    value=p.read_analog() # 读取 A0 号引脚电平信息,赋值给 value
    print(value) # 将value的值打印到终端上
    time.sleep(0.1) # 持续100ms<jupyter_output><empty_output><jupyter_text>数字输出1.实验目标能编程控制开源硬件的指定引脚输出高低电平信号，能够控制LED的开和关。2.实验器材- 虚谷号 * 1；- 虚谷号厚物扩展板 * 1，或者Arduino UNO扩展板 * 1；- LED * 1。3.装置搭建将扩展板插入虚谷号，然后把舵机接到D6。<jupyter_code>from xugu import Pin # 从 xugu 库中导入 Pin 类
led = Pin(6, Pin.OUT) # 初始化 Pin 类
# 输出高电平
led.write_digital(1) 
# 输出低电平
led.write_digital(0) # 低电平<jupyter_output><empty_output><jupyter_text>模拟输出1.实验目标能编程控制开源硬件的指定引脚输出高低电平信号，能够以PMW的方式调节LED灯的亮度。2.实验器材- 虚谷号 * 1；- 虚谷号厚物扩展板 * 1，或者Arduino UNO扩展板 * 1；- LED * 1。3.装置搭建将扩展板插入虚谷号，然后把LED接到D6。<jupyter_code>from xugu import Pin  # 从xugu库中导入Pin类
p = Pin(6, Pin.OUT)
#给引脚设置模拟值128
p.write_analog(128)
#给引脚设置模拟值255
p.write_analog(255)<jupyter_output><empty_output><jupyter_text>舵机控制1.实验目标能编程控制开源硬件的指定引脚输出高低电平信号，能够驱动舵机旋转到指定的角度。2.实验器材	- 虚谷号 * 1；	- 虚谷号厚物扩展板 * 1，或者Arduino UNO扩展板 * 1；	- 180度舵机 * 1。3.装置搭建将扩展板插入虚谷号，然后把舵机接到D4。注意：180度的舵机往往不能真正旋转到180度，请尽量不要旋转到0或者180。如果发现舵机发出因卡住而抖动的声音，要第一时间断电或者从引脚上拔出。<jupyter_code>from xugu import Servo
servo = Servo(4)
#设置舵机旋转到150°
servo. write_angle(150)
#设置舵机旋转到10°
servo. write_angle(10)<jupyter_output><empty_output>
{'fraction_non_alphanumeric': 0.1219195849546044, 'fraction_numerical': 0.041936878512753996, 'mean_word_length': 7.634328358208955, 'pattern_counts': {'":': 0, '<': 21, '<?xml version=': 0, '>': 22, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '5', 'dir': 'jupyter-structured-clean-dedup', 'id': '91373', 'license': 'MIT', 'n_tokens_mistral': 1729, 'n_tokens_neox': 2000, 'n_words': 137, 'path': '课程汇集/虚谷号内置课程目录/8.教材支持/信息系统的传感与控制实验.ipynb', 'repo_name': 'xiezuoru/vvBoard-docs', 'size': '2313'}