En utilisant un Arduino et Python de terrain/sauvegarder données (3 / 5 étapes)

Étape 3: Code de Python

Le code Python lit les données sérielles entrantes et sépare chaque ligne dans les onglets, vous donnant des valeurs distinctes pour les données de X, Y et Z. Un traitement est fait pour placer les valeurs dans leurs propres variables.

Pour tracer les variables, la bibliothèque « matplotlib » est utilisée pour créer un animation graphique. Il en résulte un raisonnablement précise « live feed », mais beaucoup d’activité de capteur provoqueront le graphique à la traîne un peu.

Enfin, les données sont enregistrées dans un fichier .txt dans un emplacement spécifié. Les données peuvent ensuite être lus en arrière quand nécessaire en utilisant la numpy.loadtxt() la fonction (voir la prochaine étape pour le code). Toutefois, ce type de fichier est plus facile à lire en Python, donc si vous voulez ouvrir les données dans un programme différent, vous devrez utiliser une fonction d’écriture différents. (ex. utilisation .csv format de fichier pour ouvrir les données dans Excel) N’oubliez pas de changer l’emplacement du fichier pour faire correspondre le répertoire de votre ordinateur.

Voir le code pour des observations plus détaillées (ou Google ou demander et je vais faire de mon mieux pour expliquer ou vous pointez sur une explication)

{{{

'''
Lit dans les données via une connexion série et les complots, que les résultats en direct. Avant de conclure, les données sont enregistrées dans un fichier .txt.
'''

importation de série
importation matplotlib.pyplot comme plt
Import numpy as np
Import win32com.client

connecté = False

#finds COM port c'est-à-dire sur l’Arduino (ne suppose qu’un Arduino est connecté)
WMI = win32com.client.GetObject("winmgmts:")
pour le port dans wmi. InstancesOf("Win32_SerialPort") :
port de #print. Nom #port. ID de périphérique, port. Nom
Si « Arduino » dans le port. Nom :
comPort = port. DeviceID
impression comPort, « est l’Arduino »

SER = serial. Serial(comPort, 9600) #sets connexion série (faire assurer en bauds est correct - matches Arduino)

Lorsque vous êtes ne pas connecté :
Serin = ser.read()
connecté = True

terrain de PLT.ion() #sets en mode animation

longueur = 500 #determines longueur des données en session (points de données)
x = [0] * variable vide longueur #create de longueur de test
y = [0] * longueur
z = [0] * longueur

demi-droite, = plt.plot(x) #sets futures lignes à modifier
yline, = plt.plot(y)
zline, = plt.plot(z)
PLT.ylim(400,700) #sets l’y axe limites

car moi en range(length) : #while vous prenez des données
données = ser.readline() #reads jusqu'à ce qu’il obtienne un transport retour. ASSUREZ-VOUS QU’IL Y A UN RETOUR CHARIOT OU IL LIT POUR TOUJOURS
Sep = data.split() #splits chaîne dans une liste à onglets
#print sep

x.Append(int(Sep[0])) #add nouvelle valeur en tant qu’int à liste actuelle
y.Append(int(Sep[1]))
z.Append(int(Sep[2]))

del x [0]
y del [0]
del z [0]

xdata xline.set_xdata(NP.arange(Len(x))) #sets à la nouvelle longueur de la liste
yline.set_xdata(NP.arange(Len(y)))
zline.set_xdata(NP.arange(Len(z)))

xline.set_ydata(x) #sets ydata à la nouvelle liste
yline.set_ydata(y)
zline.set_ydata(z)

PLT.pause(0.001) #in secondes
PLT.Draw() #draws nouveau tracé

lignes = zip (x, y, z) #combines listes ensemble

row_arr = np.array(rows) #creates tableau de liste
NP.savetxt ("C:\\Users\\mel\\Documents\\Instructables\\test_radio2.txt", row_arr) #save données dans fichier (charge w/np.loadtxt())

SER.Close() #closes connexion série (très important de le faire! si vous avez une erreur dans le code, tapez ceci dans la ligne de cmd pour fermer la connexion)

}}}

Articles Liés

Arduino pour MATLAB GUI - Acquisition de données en direct (& tracé) des postes clé émetteur RC

Arduino pour MATLAB GUI - Acquisition de données en direct (& tracé) des postes clé émetteur RC

J'ai créé un programme, en utilisant un Arduino, faire vivre d'acquisition de données et le tracé directement dans MATLAB. Je pense que c'est très utile et peut aider beaucoup de gens se demandent comment l'interface Arduino & MATLAB, alors j'écris i
Construire un Robot Simple en utilisant un Arduino et L293 (pont en H)

Construire un Robot Simple en utilisant un Arduino et L293 (pont en H)

Hé les gars, c'est mon premier instructable et je suis ici pour montrer comment construire un robot simple avec un peu d'Arduino programmation ne vous inquiétez pas, j'ai joint le fichier de code ci-dessous, vous pouvez l'utiliser pour la référence.C
Arduino et Python

Arduino et Python

pour un projet (voir mon blog pour les mises à jour) je travaille sur j'ai nécessaires pour pouvoir communiquer avec mon arduino, heureusement l'arduino peuvent communiquer si série. Il s'avère que presque n'importe quelle programmation langage peut
Flight Simulator avec Arduino et Python

Flight Simulator avec Arduino et Python

contrôle l'option de simulateur de vol de Google Earth en utilisant un Arduino et un accéléromètre.Voler pratiquement partout dans le monde ; incliner l'accéléromètre avant, arrière, gauche et droite pour contrôler le Pitching et les opérations banca
Pyduino, interface Arduino avec Python par le biais de communication série

Pyduino, interface Arduino avec Python par le biais de communication série

Apprenez comment interfacer arduino par le biais de communication série avec python en utilisant la bibliothèque de pyduino. Il y a quelques autres tutoriels là-bas sur instructables quant à l'interface arduino avec python, mais ils ne vous montrent
En utilisant un Arduino de contrôler ou de tester un dispositif électronique de SPI

En utilisant un Arduino de contrôler ou de tester un dispositif électronique de SPI

il y a beaucoup de dispositifs électroniques qui utilisent le bus SPI, ou le bus Serial Peripheral Interface, pour les communications (p. ex. divers capteurs, LCD affiche, potentiomètres numériques, convertisseurs D/A et A/D, sans fil émetteurs et ré
Simple distance données traçant utilisant Android / Arduino / pfodApp

Simple distance données traçant utilisant Android / Arduino / pfodApp

Simple distance données traçant utilisant Android / Arduino / pfodApp Ce Instructable vous montre comment tracer des données de capteur Arduino sur votre mobile Android et le capturer pour ensuite télécharger vers votre ordinateur.  Ces instructions
Développe un projet de firefly ATtiny utilisant IDE Arduino et c' est

Développe un projet de firefly ATtiny utilisant IDE Arduino et c' est

J'ai vu récemment un projet intéressant par Karl Lunt utilisé un ATtiny13 pour imiter une luciole (http://www.seanet.com/~karllunt/fireflyLED.html). C'est en soi, n'est certes pas unique, mais il m'a fait penser à un de mes premiers projets de microc
Arduino toutes les choses--S.M.A.R.T Alarm Clock Setup pour réunions, rendez-vous, rappels et tâches, cette horloge utilise un Arduino Yún et votre calendrier Google pour régler automatiquement des alarmes. et il a l’air Cool aussi !

Arduino toutes les choses--S.M.A.R.T Alarm Clock Setup pour réunions, rendez-vous, rappels et tâches, cette horloge utilise un Arduino Yún et votre calendrier Google pour régler automatiquement des alarmes. et il a l’air Cool aussi !

Réveil S.M.A.R.T.Le programme d'installation pour les réunions, rendez-vous, rappels et tâches, cette horloge utilise un Arduino Yún et votre calendrier Google pour régler automatiquement des alarmes. Et il a l'air cool aussi !Par Tony DiCola Difficu
Récupération d’un NOKIA 3310 LCD et l’utiliser avec Arduino

Récupération d’un NOKIA 3310 LCD et l’utiliser avec Arduino

Cette instructable raconte comment extraire l'écran LCD de défaut pratique Nokia 3310 et à le modifier pour une utilisation avec Arduino.J'ai eu un défaut de vieux Nokia 3310 maniable. Il n'était pas charger la batterie. J'ai voulu jeter, mais il m'e
Transformer un vieux cellulaire en un périphérique (en utilisant un arduino) l’envoi de données

Transformer un vieux cellulaire en un périphérique (en utilisant un arduino) l’envoi de données

Que va faire cet appareil ?Lorsque vous avez terminé, il pourra la combinaison du circuit, arduino et modded téléphone portable envoyer des données par le biais de textes via le réseau cellulaire de manière autonome. Cela pourrait être des données de
Bases de transformer votre véhicule Controll distant en un système autonome (Drone) en utilisant un Arduino

Bases de transformer votre véhicule Controll distant en un système autonome (Drone) en utilisant un Arduino

j'ai commencé ce projet avec l'objectif de transformer à moindre coût ma RC hélicoptère en quelque chose d'un UAV ou au moins pour s'adapter à certains capteurs pour réduire les collisions et autres "Pad mal."Maintenant, malheureusement, au débu
Suivez votre itinéraire ! (en utilisant l’arduino, bouclier de carte microSD et GPS)

Suivez votre itinéraire ! (en utilisant l’arduino, bouclier de carte microSD et GPS)

à l'aide de Arduino Mega, MediaTek MT3329 GPS, Arduino MicroSD données journalisation bouclieret un couple de batteries 9V, faire une petite unité qui peut aller n'importe où et puis mappez-la sur le voyage en une seule étape simple.Étape 1: Matériel
Accordeur de guitare pour les aveugles (en utilisant un Arduino)

Accordeur de guitare pour les aveugles (en utilisant un Arduino)

Comment modifier un accordeur de guitare donc il peut être utilisé par une personne aveugleCette version utilise un microcontrôleur mini Arduino Pro, (tout le code est fourni).Ce projet a été entrepris pour l'organisme de bienfaisance remapper, qui f