[PYTHON] Outil de conception de matériel automatique pour les programmeurs Web Édition mille-feuille-programme

De la production d'essai à l'aide d'un panneau mille-feuille à la production de masse en petits lots, le même programme peut être utilisé tel quel en remplaçant simplement le fichier d'informations de câblage généré automatiquement. Je vais vous expliquer comment écrire réellement un programme sur le tableau Milfille.

Comment écrire un programme

Comment écrivez-vous le programme après avoir assemblé Milfille? Je vais expliquer en utilisant la carte de périphérique AD2ch la plus simple.

AD2chTest.py


#!/usr/bin/python

from mil import mil
from mil import milMod
from mil import p

from mil import AD2ch

import time

if __name__=='__main__':
	try:
		mil.init()
		modA = milMod.milMod(AD2ch.getInfo(0))	#connector number 0

		while(1):
			modA.connect()
			returnData = AD2ch.read(modA,0)
			print "AD 0ch = ",returnData
			returnData = AD2ch.read(modA,1)
			print "AD 1ch = ",returnData
			modA.disconnect()
			time.sleep(1)

	except KeyboardInterrupt:
		print("detect key interrupt [ctrl]+ [C] \n")

	mil.cleanup()
	AD2ch.cleanup()

1. Tout d'abord, le travail de routine

Tout d'abord, importez les bibliothèques requises. La bibliothèque sera publiée plus tard.

python


from mil import mil
from mil import milMod
from mil import p

Importer la bibliothèque par appareil

python


from mil import AD2ch

Autres, importer si nécessaire

python


import time

définir principal

python


if __name__=='__main__':

try-except place le traitement lors du traitement d'exception. Plus précisément, l'état d'E / S est nettoyé après l'arrêt forcé du programme avec ctrl + c. Il est recommandé de nettoyer.

python


try:
...
except KeyboardInterrupt:

2, initialisation et instanciation

Les E / S sont essentiellement définies par l'initialisation.

python


mil.init()

Génération d'instance

python


modA = milMod.milMod(AD2ch.getInfo(0))

Les informations de l'appareil AD2ch (adresse de l'appareil, informations de câblage de la carte de l'appareil, etc.) sont associées à cette instance. Le nom de l'instance est arbitraire. Il y a quatre connecteurs sur la plinthe Milfille. Veuillez spécifier à quel connecteur vous vous êtes connecté. Vous pouvez connecter jusqu'à quatre cartes de périphériques du même type. Pour les périphériques I2C uniquement, l'adresse I2C est déterminée par le fabricant, de sorte que certaines cartes de périphériques ne peuvent en utiliser qu'une.

HardAll.jpg

3, câblage automatique et fonctionnement de la carte de périphérique

Câble la carte de périphérique automatiquement. Habituellement, le travail de câblage manuel est automatisé.

python


modA.connect()

Lors de la déconnexion

python


modA.disconnect()

En incluant l'instance dans l'argument et en la passant à la fonction de la bibliothèque, les informations de câblage sont saisies et il est automatiquement déterminé quelle E / S doit être déplacée pour déplacer la carte de périphérique.

python


returnData = AD2ch.read(modA,0)

Ici, les données du 0ème canal de AD sont acquises.

4, firmware après génération automatique de schéma de circuit

Après avoir écrit le programme et terminé la production d'essai, générons un schéma de circuit. Consultez l'article précédent pour savoir comment le générer. http://qiita.com/my_mil_info/items/ac484c96c867c1b3e702

Lorsque le schéma de circuit est généré automatiquement, le micrologiciel est également généré automatiquement selon le schéma de circuit. Ce micrologiciel correspond aux "données de câblage (câblagedata.py)" et au fichier de câblage auquel vous vous référez lorsque vous créez une instance. Si vous le remplacez par le firmware généré automatiquement du même nom (câblagedata.py), vous pouvez utiliser le programme prototypé à l'aide de Milfille tel qu'il est dans le circuit généré automatiquement.

Recommended Posts

Outil de conception de matériel automatique pour les programmeurs Web Édition mille-feuille-programme
Outil de conception de matériel automatique pour les programmeurs Web Mécanisme mille-feuille
Outil de conception de matériel automatique pour les programmeurs Web mille-feuille-Qu'est-ce qu'un outil de génération automatique de schéma de circuit?
Matériel pour les programmeurs Web Mille-feuille Outils de support pour Raspberry Pi
[Python] Conception d'applications Web pour l'apprentissage automatique