コード例 #1
0
class PISO_IC_n:
    def __init__(self, baudrate):
        self.baudrate = baudrate
        self.setup()
        self.run()
        self.exit()

    def setup(self):

        self.obj_arduino = Arduino()
        self.port = self.obj_arduino.locateport()
        self.obj_arduino.open_serial(1, self.port, self.baudrate)

    # self.obj_icm=IC_methods(self.baudrate)

    def run(self):

        dataPin = 9
        clockPin = 10
        latchPin = 11

        ledPin = 5  #LED that shows serial output
        clockLed = 6  #LED that shows clock pulses

        p = int(raw_input("Enter no. of times parallel load is to be given: "))
        n = int(raw_input("Enter no. of bits: "))

        self.obj_arduino.cmd_digital_out(1, latchPin, 1)  #parallel load mode

        for _ in range(0, p):
            print("Give input, Parallel load mode:")
            sleep(2)
            self.obj_arduino.cmd_digital_out(1, clockPin,
                                             1)  #positive edge occurs
            #parallel load is stored
            print("Inputs stored, Serial shift mode:")
            sleep(0.5)

            self.obj_arduino.cmd_digital_out(1, clockPin, 0)
            self.obj_arduino.cmd_digital_out(1, latchPin, 0)  #serial out mode

            self.obj_arduino.cmd_shift_in_n(dataPin, clockPin, ledPin,
                                            clockLed, n)

            self.obj_arduino.cmd_digital_out(1, latchPin, 1)
            self.obj_arduino.cmd_digital_out(1, ledPin, 0)

    def exit(self):
        self.obj_arduino.close_serial()
コード例 #2
0
class PISO_IC_n:
    def __init__(self, baudrate):
        self.baudrate = baudrate
        self.setup()
        self.run()
        self.exit()

    def setup(self):

        self.obj_arduino = Arduino()
        self.port = self.obj_arduino.locateport()
        self.obj_arduino.open_serial(1, self.port, self.baudrate)

    # self.obj_icm=IC_methods(self.baudrate)

    def run(self):

        dataPin = 9
        clockPin = 10
        latchPin = 11

        ledPin = 5  # LED that shows serial output
        clockLed = 6  # LED that shows clock pulses

        p = int(raw_input("Enter no. of times parallel load is to be given: "))
        n = int(raw_input("Enter no. of bits: "))

        self.obj_arduino.cmd_digital_out(1, latchPin, 1)  # parallel load mode

        for _ in range(0, p):
            print ("Give input, Parallel load mode:")
            sleep(2)
            self.obj_arduino.cmd_digital_out(1, clockPin, 1)  # positive edge occurs
            # parallel load is stored
            print ("Inputs stored, Serial shift mode:")
            sleep(0.5)

            self.obj_arduino.cmd_digital_out(1, clockPin, 0)
            self.obj_arduino.cmd_digital_out(1, latchPin, 0)  # serial out mode

            self.obj_arduino.cmd_shift_in_n(dataPin, clockPin, ledPin, clockLed, n)

            self.obj_arduino.cmd_digital_out(1, latchPin, 1)
            self.obj_arduino.cmd_digital_out(1, ledPin, 0)

    def exit(self):
        self.obj_arduino.close_serial()