def go(vel): """ Start the motors and keep them running until told otherwise """ Arduino.digitalWrite(dirA, Arduino.HIGH) Arduino.digitalWrite(dirB, Arduino.HIGH) Arduino.analogWrite(speedA, vel) Arduino.analogWrite(speedB, vel)
def close_pins(): """ Close all motor pins to quit cleanly upon end or exception """ Arduino.analogWrite(speedA, Arduino.LOW) Arduino.analogWrite(speedB, Arduino.LOW) Arduino.digitalWrite(dirA, Arduino.LOW) Arduino.digitalWrite(dirB, Arduino.LOW)
def forward(dist, vel): """ Move forward for dist (time) at vel (motor speed) """ Arduino.digitalWrite(dirA, Arduino.HIGH) Arduino.digitalWrite(dirB, Arduino.HIGH) Arduino.analogWrite(speedA, vel) Arduino.analogWrite(speedB, vel) Arduino.delay(dist)
def lights(): status = request.json['status'] if status == 'on': Arduino.digitalWrite(boardconfig.lights_pin, 1) elif status == 'off': Arduino.digitalWrite(boardconfig.lights_pin, 0) else: return jsonify({ 'error' : 'use status on or off' }), 400 return jsonify({ 'status' : 'success' }), 200
def go_forward(): print "executing go_forward" speed = 255 direction = 0 Arduino.digitalWrite(DIR_B_PIN, direction) Arduino.analogWrite(SPEED_B_PIN, speed) Arduino.digitalWrite(DIR_A_PIN, direction) Arduino.analogWrite(SPEED_A_PIN, speed) Arduino.analogWrite(LED_PIN_G, 155)
def turn_left(angle, vel): """ Turns to the left according to angle (delay) """ Arduino.digitalWrite(dirA, Arduino.HIGH) Arduino.digitalWrite(dirB, Arduino.LOW) Arduino.analogWrite(speedA, vel) Arduino.analogWrite(speedB, Arduino.LOW) Arduino.delay(angle)
def lights(): status = request.json['status'] if status == 'on': Arduino.digitalWrite(boardconfig.lights_pin, 1) elif status == 'off': Arduino.digitalWrite(boardconfig.lights_pin, 0) else: return jsonify({'error': 'use status on or off'}), 400 return jsonify({'status': 'success'}), 200
def reverse(dist, vel): """ Move backwards for dist (time) at vel (motor speed) """ Arduino.digitalWrite(dirA, Arduino.LOW) Arduino.digitalWrite(dirB, Arduino.LOW) Arduino.analogWrite(speedA, vel) Arduino.analogWrite(speedB, vel) Arduino.delay(dist)
def taha(N): Arduino.pinMode(13, Arduino.OUTPUT) while True: Arduino.digitalWrite(13, Arduino.HIGH) time.sleep(float(N)) Arduino.digitalWrite(13, Arduino.LOW) time.sleep(float(N)) lcd.setCursor(0, 1) lcd.printString(N) print N
def rot_ccw(angle, vel): """ Spins to the left according to angle (delay), then stops the motors """ Arduino.digitalWrite(dirA, Arduino.HIGH) Arduino.digitalWrite(dirB, Arduino.LOW) Arduino.analogWrite(speedA, vel) Arduino.analogWrite(speedB, vel) Arduino.delay(angle)
def go_right(): print "executing go_right" speed = 255 direction_a = 1 direction_b = 0 Arduino.digitalWrite(DIR_B_PIN, direction_b) Arduino.analogWrite(SPEED_B_PIN, speed) Arduino.digitalWrite(DIR_A_PIN, direction_a) Arduino.analogWrite(SPEED_A_PIN, speed) Arduino.analogWrite(LED_PIN_R, 0) Arduino.analogWrite(LED_PIN_G, 0) Arduino.analogWrite(LED_PIN_B, 155)
def digitalpin(pin_number): if request.method == 'GET': Arduino.pinMode(pin_number, Arduino.INPUT) data = { 'value' : Arduino.digitalRead(pin_number) } resp = Response(json.dumps(data), status=200, mimetype='application/json') return resp else: Arduino.pinMode(pin_number, Arduino.OUTPUT) Arduino.digitalWrite(pin_number, request.json['value']) resp = Response("", status=200, mimetype='application/json') return resp
def send_updates_to_arduino(batch): if batch.heat: Arduino.digitalWrite(ARDUINO_HEAT_PIN, Arduino.HIGH) else: Arduino.digitalWrite(ARDUINO_HEAT_PIN, Arduino.LOW) if batch.cool: Arduino.digitalWrite(ARDUINO_COOL_PIN, Arduino.HIGH) else: Arduino.digitalWrite(ARDUINO_COOL_PIN, Arduino.LOW)
def close_pins(): """ Close pins to quit cleanly (doesn't work with a 'for loop' despite the pins happily initialising that way!) """ Arduino.digitalWrite(redPin,Arduino.LOW) Arduino.digitalWrite(greenPin,Arduino.LOW) Arduino.digitalWrite(bluePin,Arduino.LOW)
def move(): movetype = request.json['type'] duration = request.json['duration'] if movetype == 'left': Arduino.digitalWrite(boardconfig.motor1_cp1, 0) Arduino.digitalWrite(boardconfig.motor1_cp2, 1) Arduino.analogWrite(boardconfig.motor1_ep, boardconfig.motor_speed) elif movetype == 'right': Arduino.digitalWrite(boardconfig.motor1_cp1, 1) Arduino.digitalWrite(boardconfig.motor1_cp2, 0) Arduino.analogWrite(boardconfig.motor1_ep, boardconfig.motor_speed) elif movetype == 'up': Arduino.digitalWrite(boardconfig.motor2_cp1, 0) Arduino.digitalWrite(boardconfig.motor2_cp2, 1) Arduino.analogWrite(boardconfig.motor2_ep, boardconfig.motor_speed) elif movetype == 'down': Arduino.digitalWrite(boardconfig.motor2_cp1, 1) Arduino.digitalWrite(boardconfig.motor2_cp2, 0) Arduino.analogWrite(boardconfig.motor2_ep, boardconfig.motor_speed) else: return jsonify({ 'error' : 'use type up, down, left or right' }), 400 time.sleep(duration/1000) Arduino.analogWrite(boardconfig.motor2_ep, 0) Arduino.analogWrite(boardconfig.motor1_ep, 0) return jsonify({ 'status' : 'success' }), 200
def setBgColor(): (triple, hexstr) = askcolor() if hexstr: print hexstr print (triple[0], " ", triple[1], " ", triple[2]) a.analogWrite(RLED, triple[0]) a.analogWrite(GLED, triple[1]) a.analogWrite(BLED, triple[2]) push.config(bg=hexstr) print"Starting" print"5 blinks" a.digitalWrite(BLED,a.LOW) a.digitalWrite(GLED,a.LOW) for i in range(0,5): Arduino.digitalWrite(RLED, Arduino.HIGH) sleep(0.2) Arduino.digitalWrite(RLED, Arduino.LOW) sleep(0.2) print"Changing brightness of LED" bright = 128 # Mid brightness a.analogWrite(RLED, bright) #a.digitalWrite(LED,a.HIGH) # Turn on LED for i in range(0,50): bright = bright + 8
#!/usr/bin/env python # Author: Scott Ellis # Basic Digital Read # turns on and off a light emitting diode(LED) connected to digital # pin 13, when pressing a pushbutton attached to pin 5. # Dependencies: nanpy 0.7 from nanpy import Arduino sensorButton = Arduino.digitalRead(5) Arduino.pinMode(sensorButton, Arduino.INPUT) ledPin = 13; Arduino.pinMode(ledPin, Arduino.OUTPUT) while True: sensorButton = Arduino.digitalRead(5) print("sensor value: %d" % sensorButton) if (sensorButton == True): Arduino.digitalWrite(ledPin, Arduino.HIGH) else: Arduino.digitalWrite(ledPin, Arduino.LOW) Arduino.delay(100)
def makeFig(): plt.ylim(20,80) plt.title('Temperature Streaming') plt.grid(True) # plt.ylable('Temp C') plt.plot(tempC, 'ro-',label='Degree C') plt.legend(loc='upper left') # pyplot.show_bokeh(plt.gcf(), filename="mpltest.html") # plotting.session().dumpjson(file="mpltest.json") mpld3.show() # plt.show() print"Starting" print"5 blinks" for i in range(0,2): Arduino.digitalWrite(LED, Arduino.HIGH) sleep(0.5) Arduino.digitalWrite(LED, Arduino.LOW) sleep(0.5) print"Changing brightness of LED" bright = 128 # Mid brightness Arduino.analogWrite(LED, bright) Arduino.digitalWrite(LED,Arduino.HIGH) # Turn on LED for i in range(0,200): bright = bright + 8 if (bright > 200): # LED already full on at this point bright = 0 # Minimum power to LED Arduino.analogWrite(LED, bright) # Change PWM setting/brightness sleep(0.05)
def move(): movetype = request.json['type'] duration = request.json['duration'] if movetype == 'left': Arduino.digitalWrite(boardconfig.motor1_cp1, 0) Arduino.digitalWrite(boardconfig.motor1_cp2, 1) Arduino.analogWrite(boardconfig.motor1_ep, boardconfig.motor_speed) elif movetype == 'right': Arduino.digitalWrite(boardconfig.motor1_cp1, 1) Arduino.digitalWrite(boardconfig.motor1_cp2, 0) Arduino.analogWrite(boardconfig.motor1_ep, boardconfig.motor_speed) elif movetype == 'up': Arduino.digitalWrite(boardconfig.motor2_cp1, 0) Arduino.digitalWrite(boardconfig.motor2_cp2, 1) Arduino.analogWrite(boardconfig.motor2_ep, boardconfig.motor_speed) elif movetype == 'down': Arduino.digitalWrite(boardconfig.motor2_cp1, 1) Arduino.digitalWrite(boardconfig.motor2_cp2, 0) Arduino.analogWrite(boardconfig.motor2_ep, boardconfig.motor_speed) else: return jsonify({'error': 'use type up, down, left or right'}), 400 time.sleep(duration / 1000) Arduino.analogWrite(boardconfig.motor2_ep, 0) Arduino.analogWrite(boardconfig.motor1_ep, 0) return jsonify({'status': 'success'}), 200
#!/usr/bin/env python # Author: Andrea Stagi <*****@*****.**> # Description: keeps your led blinking # Dependencies: None from nanpy import Arduino sys.path.append('/home/pi/Desktop/nanpy-0.8/firmware/ArduinoClass.h') Arduino.pinMode(4, Arduino.OUTPUT) for i in range(10000): Arduino.digitalWrite(4, (i + 1) % 2) Arduino.delay(1000)
__license__ = 'None' from nanpy import Arduino as A switchstate = 0 # SETUP: A.pinMode(3, A.OUTPUT) A.pinMode(4, A.OUTPUT) A.pinMode(5, A.OUTPUT) A.pinMode(2, A.INPUT) # LOOP: while True: switchState = A.digitalRead(2) if switchState == A.LOW: A.digitalWrite(3, A.HIGH) # turn the green LED on pin 3 on A.digitalWrite(4, A.LOW) # turn the red LED on pin 4 off A.digitalWrite(5, A.LOW) # turn the red LED on pin 5 off else: A.digitalWrite(3, A.LOW); # turn the green LED on pin 3 off A.digitalWrite(4, A.LOW); # turn the red LED on pin 4 off A.digitalWrite(5, A.HIGH); # turn the red LED on pin 5 on # wait for a quarter second before changing the light A.delay(250); A.digitalWrite(4, A.HIGH); #// turn the red LED on pin 4 on A.digitalWrite(5, A.LOW); #// turn the red LED on pin 5 off # wait for a quarter second before changing the light A.delay(250);
""" Love O Meter A Python/nanpy port of the LoveOMeter Sketch from the Arduino Starter Kit ( http://arduino.cc/starterKit) """ __version__ = '1.0' __author__ = 'mc7h' __license__ = 'None' from nanpy import Arduino as A SENSOR_PIN_A0 = 14 BASELINE_TEMP = 20.0 # SETUP A.pinMode(2, A.OUTPUT) A.digitalWrite(2, A.LOW) A.pinMode(3, A.OUTPUT) A.digitalWrite(3, A.LOW) A.pinMode(4, A.OUTPUT) A.digitalWrite(4, A.LOW) # LOOP while True: sensorVal = A.analogRead(SENSOR_PIN_A0) voltage = (sensorVal / 1024.0) * 5.0 temperature = (voltage - 0.5) * 100 print("Sensor value: " + str(sensorVal) + ", Volts: " + str(voltage) +", Degrees C: " + str(temperature) + ".") # if the current temperature is lower than the baseline turn off all LEDs if temperature < BASELINE_TEMP: A.digitalWrite(2, A.LOW)
def startArduino(outs): for i in range(len(outs)): Arduino.pinMode(outs[i], Arduino.OUTPUT) Arduino.digitalWrite(outs[i], 0)
def rw(self, **data): print data Arduino.digitalWrite(self.cp1, 1) Arduino.digitalWrite(self.cp2, 0) Arduino.analogWrite(self.ep, data['speed'])
# Adjust for gravity steps = options.steps if options.steps > 0 else options.steps + -100 print 'Motor Steps:', steps # revsteps, pin1, pin2, speed motor = Stepper(200, 12, 13, 50) # Setup pins Arduino.pinMode(3, Arduino.OUTPUT) Arduino.pinMode(11, Arduino.OUTPUT) Arduino.pinMode(9, Arduino.OUTPUT) Arduino.pinMode(8, Arduino.OUTPUT) # Turn off the brakes Arduino.digitalWrite(9, Arduino.LOW) Arduino.digitalWrite(8, Arduino.LOW) # Turn on pulse width modulation Arduino.digitalWrite(3, Arduino.HIGH) Arduino.digitalWrite(11, Arduino.HIGH) motor.step(steps) # Turn off pulse width modulation Arduino.digitalWrite(3, Arduino.LOW) Arduino.digitalWrite(11, Arduino.LOW) # Turn on the brakes Arduino.digitalWrite(9, Arduino.HIGH) Arduino.digitalWrite(8, Arduino.HIGH)
#!/usr/bin/env python # Author: Andrea Stagi <*****@*****.**> # Description: keeps your led blinking # Dependencies: None from nanpy import Arduino Arduino.pinMode(13, Arduino.OUTPUT) for i in range(10000): Arduino.digitalWrite(13, (i + 1) % 2) Arduino.delay(10)
from nanpy import Arduino as A # setup A.pinMode(1, A.OUTPUT) while True: A.digitalWrite(1, HIGH) A.delay(400) A.digitalWrite(1, LOW) A.delay(400)
def init_mashing(batch): # (Re)set defaults for batch set_batch_defaults(batch) set_variable('active_mashingprocess_batch_id', str(batch.id)) # Initialize Arduino with Nanpy if not settings.ARDUINO_SIMULATION: sensor = DallasTemperature(ARDUINO_TEMPERATURE_PIN) addr = sensor.getAddress(ARDUINO_TEMPERATURE_PIN) Arduino.pinMode(ARDUINO_HEAT_PIN, Arduino.OUTPUT) Arduino.pinMode(ARDUINO_COOL_PIN, Arduino.OUTPUT) Arduino.pinMode(ARDUINO_STATUS_PIN, Arduino.OUTPUT) Arduino.digitalWrite(ARDUINO_HEAT_PIN, Arduino.LOW) Arduino.digitalWrite(ARDUINO_COOL_PIN, Arduino.LOW) Arduino.digitalWrite(ARDUINO_STATUS_PIN, Arduino.HIGH) else: # Set initial dummy temperature batch.temperature = 20 # Testing purpose only batch.save() batch = Batch.objects.get(id=batch.id) # Run Mashing proces while get_variable('active_mashingprocess_batch_id', 'None') == str(batch.id): # Measure data measured_data = {} if settings.ARDUINO_SIMULATION: measured_data['temp'] = get_dummy_temperature(batch) else: sensor.requestTemperatures() measured_data['temp'] = sensor.getTempC(addr) # Define actions depending on measured data batch = process_measured_data(batch.id, measured_data) # Send updates to arduino if not settings.ARDUINO_SIMULATION: send_updates_to_arduino(batch) # Send to logging department handle_logging(batch) # Delay sleep(DELAY_BETWEEN_MEASUREMENTS) Arduino.digitalWrite(ARDUINO_STATUS_PIN, Arduino.LOW) Arduino.digitalWrite(ARDUINO_COOL_PIN, Arduino.LOW) Arduino.digitalWrite(ARDUINO_HEAT_PIN, Arduino.LOW) return 'Mashing proces ended'