def pirSense(self): for key in self.unit['pir']: pin = self.unit['pir'][key]['pin'] Arduino.pinMode(pin, Arduino.INPUT) self.unit['pir'][key].update(state=Arduino.digitalRead(pin))
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 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 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'
""" Spaceship Interface A Python/nanpy port of the SpaceshipInterface Sketch from the Arduino Starter Kit ( http://arduino.cc/starterKit) """ __version__ = '1.0' __author__ = 'mc7h' __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
#!/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)
def startArduino(outs): for i in range(len(outs)): Arduino.pinMode(outs[i], Arduino.OUTPUT) Arduino.digitalWrite(outs[i], 0)
""" 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)
#!/usr/bin/env python # Author: Andrea Stagi <*****@*****.**> # Description: a lamp that turns a light on and off when you touch a piece of conductive material # Dependencies: nanpy > 6.0 from nanpy import (Arduino, CapacitiveSensor) capSensor = CapacitiveSensor(4,2) threshold = 1000 ledPin = 12; Arduino.pinMode(ledPin, Arduino.OUTPUT) while True: sensorValue = capSensor.capacitiveSensor(30) print("Capacitive sensor value: %d" % sensorValue) if sensorValue > threshold: Arduino.digitalWrite(ledPin, Arduino.HIGH) else: Arduino.digitalWrite(ledPin, Arduino.LOW) Arduino.delay(10)
from nanpy import Arduino from time import sleep # set LED pin numbers redPin = 3 greenPin = 6 bluePin = 9 # set pot pin numbers pot_r_Pin = 0 pot_g_Pin = 3 pot_b_Pin = 5 #set three coloured pins as outputs for pins in (redPin, greenPin, bluePin): Arduino.pinMode(pins, Arduino.OUTPUT) # set pot pins as inputs for pins in (pot_r_Pin, pot_g_Pin, pot_b_Pin): Arduino.pinMode(pins, Arduino.INPUT) # prints values to the terminal when True debug = False def get_pots(): """ Grab a reading from each of the pot pins and send it to a tuple to be read by the colour mixer """ r = Arduino.analogRead(pot_r_Pin) / 4 Arduino.delay(1)
#!/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)
#{ #'x': [], 'y': [], 'type': 'scatter', #'stream': { #'token': plotly_user_config['plotly_streaming_tokens'][0], #axpoints': 200 #} #}], filename='aRi Analytics Demonstration') #print "View your streaming graph here: ", url LED =10 # LED on Arduino Pin 10 (with PWM) # for measuring temperature analogPort = 0 powervoltage = 5. tempC = [] Arduino.pinMode(LED, Arduino.OUTPUT) #Arduino.pinMode(analogPort, Arduino.INPUT) # function makeFig() 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()
from flask import Flask, render_template, request from nanpy import Arduino as A from nanpy import (SPI, Wire, L3G, Servo) import os tmpl_dir = os.path.join(os.path.dirname(os.path.abspath(__file__)), '') app = Flask(__name__, template_folder=tmpl_dir, static_url_path='') import datetime red = 8 green = 11 A.pinMode(red, A.OUTPUT) A.pinMode(green, A.OUTPUT) ##################### ####### Gyro ######## ##################### L3G gyro gyroSum = 0 gyroOffset = 0.0 Xval = 0 # gyro calibration variables gyromin = -25000 gyromax = 25000 # gyro smoothing variables i = 0 gyroaverage = 0. numReadings = 5
@app.route('/lights', methods=['POST']) 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 @app.route('/beep', methods=['POST']) def beep(): duration = request.json['duration'] tone = Tone(boardconfig.beep_pin) tone.play(Tone.NOTE_FS1, duration) return jsonify({'status': 'success'}), 200 if __name__ == "__main__": serial_manager.open(boardconfig.serialport) Arduino.pinMode(boardconfig.motor1_cp1, Arduino.OUTPUT) Arduino.pinMode(boardconfig.motor1_cp2, Arduino.OUTPUT) Arduino.pinMode(boardconfig.motor1_ep, Arduino.OUTPUT) Arduino.pinMode(boardconfig.motor2_cp1, Arduino.OUTPUT) Arduino.pinMode(boardconfig.motor2_cp2, Arduino.OUTPUT) Arduino.pinMode(boardconfig.motor2_ep, Arduino.OUTPUT) Arduino.pinMode(boardconfig.lights_pin, Arduino.OUTPUT) app.run()
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)
#!/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)
import os from nanpy import Arduino, Lcd Arduino.pinMode(14, input) # Setup the LCD pins for the Keypad Shield lcd = Lcd([8,9,7,6,5,4],[16,2]) max_trax = 6 def getKey(): # Function to Translate the analogRead values from the Keys to a Command val = Arduino.analogRead(14) if val == 1023: return "NONE" elif val < 100: return "RIGHT" elif val < 150: return "UP" elif val < 330: return "DOWN" elif val < 510: return "LEFT" elif val < 750: return "SEL" else: return "KBD_FAULT" def getTrack(): L= [S.strip('\n') for S in os.popen('mpc').readlines()] # Get the Track info from the stdout of the mpc command station = L[0][0:15] # Pick out the Station and Track info
parser = optparse.OptionParser() parser.add_option('-s', '--steps', type='int', action='store', dest='steps', help='motor steps', default=200) options, args = parser.parse_args() from nanpy import Stepper from nanpy import Arduino # 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
pwmPin6 = board.get_pin("d:7:p") pwmPin7 = board.get_pin("d:8:p") pwmPin8 = board.get_pin("d:9:p") else: boardPin = 13 pwmPin1 = 2 pwmPin2 = 3 pwmPin3 = 4 pwmPin4 = 5 pwmPin5 = 6 pwmPin6 = 7 pwmPin7 = 8 pwmPin8 = 9 if USE_NANPY: Arduino.pinMode(boardPin, Arduino.OUTPUT) Arduino.pinMode(pwmPin1, Arduino.OUTPUT) Arduino.pinMode(pwmPin2, Arduino.OUTPUT) Arduino.pinMode(pwmPin3, Arduino.OUTPUT) Arduino.pinMode(pwmPin4, Arduino.OUTPUT) Arduino.pinMode(pwmPin5, Arduino.OUTPUT) Arduino.pinMode(pwmPin6, Arduino.OUTPUT) Arduino.pinMode(pwmPin7, Arduino.OUTPUT) Arduino.pinMode(pwmPin8, Arduino.OUTPUT) # my version of firmata sets the pwm in the firmware set_timers() targetpin = boardPin PWM_Levelout = 0 outpin = 0 writeVAR = 0
#!/usr/bin/env python # Avoider sketch for Nanpy-controlled frindo bot # Russell Barnes - 02 Oct 2013 from nanpy import Arduino from nanpy import Servo from time import sleep from modules.motorfuncs import * from modules.sensorfuncs import * from modules.servofuncs import * from modules.helperfuncs import * lock = 5 Arduino.pinMode(lock, Arduino.INPUT) def debug(): """ If lock switch is in the locked position stop motors and give sensor feedback instead """ stop() reading = read_sensors() Arduino.delay(5) if reading[0] > frontTrigger: print "Front bump detected!" elif reading[1] > sideTrigger: print "Right bump detected!" elif reading[2] > sideTrigger: print "Left bump detected!" elif reading[3] > rearTrigger:
#!/usr/bin/env python # LED with 560 Ohm resistor on Pin 10 to GND # Tony Goodhew - 10 May 2013 from nanpy import Arduino from nanpy import serial_manager serial_manager.connect('/dev/ttyACM0') # serial connection to Arduino from time import sleep import NGSIClient pins = [0, 1] for pin in pins: Arduino.pinMode(pin, Arduino.INPUT) while 4 < 5: temperaturesList = [] for pin in pins: print "Reading" value = Arduino.analogRead(pin) degreesC = (value * 0.004882814)*100 print "The voltage in pin " + str(pin) + " is " + str(degreesC) temperaturesList.append(degreesC) NGSIClient.createContext("Cuba", "CubaDani", NGSIClient.createMeasureArray("centrigrade", "temperature", temperaturesList)) sleep(5) print "Finished reading"
from nanpy import Arduino from nanpy import SerialManager from time import sleep from Tkinter import * from tkColorChooser import askcolor #serial_manager.connect('/dev/ttyS0') # serial connection to Arduino connection = SerialManager() a = Arduino(connection=connection) a.pinMode(5, a.OUTPUT) a.pinMode(6, a.OUTPUT) a.pinMode(3, a.OUTPUT) RLED = 5 # LED on Arduino Pin 10 (with PWM) GLED = 3 BLED = 6 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"
import os from nanpy import Arduino, Lcd # Initialize buttons and states buttonPin = 7 buttonPin2 = 8 buttonState = 0 buttonState2 = 0 # Activate buttons Arduino.pinMode(buttonPin, input) Arduino.pinMode(buttonPin2, input) # Initialize LCD lcd = Lcd([12, 11, 5, 4, 3, 2], [16, 2]) # Maximum number of stations held in the mpc list max_trax = 4 # Print station info to LCD def getTrack(): L = [S.strip('\n') for S in os.popen('mpc').readlines()] station = L[0][0:15] track = L[0][-16:-1] lcd.printString(16 * " ", 0, 0) lcd.printString(station, 0, 0) lcd.printString(16 * " ", 0, 1) lcd.printString(track, 0, 1) print(L) print(station)
from datetime import datetime from subprocess import * from time import sleep, strftime from Queue import Queue from threading import Thread import os from nanpy import Arduino, Lcd Arduino.pinMode(14, input) lcd = Lcd([8, 9, 4, 5, 6, 7], [16, 2]) # Setup the LCD pins for the Sainsmart Shield lcd.printString("Jess's Web Radio", 0, 0) lcd.printString("Loading" + "." * 3, 0, 1) sleep(5) max_trax = 74 x = 1 loop_menu = 1 loop_radio = 1 def display_ipaddr(): show_wlan0 = "ip addr show wlan0 | cut -d/ -f1 | awk '/inet/ {printf \"w%15.15s\", $2}'" show_eth0 = "ip addr show eth0 | cut -d/ -f1 | awk '/inet/ {printf \"e%15.15s\", $2}'" ipaddr = run_cmd(show_eth0) if ipaddr == "": ipaddr = run_cmd(show_wlan0) lcd.printString('IP Address:', 0, 0) lcd.printString(ipaddr, 0, 1) sleep(2)
return jsonify({ 'status' : 'success' }), 200 @app.route('/lights', methods=['POST']) 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 @app.route('/beep', methods=['POST']) def beep(): duration = request.json['duration'] tone = Tone(boardconfig.beep_pin) tone.play(Tone.NOTE_FS1 , duration) return jsonify({ 'status' : 'success' }), 200 if __name__ == "__main__": serial_manager.open(boardconfig.serialport) Arduino.pinMode(boardconfig.motor1_cp1, Arduino.OUTPUT) Arduino.pinMode(boardconfig.motor1_cp2, Arduino.OUTPUT) Arduino.pinMode(boardconfig.motor1_ep, Arduino.OUTPUT) Arduino.pinMode(boardconfig.motor2_cp1, Arduino.OUTPUT) Arduino.pinMode(boardconfig.motor2_cp2, Arduino.OUTPUT) Arduino.pinMode(boardconfig.motor2_ep, Arduino.OUTPUT) Arduino.pinMode(boardconfig.lights_pin, Arduino.OUTPUT) app.run()