Robot de PC revisité (8 / 8 étapes)

Étape 8: logiciel.

En cours...

Os de robot. La boucle infinie.
Alors que true % « définie ou redéfinir les valeurs de capteur d’entrée des valeurs » autres emplois font ce qui est nécessaire selon les valeurs d’entrée. Wend partie I. définir ou réinitialiser les valeurs. Partie II obtenir valeurs de capteur. Les broches d’entrée de lecture

La commande pour lire des ports en qbasic est INP. L’adresse que vous devez lire est l’adresse du port parallèle (généralement 378h) + 1 ; l’adresse habituelle est donc 379h. Comme j’ai mentionné précédemment, les broches, utilisés pour la saisie sont 10-13 et 15. Les différentes broches de lecture est peu plus difficile que d’écriture vers les ports que vous devez masquer les broches vous n’êtes ne pas intéressé. Lorsque vous lisez le port, les premiers 3 bits retournés ne sont pas utilisés. Par exemple, le code de qbasic ci-dessous s’écrirait axe 12 (sur papier). Lorsque ce port est élevé, "out of paper / broche 12 basculée" s’affichera : données = inp (& h379) IF (données et 32) = 32 puis imprimer "out of paper / broche haute 12" le tableau ci-dessous liste les broches d’entrée numéro pin, sa fonction normale et le nombre requis de le lire (par exemple 32 a été utilisé dans l’exemple ci-dessus): NIP numéro Normal but pour lire 10 hommage 64 11 haute quand pas occupé 128 12 haut quand plus de papier 32 13 haut quand imprimante en ligne 16 15 haute lorsque aucune erreur 8

Si vous comprenez pas binaire, vous devriez immédiatement voir d'où viennent ces chiffres, et pourquoi ils sont utilisés pour masquer les toutes les autres broches, nous ne sommes pas essayer de lire. La chose la plus simple que vous pouvez utiliser pour tester c’est juste connecter un commutateur entre une broche d’entrée et une broche de terre (18-25). Par exemple, si vous connectez un commutateur entre les broches 15 et 20, vous pouvez utiliser le code suivant pour surveiller quand l’interrupteur est pressé : Démarrer : res = INP(&H379) CLS IF (res et 8) = 8 THEN PRINT "bouton poussé" ELSE PRINT "Bouton ne pas poussé" du retard = 1 500 : prochain retard début GOTO, je sais que ce code est un peu désordonné et la volonté de scintillement, mais il est écrit pour plus de clarté. Le même code peut être utilisé pour surveiller les quatre autres lignes d’entrée en modifiant à la « 8 » vers un autre numéro de la table. Partie III autres emplois. Des programmes tels que Perrot partie IV nous permet de définir des valeurs au port parallèle pour ces jpbs comme contrôlant le groupe motopropulseur. Voir aussi :

Portcontrol est un beau programme pour lire les données et écrire des données sur les ports disponibles à :

http://www.epanorama.net/circuits/portcontrol.tar

Vous aurez besoin d’un compilateur C pour votre système pour le faire fonctionner,

Logiciel de contrôle du port pour Linux
Version 0.3

Droit d’auteur Tomi Engdahl 1996-2005

Introduction

Ce progiciel permet d’accéder aux ports d’e/s de matériel PC ordinateur sous système d’exploitation Linux.

Ce paquet softare est conçu pour fonctionner sur le système Linux qui fonctionne sur PC normal. Le logiciel a été testé pour fonctionner bien sur Fedora Core 4 distribution Linux. Vous avez besoin de GCC pour compiler les programmes.

Ce paquet fournit les outils suivants :

lptout programme simple pour contrôler le port imprimante LPT1 données broches portcontrol générale utiliser port e/s lecture et l’écriture control.php application AJAX/PHP based interface web pour le contrôle de port parallèle

Les logiciels sont fournis sans garantie de leur exactitude. Utiliser à vos risques et périls.

La compilation

Run : faire installer

Installation

Ouvrez une session tant que root. Run : faire installer

Le logiciel est maintenant installé dans/usr/local/sbin/répertoire Using lptout

L’utilisateur doit avoir le previledges racine d’avoir accès aux ports pour le programme à exécuter. C’est pourquoi le programme est installé avec des paramètres SUID ROOT, ce qui signifie que chaque fois que le programme est exécuté, il s’exécute automatiquement à la racine previledges, peu importe qui l’exécute. Ce programme est conçu pour accéder à port parallèle LPT1 à l’adresse d’e/s 0 x 378 (adresse normale pour port parallèle intégré à la carte mère)

Par exemple, commande /usr/local/sbin/lptout 0xFF transformera toutes les broches de données au port LPT1 à l’État haut (1). /Usr/local/sbin/lptout 0 x 00 de la commande va passer toutes les broches de données à l’état bas (0).

À l’aide de portcontrol

portconrol est un programme de contrôle du port d’I/O simple d’usage général pour Linux. Il vous permet d’écrire et de lire les ports e/s pris en charge. Le logiciel permet d’écrire la valeur spécifiée pour le port, lecture de valeur à donner adresse e/s et en imprimant à l’écran en différents formats et manipulation au niveau du bit des données port.

Exemples

/usr/local/sbin/portcontrol LPT1DATA lecture setbit 1 écriture lit les données de port parallèle, mis peu D1 1 et écritures valeur retour définit efficacement la broche LPT1 D1 en port parallèle à la logique 1

/usr/local/sbin/portcontrol LPT1DATA lu resetbit lectures données du port parallèle, mis peu D1 à 0 et écrit la valeur retour définit efficacement la broche LPT1 D1 en port parallèle à logique 0

/usr/local/sbin/portcontrol LPT1DATA setvalue 0xff écriture écrit valeur 0xff (255 dec) au port parallèle définit efficacement toutes les broches de données LPT1 à logique 1

/usr/local/sbin/portcontrol LPT1DATA lu impression bin lectures le port parallèle, broche de données précise et imprime les résultats sous forme de nombres binaires à l’écran (sortie standard).

/usr/local/sbin/portcontrol LPT1DATA lu impression bin lectures le port parallèle, broche de données précise et imprime les résultats sous forme de nombres binaires à l’écran (sortie standard).

/usr/local/sbin/portcontrol LPT1DATA lire printbits 021 lit le port parallèle, broche de données précise et imprime les États de bits D0, D1 et D2 dans cet ordre à l’écran (sortie standard).

Port pris en charge les identificateurs LPT1DATA LPT1 port les lignes de données contrôle (0 x 378) LPT1STATUS LPT1 entrées statut imprimante inscrire LPT1HANDSHAKE LPT1 handstake sortie contrôle lecture de port JOYSTICK Joystick (lecture seule est logique)

Commandes prises en charge PRINT DEC lire les données, sortie donne comme nombre décimal HEX imprimer lire les données, donne le résultat sous forme de données PRINT BIN lire numéros hexadécimales donne sortie comme bits binaires de PRINTBITS numéros indique les bits spécifiés dans l’ordre indiqué (0.. 7)

ÉCRIRE que écrit Registre valeur à lire lit valeur du port de port spécifié pour vous inscrire

Valeur SETVALUE affecte la valeur donnée pour vous inscrire et valeur et exécute avec valeur attribuée et s’inscrire ou valeur effectue ou avec la valeur compte tenu de la valeur et le registre XOR XOR effectue avec étant donné les bits SETBITS valeur et Registre ensembles étant donnés les bits à 1 dans Registre RESETBITS morceaux ensembles étant donnés les bits à 0 dans le registre SETBIT bits même que peu de bits SETBITS RESETBIT comme RESETBITS TOGGLEBITS bits bascule spécifié les valeurs

valeur peut être donne sous forme décimale ou heaxadecimal commençant par 0 x bits est une liste d’identificateurs de position de bit de 0 à 7

Les noms de port sont ment à écrire à Etui haute. Commandes au cas faible.

L’interface web

L’interface web pour contrôler le port parallèle est basé sur le web moderne simple interface pour contrôler le port parallèle. Pour le rendre, il faut avoir les éléments suivants dans votre système: - serveur web Apache avec support de PHP5 travaillant avec elle - portcontrol logiciel installé par défaut installe répertoire - SAJAX Simple Ajax Toolkit par ModernMethod - navigateur moderne qui prend en charge JavaScript (IE6, Mozilla Firefox)

L’installation de l’interface web est simple. Tout ce dont vous avez besoin est de copier le fichier control.php à un endroit approprié sur votre répertoire web vous voulez qu’il soit copier le fichier Sajax.php du paquet SAJAX dans le même répertoire où vous avez la control.php.

Ensuite il suffit d’aller à l’URL où vous avez ce control.php accessible. Vous devriez voir la ligne d’État ainsi qu’un ensemble de boutons de commande. La barre d’État doit mettre à jour automatiquement toutes les 5 secondes avec le statut de port parallèle et l’heure actuelle sur l’ordinateur serveur. En appuyant sur les boutons changeront les États de bit port parallèle.

Notez que sur certains systèmes, que le script PHP peut chaud ont suffisamment de droits pour exécuter le logiciel portconrol. Vérifiez vos droits d’accès pour s’assurer que les droits sont corrects (le système ne fonctionne pas sur mon système de Fedora Core 4 quand j’ai eu de sécurité SELinux activée).

SAJAX Simple Ajax Toolkit par ModernMethod peut être téléchargée sur http://www.modernmethod.com/sajax/

Remarque : Il existe une autre version du fichier control.php. Ce travail de controlfile.php de fichier joli une grande partie de la même manière, mais au lieu de port parallèle contrôle écrit et lit le statut d’un fichier (status.txt dans le même répertoire que le script est). Il peut être utilisé pour tester le système de contrôle AJAX/PHP basé.

Articles Liés

Upside Up - Robot équilibrage revisité

Upside Up - Robot équilibrage revisité

Cette instructable vous guide à travers un simple de construction, 2 roues équilibrage robot et passe du temps à explorer les différents facteurs qui influencent la performance équilibrage. Il s'agit de mon deuxième projet de robot, et j'avais deux m
Comment construire un Robot - The BeetleBot v2 (Revisited)

Comment construire un Robot - The BeetleBot v2 (Revisited)

il s'agit de l'insecte robot instructables revisité à la style bas les mythes !Initialement, j'ai fait un instructables sur ma version de robot beetle 1.Il est maintenant temps de vous montrer une nouvelle version de ce merveilleux robot. Cette nouve
Robotique mobile avec Scratch : comment intégrer les Scratch, Arduino et Bluetooth

Robotique mobile avec Scratch : comment intégrer les Scratch, Arduino et Bluetooth

Pendant longtemps, nous avons lutté avec la tâche de créer une stratégie simple, peu coûteux, plateforme-indépendant, fiable et stable de l'intégration de Scratch et Arduino de telle sorte que vous pourriez utiliser Scratch pour enseigner les princip
IoT - contrôler un Robot de Pi framboise sur internet avec HTML et shell scripts seulement

IoT - contrôler un Robot de Pi framboise sur internet avec HTML et shell scripts seulement

(Si vous aimez cette Instructables, n'oubliez pas de voter à ce sujet (ci-dessus : drapeau de coin à droite). il est en concurrence sur l'INTERNET des objets et des concours d'automatisation. Merci beaucoup! ;-)Dans cette instructables, nous allons a
Fenrir : Un robot chien Open source

Fenrir : Un robot chien Open source

Mouvement des jambes fixesTransformation de rotationDémo de marcheL'Interface utilisateurIl s'agit d'un robot quadrupède mammifère de mini open source ou vous pouvez penser d'elle comme un robot chien de quatre jambes. L'objectif de ce projet est de
Comment faire une plateforme Mobile Robot faible coût

Comment faire une plateforme Mobile Robot faible coût

Ce Instructable agit ici de développer une base robotique pour prendre en charge vos expériences.Ce Instructable s'adresse à toute mise en route sur une plate-forme mobile de basse tension. Autres lecteurs pourraient trouver quelque chose d'intéressa
CupBot - plateforme robotique imprimés 3D

CupBot - plateforme robotique imprimés 3D

Voici un excellent week-end, que vous pouvez entreprendre des projets de robotique appelé CupBots basé sur le Raspberry Pi et le BeagleBone Black qui sont des cartes de crédit ordinateurs de taille et comprend également l'impression 3D...La plupart d
CupBots - 3D plate-forme robotique imprimé pour Arduino et Raspberry Pi

CupBots - 3D plate-forme robotique imprimé pour Arduino et Raspberry Pi

Voici un projet de robotique du grand week-end d'entreprendre avec des amis ou des gens de votre espace de la machine locale. Vous aurez besoin une imprimante 3D très pratique à la 3D impression les fichiers STL en pièce jointe dans le cadre de la pr
Conception de Robot jambes

Conception de Robot jambes

Si votre robot ont ennuyé du mouvement de la roue, cette instructables vous montrer comment concevoir et fabriquer des jambes Strandbeest de Theo Jansen (sans imprimante 3D) pour vous robot.Ref. :https://www.google.com/search?q=strandbeest&TBM=is...É
Robot simple Pi

Robot simple Pi

Simple Robot Pi vise à mettre contrôle robot en forme simple, la conception d'un robot est similaire à la polyvalente robot GOPIGO construit par industries dextre.La liste des piècesFramboise (1) pi (tout modèle) mais avec le récent lancement de pize
Bot de chien : Lego Robot Rover avec Webcam

Bot de chien : Lego Robot Rover avec Webcam

Voici comment faire un robot Lego, que vous pouvez contrôler de n'importe quel écran via wifi. Il a également une webcam donc vous pouvez voir où votre cours et la LED s'allume pour les yeux ! Il s'agit d'un grand projet à faire avec vos enfants car
Contrôler un Robot avec une télécommande Wii

Contrôler un Robot avec une télécommande Wii

Il s'agit d'un amusant petit projet qui utilise un Pi de framboise, un Robot de Finch et une télécommande Wii (Wiimote AKA), pour montrer certaines des choses que vous pouvez faire avec un pi framboise et/ou une Wii remote. Il utilise Python et la bi
RaspRob, le Robot framboise

RaspRob, le Robot framboise

Il s'agit de mon guide How-to créer un robot qui est contrôlée via Internet.La webcam intégrée facilite le robot à contrôler depuis n'importe quel PC ou smartphone ! Nous allons utiliser python pour contrôler les ports GPIO sur notre Pi et le .php po
Chefbot : Un bricolage mobile robot autonome pour servir des aliments dans les hôtels

Chefbot : Un bricolage mobile robot autonome pour servir des aliments dans les hôtels

Comme le titre l'indique, nous allons voir comment construire un robot mobile autonome appelé Chefbot qui est pour servir des aliments et des boissons dans les hôtels et restaurants.Il s'agissait d'un projet de passe-temps et j'ai construit ce robot