def __init__(self,
                 delay=None,
                 chars=None,
                 shift_ct=None,
                 clock_pin=25,
                 latch_pin=18,
                 data_pin=20,
                 clear_pin=16):
        """
        Initialize a Seg7 object that defaults to using the Calamari pins.

        delay [float] : The desired amount of time, in seconds, to sleep after
                        a character is written.
                        Defaults to : 1.0

        chars [dict]  : A dict mapping single character keys to byte items
                        used by putc and enabling users to write raw data to
                        the display in the form of human readable symbols.
                        Keys [str]  : A single character symbol.
                        Items [int] : An int [0-255] of the translated symbol.
                        Defaults to : self.default_chars (for a Calamari 7seg)

        shift_ct [float] : The amount of time to wait after shifting values
                           to the device's register such that we are sure the
                           correct bit was received.
                           Defaults to: 10**(-8), for the Calamari Lure.

        *_pin [int]   : The GPIO pins used to drive the 7seg hardware.
                        Defaults to : Calamari pins:
                                        clock_pin = 25
                                        latch_pin = 18
                                        data_pin = 20
                                        clear_pin = 16
        """

        from mraa import Gpio, DIR_OUT_LOW

        self.delay = 1.0 if delay is None else delay
        self.chars = self.default_chars if chars is None else chars
        self.sct = self.default_shift_ct if shift_ct is None else shift_ct

        self.clock_pin = Gpio(clock_pin)
        self.latch_pin = Gpio(latch_pin)
        self.data_pin = Gpio(data_pin)
        self.clear_pin = Gpio(clear_pin)

        self.clock_pin.dir(DIR_OUT_LOW)
        self.latch_pin.dir(DIR_OUT_LOW)
        self.data_pin.dir(DIR_OUT_LOW)
        self.clear_pin.dir(DIR_OUT_LOW)

        self.data_pin.write(0)
        self.clear_pin.write(0)
        self.clear()
        self.putc('.')
Exemplo n.º 2
0
    def __init__(self):

        super(DfrobotBoard, self).__init__()

        # pin mappings
        self.pin_mappings = PinMappings(moisture_pin=3,
                                        pump_pin=15,
                                        screen_register_select_pin=8,
                                        screen_enable_pin=9,
                                        screen_data_0_pin=4,
                                        screen_data_1_pin=5,
                                        screen_data_2_pin=6,
                                        screen_data_3_pin=7,
                                        screen_analog_input_pin=0)

        if HARDWARE_CONFIG.platform == KNOWN_PLATFORMS.firmata:
            addSubplatform(GENERIC_FIRMATA, "/dev/ttyACM0")
            self.pin_mappings += 512

        self.screen = LCDKS(self.pin_mappings.screen_register_select_pin,
                            self.pin_mappings.screen_enable_pin,
                            self.pin_mappings.screen_data_0_pin,
                            self.pin_mappings.screen_data_1_pin,
                            self.pin_mappings.screen_data_2_pin,
                            self.pin_mappings.screen_data_3_pin,
                            self.pin_mappings.screen_analog_input_pin)

        self.moisture = Moisture(self.pin_mappings.moisture_pin)

        self.pump = Gpio(self.pin_mappings.pump_pin)
        self.pump.dir(DIR_OUT)
Exemplo n.º 3
0
    def __init__(self):

        super(DfrobotBoard, self).__init__()

        # pin mappings
        self.pin_mappings = PinMappings(temperature_pin=2,
                                        buzzer_pin=15,
                                        screen_register_select_pin=8,
                                        screen_enable_pin=9,
                                        screen_data_0_pin=4,
                                        screen_data_1_pin=5,
                                        screen_data_2_pin=6,
                                        screen_data_3_pin=7,
                                        screen_analog_input_pin=0)
        self.voltage_adjust = 1.0

        if HARDWARE_CONFIG.platform == KNOWN_PLATFORMS.firmata:
            addSubplatform(GENERIC_FIRMATA, "/dev/ttyACM0")
            self.pin_mappings += 512
            self.voltage_adjust = 0.66

        self.screen = LCDKS(self.pin_mappings.screen_register_select_pin,
                            self.pin_mappings.screen_enable_pin,
                            self.pin_mappings.screen_data_0_pin,
                            self.pin_mappings.screen_data_1_pin,
                            self.pin_mappings.screen_data_2_pin,
                            self.pin_mappings.screen_data_3_pin,
                            self.pin_mappings.screen_analog_input_pin)

        self.temperature = LM35(self.pin_mappings.temperature_pin)
        self.temperature.setScale(self.voltage_adjust)

        self.buzzer = Gpio(self.pin_mappings.buzzer_pin)
        self.buzzer.dir(DIR_OUT)
Exemplo n.º 4
0
    def __init__(self):

        super(DfrobotBoard, self).__init__()

        # pin mappings
        self.pin_mappings = PinMappings(touch_pin=16,
                                        buzzer_pin=15,
                                        screen_register_select_pin=8,
                                        screen_enable_pin=9,
                                        screen_data_0_pin=4,
                                        screen_data_1_pin=5,
                                        screen_data_2_pin=6,
                                        screen_data_3_pin=7,
                                        screen_analog_input_pin=0)

        if HARDWARE_CONFIG.platform == KNOWN_PLATFORMS.firmata:
            addSubplatform(GENERIC_FIRMATA, "/dev/ttyACM0")
            self.pin_mappings += 512

        self.screen = SAINSMARTKS(self.pin_mappings.screen_register_select_pin,
                                  self.pin_mappings.screen_enable_pin,
                                  self.pin_mappings.screen_data_0_pin,
                                  self.pin_mappings.screen_data_1_pin,
                                  self.pin_mappings.screen_data_2_pin,
                                  self.pin_mappings.screen_data_3_pin,
                                  self.pin_mappings.screen_analog_input_pin)

        self.touch = Button(self.pin_mappings.touch_pin)
        self.buzzer = Gpio(self.pin_mappings.buzzer_pin)

        self.buzzer.dir(DIR_OUT)

        self.touch_state = False
        self.stop_buzzer()
Exemplo n.º 5
0
    def __init__(self):

        super(DfrobotBoard, self).__init__()

        # pin mappings
        self.pin_mappings = PinMappings(gas_pin=3, speaker_pin=16)

        if HARDWARE_CONFIG.platform == KNOWN_PLATFORMS.firmata:
            addSubplatform(GENERIC_FIRMATA, "/dev/ttyACM0")
            self.pin_mappings += 512

        self.air = MQ2(self.pin_mappings.gas_pin)

        self.speaker = Gpio(self.pin_mappings.speaker_pin)
        self.speaker.dir(DIR_OUT)
    def __init__(self):

        super(GroveBoard, self).__init__()

        # pin mappings
        self.pin_mappings = PinMappings(touch_pin=4, buzzer_pin=5, i2c_bus=6)

        if HARDWARE_CONFIG.platform == KNOWN_PLATFORMS.firmata:
            addSubplatform(GENERIC_FIRMATA, "/dev/ttyACM0")
            self.pin_mappings += 512
            self.pin_mappings.i2c_bus = 512

        self.screen = Jhd1313m1(self.pin_mappings.i2c_bus, 0x3E, 0x62)
        self.touch = TTP223(self.pin_mappings.touch_pin)
        self.buzzer = Gpio(self.pin_mappings.buzzer_pin)

        self.buzzer.dir(DIR_OUT)

        self.touch_state = False
        self.stop_buzzer()
Exemplo n.º 7
0
    def __init__(self):

        super(DfrobotBoard, self).__init__()

        # pin mappings
        self.pin_mappings = PinMappings(temp_pin=3,
                                        flame_pin=2,
                                        speaker_pin=15,
                                        reference_voltage=1.0)

        if HARDWARE_CONFIG.platform == KNOWN_PLATFORMS.firmata:
            addSubplatform(GENERIC_FIRMATA, "/dev/ttyACM0")
            self.pin_mappings += 512
            self.pin_mappings.reference_voltage = 0.33

        self.temp = Aio(self.pin_mappings.temp_pin)
        self.flame = Aio(self.pin_mappings.flame_pin)
        self.speaker = Gpio(self.pin_mappings.speaker_pin)

        self.speaker.dir(DIR_OUT)
Exemplo n.º 8
0
    def __init__(self):

        super(GroveBoard, self).__init__()

        # pin mappings
        self.pin_mappings = PinMappings(temperature_pin=0,
                                        buzzer_pin=5,
                                        i2c_bus=6)
        self.voltage_adjust = 1.0

        if HARDWARE_CONFIG.platform == KNOWN_PLATFORMS.firmata:
            addSubplatform(GENERIC_FIRMATA, "/dev/ttyACM0")
            self.pin_mappings += 512
            self.pin_mappings.i2c_bus = 512
            self.voltage_adjust = 0.66

        self.screen = Jhd1313m1(self.pin_mappings.i2c_bus, 0x3E, 0x62)
        self.temperature = Temperature(self.pin_mappings.temperature_pin)
        self.buzzer = Gpio(self.pin_mappings.buzzer_pin)

        self.buzzer.dir(DIR_OUT)
    def __init__(self):

        super(GroveBoard, self).__init__()

        # pin mappings
        self.pin_mappings = PinMappings(buzzer_pin=6,
                                        button_pin=5,
                                        rotary_pin=0,
                                        i2c_bus=6)

        if HARDWARE_CONFIG.platform == KNOWN_PLATFORMS.firmata:
            addSubplatform(GENERIC_FIRMATA, "/dev/ttyACM0")
            self.pin_mappings += 512
            self.pin_mappings.i2c_bus = 512

        self.screen = Jhd1313m1(self.pin_mappings.i2c_bus, 0x3E, 0x62)
        self.buzzer = Gpio(self.pin_mappings.buzzer_pin)
        self.rotary = Rotary(self.pin_mappings.rotary_pin)
        self.button = Button(self.pin_mappings.button_pin)

        self.buzzer.dir(DIR_OUT)

        self.rotary_value = 0
        self.button_state = False
Exemplo n.º 10
0
def init_gpio(pin, dir=mraa.DIR_OUT_LOW, mode=mraa.MODE_STRONG):
    gpio = Gpio(pin)
    gpio.dir(dir)
    gpio.mode(mode)
    return gpio