当前位置: 首页 > news >正文

电子商务网站建设期末作业转发文章赚钱的网站建设

电子商务网站建设期末作业,转发文章赚钱的网站建设,做装修那个网站好,中国建设银行官方招聘网站第一弹赛题的选择与前期方案的准备 opencv调用摄像头bug的解决 机械臂的组装 采用三个舵机,组成一个三自由度的机械臂。 并且利用电磁吸盘的方式,完成对棋子的抓取工作,后面的事实证明,在预算不足的情况下,队友手搓…

第一弹赛题的选择与前期方案的准备

opencv调用摄像头bug的解决

机械臂的组装

采用三个舵机,组成一个三自由度的机械臂。
如图所示
并且利用电磁吸盘的方式,完成对棋子的抓取工作,后面的事实证明,在预算不足的情况下,队友手搓的机械臂,发挥了大作用。

机械臂的调试代码

import time
import RPi.GPIO as GPIOclass ArmControl:def __init__(self):GPIO.setwarnings(False)# 初始化舵机引脚self.servos = {'base': 16,'shoulder': 20,'elbow': 21}# 设定每个九宫格位置对应的舵机角度self.position_angles = {0:(60 ,60 , 90), 9: (94, 69, 46),  # 位置1: 基座97°,肩部14°,肘部0° true1 9 18: (89, 67, 48),  # 位置2: 基座90°,肩部14°,肘部0° true1 8 17: (83, 63, 51),  # 位置3: 基座82°,肩部14°,肘部0° true1 7 16: (96,61, 67),   # 位置4: 基座97°,肩部5°,肘部3°  true1 6 15: (89, 61, 73),   # 位置5: 基座90°,肩部0°,肘部0° true1 5 14: (82, 61, 74),   # 位置6: 基座82°,肩部5°,肘部3° true1 4 13: (98, 60, 89),  # 位置7: 基座99°,肩部0°,肘部45° true1 3 12: (89, 60, 93),  # 位置8: 基座90°,肩部0°,肘部45°  true1 2 11: (80, 60, 97) ,  # 位置9: 基座80°,肩部0°,肘部46° true1 1 1'A1': (75,64,63),  # 位置1: 基座97°,肩部14°,肘部0° 'B1':(104,67,49),  # 位置1: 基座97°,肩部14°,肘部0° true'C1':(106,66,67),  # 位置1: 基座97°,肩部14°,肘部0° ture'D1':(108, 70, 102),  # 位置1: 基座97°,肩部14°,肘部0°'A2':(75, 69,43),  # 位置1: 基座97°,肩部14°,肘部0° true 1'B2':(75, 64, 67),  # 位置1: 基座97°,肩部14°,肘部0° true'C2':(73, 64, 85),  # 位置1: 基座97°,肩部14°,肘部0°'D2':(70, 70, 112),  # 位置1: 基座97°,肩部14°,肘部0°}# 设置GPIO模式GPIO.setmode(GPIO.BCM)# 设置舵机引脚self.pwm = {}self.last_time = 0  # 上一次设置时间self.debounce_time = 0.5  # 防抖时间(秒)for servo in self.servos.values():GPIO.setup(servo, GPIO.OUT)self.pwm[servo] = GPIO.PWM(servo, 50)  # 50Hzself.pwm[servo].start(0)def set_servo_angle(self, pwm, target_angle, speed):"""将舵机平滑旋转到指定角度,并实现防抖逻辑"""current_time = time.time()  # 获取当前时间# 防抖逻辑if current_time - self.last_time < self.debounce_time:return  # 如果距离上次设置时间小于防抖时间,则不执行# 计算占空比duty = self.angle_to_duty_cycle(target_angle)# 确保占空比在合理范围内if duty < 0:duty = 0elif duty > 12:  # 假设最大是180度duty = 12pwm.ChangeDutyCycle(duty)time.sleep(speed)  # 按速度控制时间延迟pwm.ChangeDutyCycle(0)  # 停止PWM信号self.last_time = current_time  # 更新最后设置时间def move_servo(self, servo_name, angle):"""指定舵机移动到指定角度"""self.set_servo_angle(self.pwm[self.servos[servo_name]], angle, 0.5)  # 设置速度为0.5秒def move_to_position(self, position):"""移动机械臂到指定棋盘位置(1-9)"""if position in self.position_angles:angles = self.position_angles[position]  # 获取角度元组self.move_servo('base', angles[0])# 移动基座time.sleep(1)self.move_servo('elbow', angles[2])time.sleep(1)self.move_servo('shoulder', angles[1])# 移动肩部# 移动肘部def remove_to_position(self, position):"""移动机械臂到指定棋盘位置(1-9)"""if position in self.position_angles:angles = self.position_angles[position]  # 获取角度元组self.move_servo('shoulder', angles[1])# 移动基座time.sleep(1)self.move_servo('elbow', angles[2])time.sleep(1)self.move_servo('base', angles[0])else:print("无效的位置编号!")def angle_to_duty_cycle(self, angle):"""将角度转换为PWM占空比(0到100之间)"""return (angle / 18) + 2  # 示例转换,具体根据舵机类型调整def cleanup(self):"""清理GPIO设置"""for pwm in self.pwm.values():pwm.stop()GPIO.cleanup()if __name__ == "__main__":arm = ArmControl()try:# 将舵机初始化到位置 0print("Moving to position 0...")arm.remove_to_position(0)time.sleep(2)  # 等待,确保舵机到达位置# 返回到位置 0print("Returning to position 0...")arm.move_to_position('B1')time.sleep(2)  # 等待,确保舵机到达位置# 然后移动到位置 1print("Moving to position 1...")#arm.remove_to_position(0)time.sleep(2)  # 等待,确保舵机到达位置except KeyboardInterrupt:print("Process interrupted!")finally:arm.cleanup()  # 清理GPIO设置

机械臂的问题

首先,三个舵机一定要与树莓派共地,不然机械臂可能会出现,随机乱动的情况。
其次,一定要根据三个舵机的功率,去计算机械臂的功率,然后选取非常稳定的稳压模块去给其供电。

http://www.yayakq.cn/news/33326/

相关文章:

  • 自己怎么创建网站有创意的网络公司名字大全
  • 淘宝客如何做返积分制网站品牌广告文案
  • 求职网站排名毕业设计代做的网站
  • 电子商务网站建设第一章课后在线视频网站怎么做
  • 普通网站报价多少wordpress禁用文章定时发布
  • 江苏省交通运输厅门户网站建设管理中心百度知道网页版登录入口
  • 如何制作一般企业网站进口彩妆做的好的网站
  • 网站空间名词解释烟台网站建设设计公司
  • 高端网站优化公司微软做网站的软件
  • 奢侈品 网站建设方案wordpress 获取页码
  • 渝快办官方网站wordpress知识库
  • 做头像一个字的网站潮品服饰网站建设规划书
  • 网站开发用什么编辑器上海多家商场调整营业时间
  • 如何建设高等数学课程网站制作网站首页psd
  • 教育培训推广网站模板做外贸哪个网站最容易上手
  • 企业网站备案资料样本河北保定最新通知
  • wordpress评论添加验证码关键词排名优化报价
  • 国外网站制作有哪些长春设计网站
  • 用固定ip做访问网站服务器网站登录设计欣赏
  • 怎样在阿里巴巴做网站手机制作网站
  • 网站后台登陆密码现代感网站
  • 网站建设的建议例子全球建筑设计公司排名
  • 哪个网站可以自己做行程那个网站专门做二手衣服的
  • 石家庄做网站最好的公司哪家好检测站点是否使用wordpress
  • 网站优化方案和实施外贸网站平台有哪些
  • 站长网站推广wordpress slideshow
  • 如何 在网站上面做推广wordpress底部版权信息修改
  • 个人可以做企业网站前端开发工作岗位
  • 石家庄个人建网站视频封面制作网站
  • 浙江新中环建设有限公司 网站WordPress 手机编辑