河北工业大学吧 关注:202,846贴子:4,517,089
  • 7回复贴,共1
求助

选课求问,生命探秘和微机维护

取消只看楼主收藏回复

这两门课怎么样,尤其是微机维护,有人说又是论文查重又有实验,有人说实验有手就行,如果微机这门课不太好,那创新类里面还有什么可以推荐的


IP属地:天津来自Android客户端1楼2023-02-19 19:13回复
    顶顶


    IP属地:天津来自Android客户端2楼2023-02-19 19:13
    回复
      微机维护不考虑了,和我课冲突了


      IP属地:天津来自Android客户端3楼2023-02-19 19:17
      回复
        我是北辰大一的


        IP属地:天津来自Android客户端4楼2023-02-19 19:22
        收起回复
          import PCF8591 as ADC
          import time
          # 初始化
          def makerobo_setup():
          ADC.setup(0x48)# 设置PCF8591模块地址
          global makerobo_state # 状态变量
          # 方向判断函数
          def makerobo_direction():
          state = ['home', 'up', 'down', 'left', 'right', 'pressed'] # 方向状态信息
          i = 0
          if ADC.read(0) <= 30:
          i = 1# up方向
          if ADC.read(0) >= 225:
          i = 2# down方向
          if ADC.read(1) >= 225:
          i = 4# left方向
          if ADC.read(1) <= 30:
          i = 3# right方向
          if ADC.read(2) == 0 and ADC.read(1) == 128:
          i = 5# Button按下
          # home位置
          if ADC.read(0) - 125 < 15 and ADC.read(0) - 125 > -15and ADC.read(1) - 125 < 15 and ADC.read(1) - 125 > -15 and ADC.read(2) == 255:
          i = 0
          return state[i] # 返回状态
          # 循环函数
          def makerobo_loop():
          makerobo_status = '' # 状态值赋空值
          while True:
          makerobo_tmp = makerobo_direction() # 调用方向判断函数
          if makerobo_tmp != None and makerobo_tmp != makerobo_status: # 判断状态是否发生改变
          print (makerobo_tmp) # 打印出方向位
          makerobo_status = makerobo_tmp # 把当前状态赋给状态值,以防止同一状态多次打印
          # 异常处理函数
          def destroy():
          pass
          # 程序入口
          if __name__ == '__main__':
          makerobo_setup() # 初始化
          try:
          makerobo_loop() # 调用循环函数
          except KeyboardInterrupt: # 当按下Ctrl+C时,将执行destroy()子程序。
          destroy() # 调用释放函数


          IP属地:天津9楼2023-02-28 10:16
          回复
            import smbus
            import PCF8591 as ADC
            import time
            # 对应比较旧的版本如RPI V1 版本,则 "bus = smbus.SMBus(0)"
            bus = smbus.SMBus(1)
            #通过 sudo i2cdetect -y -1 可以获取到IIC的地址
            def setup(Addr):
            global address
            address = Addr
            # 读取模拟量信息
            def read(chn): #通道选择,范围是0-3之间
            try:
            if chn == 0:
            bus.write_byte(address,0x40)
            if chn == 1:
            bus.write_byte(address,0x41)
            if chn == 2:
            bus.write_byte(address,0x42)
            if chn == 3:
            bus.write_byte(address,0x43)
            bus.read_byte(address) # 开始进行读取转换
            except Exception as e:
            print ("Address: %s" % address)
            print (e)
            return bus.read_byte(address)
            # 模块输出模拟量控制,范围为0-255
            def write(val):
            try:
            temp = val # 将数值赋给temmp 变量
            temp = int(temp) # 将字符串转换为整型
            # 在终端上打印temp以查看,否则将注释掉
            bus.write_byte_data(address, 0x40, temp)
            except Exception as e:
            print ("Error: Device address: 0x%2X" % address)
            print (e)
            def makerobo_setup():
            ADC.setup(0x48) # 设置PCF8591模块地址
            # 无限循环
            def loop():
            while True:
            print (ADC.read(0)) #读取AIN0的数值,插上跳线帽之后,采用的是内部的电位器;
            ADC.write(ADC.read(0)) # 控制AOUT输出电平控制LED灯
            # 异常处理函数
            def destroy():
            ADC.write(0) #AOUT输出为0
            #程序入口
            if __name__ == "__main__":
            try:
            makerobo_setup() #地址设置
            loop() # 调用无限循环
            except KeyboardInterrupt:
            destroy() #释放AOUT端口


            IP属地:天津10楼2023-02-28 10:17
            回复
              import smbus
              import PCF8591 as ADC
              import time
              # 对应比较旧的版本如RPI V1 版本,则 "bus = smbus.SMBus(0)"
              bus = smbus.SMBus(1)
              #通过 sudo i2cdetect -y -1 可以获取到IIC的地址
              def setup(Addr):
              global address
              address = Addr
              # 读取模拟量信息
              def read(chn): #通道选择,范围是0-3之间
              try:
              if chn == 0:
              bus.write_byte(address,0x40)
              if chn == 1:
              bus.write_byte(address,0x41)
              if chn == 2:
              bus.write_byte(address,0x42)
              if chn == 3:
              bus.write_byte(address,0x43)
              bus.read_byte(address) # 开始进行读取转换
              except Exception as e:
              print ("Address: %s" % address)
              print (e)
              return bus.read_byte(address)
              # 模块输出模拟量控制,范围为0-255
              def write(val):
              try:
              temp = val # 将数值赋给temmp 变量
              temp = int(temp) # 将字符串转换为整型
              # 在终端上打印temp以查看,否则将注释掉
              bus.write_byte_data(address, 0x40, temp)
              except Exception as e:
              print ("Error: Device address: 0x%2X" % address)
              print (e)
              def makerobo_setup():
              ADC.setup(0x48) # 设置PCF8591模块地址
              # 无限循环
              import RPi.GPIO as GPIO
              import time
              def loop():
              while True:
              print (ADC.read(0)) #读取AIN0的数值,插上跳线帽之后,采用的是内部的电位器;
              ADC.write(ADC.read(0)) # 控制AOUT输出电平控制LED灯
              # 异常处理函数
              def destroy():
              ADC.write(0) #AOUT输出为0
              #程序入口
              if __name__ == "__main__":
              try:
              makerobo_setup() #地址设置
              loop() # 调用无限循环
              except KeyboardInterrupt:
              destroy() #释放AOUT端口


              IP属地:天津11楼2023-02-28 10:51
              回复
                pyright © 1999-2020, CSDN.NET, All Rights Reserved
                打开APP
                xbw12138
                关注
                树莓派蜂鸣器+超声波测距模块 原创
                2016-07-15 21:10:11
                3点赞
                xbw12138
                码龄8年
                关注
                /2016/07/15
                by xbw/
                ///环境 树莓派 2B+
                </pre><p></p><pre>
                #! /usr/bin/python
                # -*- coding:utf-8 -*-
                import 网页链接 as GPIO
                import time
                def checkdist():
                #发出触发信号
                GPIO.output(2,GPIO.HIGH)
                #保持10us以上(我选择15us)
                time.sleep(0.000015)
                GPIO.output(2,GPIO.LOW)
                while not GPIO.input(3):
                pass
                #发现高电平时开时计时
                t1 = time.time()
                while GPIO.input(3):
                pass
                #高电平结束停止计时
                t2 = time.time()
                #返回距离,单位为米
                return (t2-t1)*340/2
                def beep():
                print '有人靠近!!!'
                GPIO.output(9,GPIO.LOW)
                time.sleep(0.5)
                GPIO.output(9,GPIO.HIGH)
                time.sleep(0.5)
                GPIO.setmode(GPIO.BCM)
                #第3号针,GPIO2
                GPIO.setup(2,GPIO.OUT,initial=GPIO.LOW)
                #第5号针,GPIO3
                GPIO.setup(3,GPIO.IN)
                #第17号针,GPIO9
                GPIO.setup(9,GPIO.OUT)
                time.sleep(2)
                try:
                while True:
                print '距离: %0.2f m' %checkdist()
                if int(checkdist())<=1:
                beep()
                time.sleep(0.5)
                except KeyboardInterrupt:
                GPIO.cleanup()


                IP属地:天津来自Android客户端12楼2023-03-01 08:31
                回复