嵌入式实训day3

1、

# 82261773
# y6ufuT9yGQxddpSzSe3zZpbP
# BJsEfKFNGOwHtLuKoHsfVIWrGWjXVKut



"""
    1、PC需要联网
    2、不能使用MicroPython解释器
"""
from aip import AipFace
import base64

# 查看REST-API-SDK
if __name__ == "__main__":
    # 设置APP_ID、API_KEY、SECRECT_KEY
    APP_ID = "82261773"
    API_KEY = "y6ufuT9yGQxddpSzSe3zZpbP"
    SECRECT_KEY = "BJsEfKFNGOwHtLuKoHsfVIWrGWjXVKut"
    # 连接百度人脸识别库
    client = AipFace(APP_ID, API_KEY, SECRECT_KEY)

    # 配置选项
    options = {
        # 人脸检测选项:年龄,颜值,表情,脸型,性别,眼镜,人种,脸的形状
        "face_field":
        "age,beauty,expression,face_shape,gender,glasses,race,face_type"
    }

    # 指定要识别的图片
    filename = './images/test1.WEBP'
    #filename = './images/test2.jpg'

    # 打开图片,对图片进行识别并打印结果
    image_file = open(filename, 'rb')
    # 将读取到的内容经过编码base64成字符串
    image = str(base64.b64encode(image_file.read()), 'utf-8')
    # 类型为BASE64
    data = client.detect(image, 'BASE64', options)
    print(type(data))
    # 获取人脸检测结果
    face = data['result']['face_list'][0]

    # 对结果进行解析
    print('age:', face['age'])
    print('beauty:', face['beauty'])
    print('expression:', face['expression']['type'])
    print('face_shape:', face['face_shape']['type'])
    print('gender:', face['gender']['type'])
    print('glasses:', face['glasses']['type'])
    print('race:', face['race']['type'])

    # 关闭图片文件(释放资源)
    image_file.close()







2、

class Student:
    def __init__(self,name,age,score):
        self.name=name
        self.age=age
        self.score=score
        print("我叫{},今年{}岁,四级考试分数是{}".format(
        self.name,self.age,self.score))
        
    def learn(self,course):
        print("{}在学习{}课程".format(self.name,course))
    
    
if __name__=="__main__":
    student1=Student("老张",20,426)
    student2=Student("老王",22,459)
    student3=Student("老吴",28,498)
    student1.learn("英语")
    student1.learn("python")
    student1.learn("嵌入式软件开发")

3、

SyntaxError: 发生在代码中有语法错误时
 IndentationError: 缩进错误,通常是因为缩进不一致导致
NameError: 使用了未定义的变量或函数
TypeError: 数据类型不匹配或操作不支持
ValueError: 函数的参数值不合法
ImportError: 导入模块失败或不存在
KeyError: 字典中查找不存在的键
IndexError: 访问列表或元组的索引超出范围
ZeroDivisionError: 除以0的错误
FileNotFoundError: 文件不存在或无法打开
TypeError: 不支持的操作类型. 


4、

# try:
#     num1=int(input("num1="))
#     num2=int(input("num2="))
#     print("num1/num2=",num1/num2)
# except ZeroDivisionError:
#     print("除0错误")
# except ValueError:
#     print("输入的数据不是数字")
#     
# print("执行其他代码")

try:
    num1=int(input("num1="))
    num2=int(input("num2="))
    print("num1/num2=",num1/num2)
except Exception as ex:
    print("Error:",ex)
   
print("执行其他代码")

5、

#直流电机控制实验
from machine import Pin
import time
if __name__=="__main__":
    #直流·电机控制对象
    dc_motor=Pin(15,Pin.OUT,value=0)
    #GPIO-->电机驱动芯片-->直流电机
    dc_motor.value(1)#电机开启
    time.sleep(3)
    dc_motor.value(0)#电机关闭

6、

"""
    按键控制实验(轮训)
"""

from machine import Pin
import time

# 定义按键的控制引脚
key1 = Pin(27, Pin.IN, Pin.PULL_UP)
key2 = Pin(26, Pin.IN, Pin.PULL_UP)

# LED控制对象
led1 = Pin(15, Pin.OUT, value=0)
led2 = Pin(2, Pin.OUT, value=0)

# 定义按键值
KEY1_PRESS = 101
KEY2_PRESS = 102

# 0有某个按键按下,1没有按键按下
key_flag = 1 

# 按键扫描函数,有按键按下返回按键值,没有返回0
def key_scan():
    global key_flag # 声明是全局变量
    if key_flag==1 and (key1.value()==0 or key2.value()==0):
        time.sleep_ms(10) # 按键消抖
        key_flag=0
        if key1.value() == 0:
            return KEY1_PRESS
        elif key2.value() == 0:
            return KEY2_PRESS
    elif key1.value()==1 and key2.value()==1:
        key_flag = 1
            
    return 0 # 没有按键按下   

if __name__ == "__main__":
    while True:
        key = key_scan()
        if key == KEY1_PRESS:
            print("Key1按下")
            led1.value(not led1.value())
        elif key == KEY2_PRESS:
            print("Key2按下")
            led2.value(not led2.value())
        else:
            pass 



相关推荐

最近更新

  1. TCP协议是安全的吗?

    2024-06-16 09:30:03       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-06-16 09:30:03       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-06-16 09:30:03       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-06-16 09:30:03       20 阅读

热门阅读

  1. 使用winehq在Mac上成功运行Win系统exe应用程序

    2024-06-16 09:30:03       9 阅读
  2. PHP序列化基础概念:深入理解数据存储与传输

    2024-06-16 09:30:03       8 阅读
  3. 【分形技术在神经网络建模中的应用】

    2024-06-16 09:30:03       9 阅读
  4. 【Ubuntu20.04】安装XRDP远程桌面服务

    2024-06-16 09:30:03       9 阅读
  5. 【LC刷题】DAY08:151 55 28 459

    2024-06-16 09:30:03       10 阅读
  6. C++中的堆和栈内存定义以及区别

    2024-06-16 09:30:03       6 阅读
  7. 【DPDK学习路径】七、创建RX/TX队列

    2024-06-16 09:30:03       10 阅读
  8. 一网双引擎的定义和优势

    2024-06-16 09:30:03       6 阅读