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()
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()