Exemplo n.º 1
0
def demoInitialize():
    global servolist
    global servovals
    global ardun
    global selected
    global initialized
    # ports = list(serial.tools.list_ports.comports())
    # for p in ports:
    #     print(p)
    # serials = []
    # for p in ports:
    #     serials.append(serial.Serial(p, 115200))
    # selected = None
    # for s in serials:
    #     msg = s.readline()
    #     print(msg)
    #     if msg == "Catronic Ready":
    #         selected = s
    #print("Enter the serial port name: ")
    # comPort = "COM10" #input()
    #print("Enter number of pins to use for servo: ")
    num = 1  #int(input())
    if num > 0:
        for i in range(0, num):
            #print("Enter pin number to use for servo " + str(i+1))
            #servolist.append(int(input()))
            servolist.append(9)
    ardun = Arduino()
    ardun.output([], servolist)
    selected = 0
    initialize()
    initialized = 1
Exemplo n.º 2
0
 def __init__(self, **kwargs):
     self.arduino = Arduino.Arduino()
     #GraphThread.init_arduino(self.arduino)
     self.get_graph_thread = None
     super(StartSessionScreen, self).__init__(**kwargs)
     Clock.schedule_once(self.get_num_channels)
     self.add_sensor_popup = AddSensorPopup(None, self.arduino)
Exemplo n.º 3
0
 def _ConexionArduino(self):
     try:
         if (not self.arduinoDisponible):
             self.arduino = Arduino("COM3", 9600)
             self.arduinoDisponible = True
     except:
         self.arduinoDisponible = False
         Speech("No esta conectado el Arduino").speech()
Exemplo n.º 4
0
 def init_arduinos(self, width: int) -> list:
     arduinos = []
     for i in range(0, int(math.floor(width / 2))):
         port = "/dev/ttyACM" + str(i)
         if platform.system() == "Windows":
             port = coms[i]
         try:
             arduino = PyCmdMessenger.ArduinoBoard(port, baud_rate=57600)
             cmd = (PyCmdMessenger.CmdMessenger(arduino, commands))
             arduinos.append(cmd)
         except Exception as e:
             print(e)
         virtual_arduino = Arduino(i)
         self.virtual_arduinos.append(virtual_arduino)
     return arduinos
Exemplo n.º 5
0
def testInitialize():
    global servolist
    global servovals
    global ardun
    global selected
    global initialized
    ardun = Arduino()
    ardun.output([2], [])
    selected = 0
    ledOn = 0
    while True:
        if ledOn == 0:
            ardun.setHigh(2)
            ledOn = 1
            print(ardun.getState(2))
            print(ardun.analogRead(8))
        else:
            ardun.setLow(2)
            ledOn = 0
            print(ardun.getState(2))
            print(ardun.analogRead(8))
        time.sleep(1)
Exemplo n.º 6
0
    def __init__(self):
        # allow rpi bluetooth to be discoverable
        os.system("sudo hciconfig hci0 piscan")

        # initialize connections
        self.bt = Android()
        self.ard = Arduino()
        self.pc = Pc()
        self.pc.connect()
        self.bt.connect(uuid)
        self.ard.connect()


        # initialize sendImg
#		self.sendImg = sendImg()

        # initialize queues
        self.btQueue = queue.Queue(maxsize=0)
        self.ardQueue = queue.Queue(maxsize=0)
        self.pcQueue = queue.Queue(maxsize=0)

        print ("===========================")
        print ("===Starting Transmission===")
        print ("===========================")
Exemplo n.º 7
0
def command(choice, usuario):
    id_pessoa = -1

    if choice == 1:
        id_pessoa = fazer_login(usuario)
        if id_pessoa != -1:
            print("Login Realizado Com Sucesso")
        else:
            print("Usuario Não Encontrado, Favor Realizar Cadastro")
        return id_pessoa
    elif choice == 2:
        arduinoUtil = Arduino()
        arduinoUtil.connectArduino()
        measuresData = arduinoUtil.readMeasures()
        if usuario == -1:
            print("Realize Login Para Continuar")
            return -1
        else:
            id_local = (input("Qual O Código Do Local Onde Está Sendo Feita A Medição? "))
            if (measuresData != 'C' and measuresData != 'L' and measuresData != 'D'):
                humAir, tempAir, lum, humSoil = (measuresData.split(';'))
                print("UA: " + (humAir)+" | "+"TA: " + (tempAir)+" | "+"LM: " + (lum)+" | "+"US: " + (humSoil))
                status = realizar_medida(tempAir, humAir, humSoil, lum, usuario, id_local)
                if status != -1:
                    print("Medidas Inseridas Com Sucesso")
                else:
                    print(measuresData)

    elif choice == 3:
        id_pessoa = cadastrar_usuario()
        if id_pessoa != -1:
            print("Cadastro Realizado Com Sucesso")
        else:
            print("Ocorreu Um Erro")
        print("Seu Código De Usuário É: %s" % id_pessoa)
        return id_pessoa
    elif choice == 4:
        id_pessoa = atualizar_usuario()
        if id_pessoa != -1:
            print("Atualização Realizada Com Sucesso")
        else:
            print("Ocorreu Um Erro")
        return id_pessoa
    elif choice == 5:
        if usuario == -1:
            print("Realize Login Para Continuar")
            return -1
        id_local = cadastrar_local(usuario)
        if id_local != -1:
            print("Cadastro Realizado Com Sucesso")
        else:
            print("Ocorreu Um Erro")
        print("O Código Do Local É: %s" % id_local)
    elif choice == 6:
        if usuario == -1:
            print("Realize Login Para Continuar")
            return -1
        id_local = atualizar_local(usuario)
        if id_local != -1:
            print("Atualização Realizada Com Sucesso")
        else:
            print("Ocorreu Um Erro")
    elif choice == 7:
        if usuario == -1:
            print("Realize Login Para Continuar")
            return -1
        id_medida = (input("Qual O Código Do Medição A Ser Excluida? "))
        id_local = (input("Qual O Código Do Local Onde Foi Feita A Medição? "))
        status = excluir_medida(id_medida, usuario, id_local)
        if status != -1:
            print("Medida Excluida Com Sucesso")
        else:
            print("Ocorreu Um Erro")
    else:
        print('Comando Não Cadastrado')

    return id_pessoa
Exemplo n.º 8
0
    m = 254

    conf = configuration.config()

    sp = SP.ScreenPixel(top=conf.top,
                        right=conf.right,
                        bottom=conf.bottom,
                        left=conf.left,
                        height=conf.height,
                        width=conf.width,
                        offsetTop=conf.offsetTop,
                        offsetRight=conf.offsetRight,
                        offsetBottom=conf.offsetBottom,
                        offsetLeft=conf.offsetLeft,
                        step=conf.step)
    ar = AR.Arduino()

    old_data = ''
    while 1:
        brightness = 100
        """max(sp.getBrightness(), 44)"""
        data = sp.getColors()

        colors = sp.normalizeSides(data)

        data = chr(255) + chr(min(m, brightness))
        """data += chr(max(1, sp.getBrightness()))"""
        for color in colors:
            for channel in color:
                data += chr(min(m, channel))
        """data += chr(max(m, color[0])) + chr(max(m, color[1])) + chr(max(m, color[2]))"""
Exemplo n.º 9
0
 def connect(self):
     self._serial = serial.Serial(self._port,self._baud)
     self._serial.open()
     self._arduino = Arduino(self._serial)
Exemplo n.º 10
0
#!usr/bin/python

from tkinter import *
from Arduino import *

tk = Tk()
tk.title('Arduino WIFI 扩展板 数字、模拟读写')

#IP地址和端口两个参数,需根据WIFI扩展板的实际IP和端口重新设置
arduino = Arduino("192.168.1.200", 5000)

dv = StringVar()
av = StringVar()


def dwButtonClick():
    arduino.digitalWrite(dwPin.get(), dwValue.get())


def drButtonClick():
    dv.set(int(arduino.digitalRead(drPin.get())))


def awButtonClick():
    arduino.analogWrite(awPin.get(), awValue.get())


def arButtonClick():
    av.set(int(arduino.analogRead(arPin.get())))

Exemplo n.º 11
0
import Arduino
import time
import Database

db = Database.Database()

cfgdir = 'config/'
fmaincfg = open(cfgdir + 'main.cfg', 'r')

arduinos = []
n = int(fmaincfg.readline())
for i in range(0, n):
    arduinos.append(Arduino.Arduino(fmaincfg.readline().rstrip()))

while True:
    for arduino in arduinos:
        data = arduino.read()
        db.insert(data, arduino.name)
    time.sleep(3)
Exemplo n.º 12
0
import time
import json
from Arduino import *
from Database import *

with open('config/db.json') as data_file:
    dbCfg = json.load(data_file)
db = Database(dbCfg)

with open('config/main.json') as data_file:
    cfg = json.load(data_file)

if len(cfg['Arduinos']) > 4:
    raise ValueError('One RPI supports 4 Arduino at max;' +
                     str(len(cfg['Arduinos'])) + 'is provided')

arduinos = [Arduino(a) for a in cfg['Arduinos']]

while True:
    for arduino in arduinos:
        data = arduino.read()
        db.insert(data, arduino.name)
    time.sleep(3)
Exemplo n.º 13
0
from Arduino import *

ar = Arduino("COM4")

ar.output([], [9])
ar.servoWrite(9, 180)
Exemplo n.º 14
0
    def __init__(self):
        self.board = Arduino("115200", port="/dev/tty.usbmodem142301")

        self.board.pinMode(13, "OUTPUT")
Exemplo n.º 15
0
'''
Created on Mar 4, 2020

@author: Collin Bradford for PERCS
'''

import Arduino
import Run
import time
from DataLogger import DataLogger

COM_PORT = "COM4"
BAUD_RATE = 115200

mainBoard = Arduino.Arduino(COM_PORT, BAUD_RATE)
mainBoard.printConnectionInformaion()

print()
print("Starting tests...")
print()

print("Setting sample size to 6")
mainBoard.setChannelCount(6)
print("Sample size set. Message from board: " + mainBoard.readLine())

print("Setting sample frequency to 50")
mainBoard.setSampleFrequency(50)
print("Sample frequency set. Message from board: " + mainBoard.readLine())

print("Setting sample average size to 1")
mainBoard.setSampleAverageSize(1)
Exemplo n.º 16
0
#!/usr/bin/env python2
# -*- coding: utf-8 -*-
"""
This is only an example, it requires the LASER_2018.ino to be loaded on the Arduino
and it should be in the same folder as Arduino.py.

It does not imply what you need to do, merely implements a simple exerpiment that
gives an example interaction with the Arduino.
"""

import numpy as np
import string
import matplotlib.pyplot as p
import Arduino

a = Arduino.Arduino()
steps = 200
degsPerStep = 1.8  # This has to be calibrated by you
a.send("LASER 4095")  # Laser control voltage
a.send("STEPS %d" % (steps))  # Total number of steps
a.send("DELAY 10")  # Delay time before reading value (ms), >4 recommended
a.send("START")  # Start the stepping/reading
a.send("STOP")
vector = np.zeros(steps)
index = -1
for k in range(steps):
    resp = a.getResp()
    if 9 == len(resp) and resp[4] == ':':
        words = string.split(resp, ":")
        step = int(words[0])
        adc = int(words[1])
Exemplo n.º 17
0
counter+=1
tvars = tf.trainable_variables()
input_y = tf.placeholder(tf.float64, [None,1])
adv-v0 dqn git = tf.placeholder(tf.float64, name="reward_sig")

loglik = tf.log(input_y*(input_y - prob) + (1 - input_y)*(input_y + prob))
loss = -tf.reduce_mean(loglik * adv) 
newGrads = tf.gradients(loss,tvars)

nadam = tf.contrib.opt.NadamOptimizer(lr = 0.01, epsilon = 1e-8)

WGrads = []
BGrads = []

board = Arduino('115200', port = "/dev/tty.wchusbserial1420")

for i in range(1, len(Weights) + 1):
    WGrads.append(tf.placeholder(tf.float64, name="batch_grad" + str(i)))

updateGrads = nadam.apply_gradients(zip(WGrads, tvars))

def get_observe(self):
    '''
    need to put csv parser here
    '''
    analogRead = rospy.ServiceProxy('analog_read', AnalogRead)
    pitch = math.floor((-.3656* analogRead(sensorpin)) + 185.64)
    input_ = 0 - pitch
    return [pitch, input_]
    
"""

from __future__ import division  # so that 1/3=0.333 instead of 1/3=0
from psychopy import visual, core, data, event, logging, sound, gui
from psychopy.constants import *  # things like STARTED, FINISHED
import numpy as np  # whole numpy lib is available, prepend 'np.'
from numpy import sin, cos, tan, log, log10, pi, average, sqrt, std, deg2rad, rad2deg, linspace, asarray
from numpy.random import random, randint, normal, shuffle
import os  # handy system and path functions
import serial
from Arduino import *  #lukas

#verze z 2.10.2014
# aby mi fungovalo strobe off i bez odpovedi, musel jsem vrati ISI 0.1 s po krizku

arduino = Arduino()
arduino.connect()
print arduino.is_open()
arduino.blink()
arduino_up = False
#status, jestli posledni puls nahoru

blokcislo = 0
ovocebylo = 0
ovocenalezeno = 0
reakcecas = 0
chciklavesu_default = 1
#jestli budu vyzadovat klavesy
chciklavesu = chciklavesu_default

# Store info about the experiment session
Exemplo n.º 19
0
 def initialize_arduino(self):
     self.arduino = Arduino()
     print 'Initialized Arduino'
Exemplo n.º 20
0
from Arduino import *

arduino = Arduino(port="COM4")
arduino.connect()
print(arduino.is_open())
arduino.blink()
arduino.disconnect()
Exemplo n.º 21
0
        # edgecolor='k',
        # c=min_current_vals)
        ax.set_xlabel('Input Repetition rate (kHz)')
        ax.set_ylabel('RL energy (uJ)')
        ax.set_zlabel('Minimum (averaged) Membrane Current (nA))')
        ax.set_title(
            'Optimisation: Minimum (averaged) Membrane Current versus Input Repetition rate and corresponding RL energy'
        )

        plt.savefig(
            self.TimeDirectory +
            '\Figure 8- Optimisation: Membrane current vs MRR and RL energy.svg'
        )
        plt.show()

    def closefigure(self, figure):
        plt.close(fig=figure)


#############################################################################
if __name__ == "__main__":
    arduino = Arduino.Arduino('COM3', 9600)  #open the port
    coherent = Coherent.Coherent('COM1', 19200, test=True)
    app = QtWidgets.QApplication(sys.argv)
    window = Ui(arduino, coherent)
    window.show()
    sys.exit(app.exec_())
    arduino.close_port()
    coherent.close_port()
Exemplo n.º 22
0
    #               data      - the actual numeric float value of the reading
    # Example:
    #          ["HWT", 13123131231, 0.30]
    #
    queueMqttPub = Queue()

    # Setup Mqtt client thread
    mqtt_client = mqtt.mqtt(cfg,
                            publish_queue=queueMqttPub,
                            on_msg_queue=queueToArduino)
    mqtt_client.daemon = True
    mqtt_client.start()

    # setup Arduino thread
    arduino = Arduino.Arduino(cfg,
                              queueFromArduino=queueReadings,
                              queueToArduino=queueToArduino)

    # setup calculation thread
    threadCalc = Calc.Calc(cfg,
                           queueReadings=queueReadings,
                           queueResults=queueDB,
                           broadcast_queue=queueMqttPub)
    threadCalc.daemon = True
    threadCalc.start()

    # setup database thread
    updateDB = DB.UpdateDB(cfg, queueResults=queueDB)
    updateDB.daemon = True
    updateDB.start()