久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1767|回復: 0
打印 上一主題 下一主題
收起左側

MicroPython實戰之TurnipBit開發板旋轉按鈕控制脫機擺動

[復制鏈接]
跳轉到指定樓層
樓主
    一、實驗目的:

    ?學習在PC機系統中擴展簡單I/O 接口的方法
    ?學習TurnipBit拼插編程
    ?了解舵機工作原理
    ?學習TurnipBit擴展板舵機和旋轉按鈕接線方式

    二、所需原器件:

    ?TurnipBit一塊
    ?TurnioBit擴展板一塊
    ?杜邦線若干
    ?usb數據線一條
    ?舵機一個
    ?旋轉按鈕一個

    三、實驗原理:

    1. 舵機的組成與參數
    舵機,又稱伺服馬達,是一種具有閉環控制系統的機電結構。舵機主要是由外殼、電路板、無核心馬達、齒輪與位置檢測器所構成。 其工作原理是由控制器發出PWM(脈沖寬度調制)信號給舵機,經電路板上的IC處理后計算出轉動方向,再驅動無核心馬達轉動, 透過減速齒輪將動力傳至擺臂,同時由位置檢測器(電位器)返回位置信號,判斷是否已經到達設定位置,一般舵機只能旋轉180度。


    舵機的接線
    舵機有3根線,棕色為地,紅色為電源正,橙色為信號線,但不同牌子的舵機,線的顏色可能不同。

    舵機的控制原理
    舵機的轉動的角度是通過調節PWM(脈沖寬度調制)信號的占空比來實現的。

    占空比:
    1.指高電平在一個周期之內所占的時間比率。
    2.正脈沖的持續時間與脈沖總周期的比值。例如:正脈沖寬度1μs,信號周期10μs的脈沖序列占空比為0.1。即:脈沖的寬度除以脈沖的周期稱為占空比。標準PWM(脈沖寬度調制)信號的周期固定為20ms(50Hz),理論上脈寬分布應在1ms到2ms之間,但是,事實上脈寬可由0.5ms到2.5ms之間,脈寬和舵機的轉角0°~180°相對應。

    四、接線方法:

    TurnipBit擴展板與發光二極管接口對應如下表:


    五、源代碼:
  1. from microbit import *

  2. #-----------
  3. #github:https://github.com/microbit-playground/microbit-servo-class
  4. #------------
  5. class Servo:
  6.     def __init__(self, pin, freq=50, min_us=600, max_us=2400, angle=180):
  7.         self.min_us = min_us
  8.         self.max_us = max_us
  9.         self.us = 0
  10.         self.freq = freq
  11.         self.angle = angle
  12.         self.analog_period = 0
  13.         self.pin = pin
  14.         analog_period = round((1/self.freq) * 1000)  # hertz to miliseconds
  15.         self.pin.set_analog_period(analog_period)

  16.     def write_us(self, us):
  17.         us = min(self.max_us, max(self.min_us, us))
  18.         duty = round(us * 1024 * self.freq // 1000000)
  19.         self.pin.write_analog(duty)
  20.         self.pin.write_digital(0)  # turn the pin off

  21.     def write_angle(self, degrees=None):
  22.         degrees = degrees % 360
  23.         total_range = self.max_us - self.min_us
  24.         us = self.min_us + total_range * degrees // self.angle
  25.         self.write_us(us)
  26.         
  27. sv1 = Servo(pin1)
  28. temp=0
  29. while True:
  30.     #讀取旋轉按鈕傳入的值,范圍2~1023
  31.     read_val=pin0.read_analog()
  32.     #舵機旋轉180度,將1023分割成180份,約等于5.67
  33.     angle=round(read_val/5.67)
  34.     if (temp!=angle):
  35.         temp=angle
  36.         sv1.write_angle(angle)
  37.         sleep(60)
復制代碼




分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 九九热在线视频 | 亚洲精品久久久久久久久久吃药 | 91视频中文 | 免费黄色片在线观看 | 亚洲最大看片网站 | 精品国产乱码久久久久久牛牛 | 久久成人一区 | 一区二区福利视频 | 日韩视频中文字幕 | 午夜视频在线观看网站 | 精品日韩一区二区三区av动图 | 国产欧美日韩一区二区三区在线观看 | 在线成人 | 黄视频免费观看 | 国产精品欧美日韩 | 91精品国产综合久久久动漫日韩 | 青青艹在线视频 | 亚洲精品福利在线 | 99精品一区二区 | 欧美在线视频a | 91精品久久久久久久久中文字幕 | 国产精品爱久久久久久久 | 国产精品久久久久久婷婷天堂 | 91不卡在线 | 国产精品久久久久久久久久妇女 | 激情av免费看 | 日本不卡免费新一二三区 | 色香蕉在线 | 日本精品一区二区三区四区 | 久久久一区二区 | 亚州成人 | 夜夜操操操 | 日韩在线欧美 | 99爱在线观看 | 精品一区二区三区不卡 | 久久久久中文字幕 | 中文字幕在线观看一区二区 | 日本在线观看视频 | 国产精品国产三级国产aⅴ无密码 | 久久99国产精一区二区三区 | 好好的日在线视频 |