Exemple #1
0
 def __init__(self, brokerIp=None, brokerPort=1883, topic=None):
     self.__brokerIp = brokerIp
     self.__brokerPort = brokerPort
     self.__topic = topic
     # mqtt의 Client 객체 생성
     self.__client = mqtt.Client()
     # 콜백 함수 설정
     self.__client.on_connect = self.__on_connect
     self.__client.on_disconnect = self.__on_disconnect
     # 메시지를 받았을때 자동을 호출되는 콜백함수
     self.__client.on_message = self.__on_message
     # 센서 객체 생성
     self.rgbLed = RgbLed(redpin=16, greenpin=18, bluepin=22)
     self.pca9685 = Pca9685()
     self.buzzer = ActiveBuzzer(35)
     self.laser = Laser(37)
     self.laser2 = Laser(29)
     self.sg90direction = Sg90(self.pca9685, channel=15)
     self.sg90sensor = Sg90(self.pca9685, channel=14)
     self.sg90camera_vertical = Sg90(self.pca9685, channel=13)
     self.sg90camera_horizontal = Sg90(
         self.pca9685, channel=8)  #12번인데 지금 개박살나서 8번으로 비활성화 해놨어요
     self.lcd1602 = Lcd1602(0x27)
     # 서보모터 각도 고정값
     self.camera_angle_vertical = 10
     self.camera_angle_horizontal = 70
     self.direction_angle = 90
     self.sensor_angle = 70
 def __init__(self, brokerIp=None, brokerPort=1883, topic=None):
     self.__brokerIp = brokerIp
     self.__brokerPort = brokerPort
     self.__topic = topic
     self.__client = mqtt.Client()
     self.__client.on_connect = self.__on_connect
     self.__client.on_disconnect = self.__on_disconnect
     self.__client.on_message = self.__on_message
     self.pca9685 = Pca9685()
     self.dcMotorL = DCMotor(IN1=11, IN2=12, pca9685=self.pca9685, pwm=5)
     self.dcMotorR = DCMotor(IN1=13, IN2=15, pca9685=self.pca9685, pwm=4)
     self.sg90direction = Sg90(self.pca9685, channel=15)
     self.sg90sensor = Sg90(self.pca9685, channel=14)
     self.sg90camera_vertical = Sg90(self.pca9685, channel=13)
     self.sg90camera_horizontal = Sg90(self.pca9685, channel=8)
     # 속도 정보가 저장되는 싱글톤 객체 생성
     self.singletonSpeed = SingletonSpeed()
     # 모터의 기본 속도 정의
     self.motorspeed = 0
     self.camera_angle_vertical = 10
     self.camera_angle_horizontal = 70
     self.direction_angle = 90
     self.sensor_angle = 70
     self.laser1 = Laser(37)
     self.laser2 = Laser(29)
     self.buzzer = ActiveBuzzer(35)
     self.rgbLed = RgbLed(redpin=16, greenpin=18, bluepin=22)
     self.checkStatus = False
 def __init__(self, brokerIp=None, brokerPort=1883, topic=None):
     self.__brokerIp = brokerIp
     self.__brokerPort = brokerPort
     self.__topic = topic
     self.__client = mqtt.Client()
     self.__client.on_connect = self.__on_connect
     self.__client.on_disconnect = self.__on_disconnect
     self.__client.on_message = self.__on_message
     self.pca9685 = Pca9685()
     self.dcMotorL = DCMotor(IN1=11, IN2=12, pca9685=self.pca9685, pwm=5)
     self.dcMotorR = DCMotor(IN1=13, IN2=15, pca9685=self.pca9685, pwm=4)
     # 속도 정보가 저장되는 싱글톤 객체 생성
     self.singletonSpeed = SingletonSpeed()
     # 모터의 기본 속도 정의
     self.motorspeed = 0
Exemple #4
0
 def __init__(self):
     self.pcf8591 = Pcf8591(0x48)
     self.pca9685 = Pca9685()
     self.buzzer = ActiveBuzzer(35)
     self.dcmotor = DcMotor(self.pca9685)
     self.gas = Gas(self.pcf8591, ain=2)  # 클래스 생성자에서 스레드 생성
     self.hcsr = HcSr04(trigpin=40, echopin=38)  # 클래스 생성자에서 스레드 생성
     self.laser = Laser(37)
     self.photo = Photoresistor(self.pcf8591, 0)  # 클래스 생성자에서 스레드 생성
     self.led = RgbLed(redpin=16, greenpin=18, bluepin=22)
     self.servo1 = Sg90(self.pca9685, 0)  # 카메라 서보1
     self.servo2 = Sg90(self.pca9685, 1)  # 카메라 서보2
     self.servo3 = Sg90(self.pca9685, 8)  # 초음파 서보
     self.servo4 = Sg90(self.pca9685, 9)  # 앞바퀴 서보
     self.thermistor = Thermistor(self.pcf8591, 1)  # 클래스 생성자에서 스레드 생성
     self.tracker = Tracker(32)  # 클래스 생성자에서 스레드 생성
     self.lcd = Lcd1602(0x27)
Exemple #5
0
    def __init__(self, brokerIp, brokerPort, pubTopic):
        # 센서 값을 받아오기 위해 각각의 객체를 생성하고, Pin 번호도 동시에 설정

        self.pca9685 = Pca9685()
        self.pcf8591 = Pcf8591(0x48)
        self.gas = Gas(self.pcf8591, ain=2)
        self.hcsr04 = HcSr04(trigpin=38, echopin=40)
        self.thermistor = Thermistor(self.pcf8591, 1)
        self.photoresister = Photoresister(self.pcf8591, ain=0)
        self.tracking = Tracking(Tracking=36)

        # SensorRover 객체 생성 시 받아온 값을 클래스 내에서 사용하기 위한 선언
        self.brokerIp = brokerIp
        self.brokerPort = brokerPort
        self.pubTopic = pubTopic
        self.client = None

        # 속도 값을 받아 오기 위한 객체 생성
        self.singletonSpeed = SingletonSpeed()
    def forward(self):
        GPIO.output(self.__IN1, GPIO.HIGH)
        GPIO.output(self.__IN2, GPIO.LOW)

    def backward(self):
        GPIO.output(self.__IN1, GPIO.LOW)
        GPIO.output(self.__IN2, GPIO.HIGH)

    def stop(self):
        GPIO.output(self.__IN1, GPIO.LOW)
        GPIO.output(self.__IN2, GPIO.LOW)
        self.setSpeed(0)

if __name__ == '__main__':
    pca9685 = Pca9685()
    dcMotor1 = DCMotor(IN1=11, IN2=12, pca9685=pca9685, pwm=5)
    dcMotor2 = DCMotor(IN1=13, IN2=15, pca9685=pca9685, pwm=4)
    hcsr04 = HcSr04(trigpin=38, echopin=40)

    dcMotor1.setSpeed(1023)
    dcMotor2.setSpeed(1023)
    dcMotor1.forword()
    dcMotor2.forword()
    time.sleep(5)
    dcMotor1.backword()
    dcMotor2.backword()
    time.sleep(5)
    dcMotor1.stop()
    dcMotor2.stop()