Comment créer un bureau interactif. Bureau interactif pour WinXP. Bureau informatique multi-touch - Ideum Pro Lab

I2C est un bus série asymétrique pour la communication entre circuits intégrésà l'intérieur appareils électroniques. C'est ce protocole la communication a été développée pour interphoneà l'intérieur du coffret de l'appareil ou à l'intérieur du tableau. Il n'était pas chargé de transmettre des données à longues distances, il existe donc de nombreux mythes sur la portée de communication maximale - pour certains, cela fonctionne mal même à 50 cm, pour d'autres à 2 m.

Le bus I2C peut accueillir jusqu'à 128 appareils. Adresses de 0 à 127.

Les contrôleurs Arduino ont une communication physique I2C, ce qui vous permet de vous y connecter via deux fils d'information, divers capteurs, extenseurs d'entrée-sortie discrets, numériques-analogiques et convertisseurs analogique-numérique, ainsi que d'autres contrôleurs.

Il n'y a aucune information sur la vitesse de transmission sur le site Web du fabricant. Mais selon la documentation générale du protocole, il devrait être d'au moins 100 kbit/s


Maintenant, j'aimerais tester la qualité réelle du bus I2C et la difficulté d'échanger des données entre plusieurs contrôleurs Arduino qui l'utilisent.

Je vais prendre trois contrôleurs, les connecter à un bus I2C et découvrir comment échanger des données via celui-ci. Le premier contrôleur agira en tant que maître et les deux autres agiront en tant qu'esclave.

Pour afficher les données, j'utiliserai un indicateur LCD 1602 avec un module I2C, qui sera connecté au même bus de communication.

Le contrôleur maître interrogera séquentiellement les deuxième et troisième contrôleurs. Le premier contrôleur doit afficher les données reçues sur l'indicateur. Sondage des esclaves Arduino-Nano sera effectué avec une fréquence de 1 fois/sec.

Schéma de connexion

Quatre fils de chacun des 4 appareils doivent être connectés en parallèle. La broche A4 de la carte Arduino Nano est le bus SDA du protocole I2C et A5 est SCL.

J'utiliserai des boucliers de montage pour les contrôleurs Nano pour des connexions faciles.

L'alimentation sera simplement fournie à l'un des contrôleurs via mini-USB entrée.

L'écran LCD a une adresse par défaut dans le réseau I2C de 27. Pour le deuxième contrôleur, nous définirons l'adresse sur 2 et pour le troisième sur 3. L'adresse du premier contrôleur principal n'est pas nécessaire.

Le programme du contrôleur est un maître.

#inclure #inclure // Définissez l'adresse LCD sur 0x27 pour un affichage de 16 caractères et 2 lignes LiquidCrystal_I2C lcd(0x27, 16, 2); int nano1 = 0 ; int nano2; int nano3; void setup() ( Serial.begin(9600); // initialise l'écran LCD lcd.begin(); // allume la lumière noire et imprime un message. lcd.backlight(); ) void loop() ( lcd.setCursor( 0, 0); lcd.print(nano1); Wire.requestFrom(2, 2); // demande 6 octets au périphérique esclave #8 int i=0;nano2=0; / l'esclave peut envoyer moins d'octets que celui demandé c = Wire.read(); // recevoir un octet sous forme de caractère Serial.print(c); if (i==0) nano2 = ((c & 0xff)<< 8); else nano2 = nano2 | c; i++; } Serial.println(""); Serial.println(nano2); lcd.setCursor(9, 0); lcd.print(nano2); delay(100); Wire.requestFrom(3, 2); // request 6 bytes from slave device #8 i=0;nano3=0; while (Wire.available()) { // slave may send less than requested byte c = Wire.read(); // receive a byte as character Serial.print(c); if (i==0) nano3 = ((c & 0xff) << 8); else nano3 = nano3 | c; i++; } lcd.setCursor(0, 1); lcd.print(nano3); delay(100); nano1++; delay(800); }

Le premier contrôleur change sa variable de type entier et affiche sa valeur sur l'indicateur. Il interroge également tour à tour l'esclave avec les 2ème et 3ème adresses. Leur demande deux octets d'informations, les convertit en une variable entière. En conséquence, le premier contrôleur fait pivoter trois variables de trois Nanos et peut les afficher sur l'indicateur.

Deuxième programme de contrôleur

#inclure int nano2=0 ; octet de hauteur ; void setup() ( Wire.begin(2); // rejoindre le bus i2c avec l'adresse #8 Wire.onRequest(requestEvent); // enregistrer l'événement ) void loop() ( delay(1000); nano2--; ) // fonction qui s'exécute chaque fois que des données sont demandées par le maître // cette fonction est enregistrée en tant qu'événement, voir setup() void requestEvent() ( high = (nano2 >>

Troisième programme Arduino Nano

#inclure int nano2=0 ; octet de hauteur ; void setup() ( Wire.begin(3); // rejoindre le bus i2c avec l'adresse #8 Wire.onRequest(requestEvent); // enregistrer l'événement) void loop() ( delay(1500); nano2--; ) // fonction qui s'exécute chaque fois que des données sont demandées par le maître // cette fonction est enregistrée en tant qu'événement, voir setup() void requestEvent() ( high = (nano2 >> 8); high = (nano2 & 0xff); Wire.write(high ); // répond avec un message de 2 octets Wire.write(high);

Les deux derniers programmes diffèrent simplement par l'adresse dans la fonction Wire.begin(3) ; et la fréquence de changement de la variable.

Ces programmes modifient constamment la variable entière et attendent une demande du maître. Lorsqu'elle est demandée, cette variable est décomposée en deux octets et envoyée en réponse à la demande au contrôleur maître.

Ainsi, le fonctionnement de la communication I2C peut être surveillé par les valeurs changeantes de trois variables sur l'écran à cristaux liquides.

Conclusions

Tout fonctionne très bien - les chiffres sur l'écran changent. J'ai essayé d'allonger le câble entre le deuxième et le troisième Contrôleurs Arduino. J'ai vérifié le fonctionnement du bus de communication d'une longueur de 3 m - rien à redire. Je n'en ai pas essayé de plus long, mais beaucoup m'ont dit que l'I2C ne fonctionnait pas au-delà de 0,5... 2 m et je me suis inspiré de la longueur de 3 m.

Pour ma part, je vois déjà où j'utiliserai une telle connexion entre les trois Nanos.

Je n'ai pas encore essayé de transférer des données du maître vers l'esclave. Si vous l'essayez, veuillez vous inscrire.

Les inconvénients ici sont courtes distances sensiblement inférieur à supérieur.

Le protocole de communication I2C a été autrefois développé par Philips. Le nom I2C vient de l'anglais Iner-IC control ou autrement inter-chip control, Inter-IC, IIC (I2C) est le nom du même protocole.

Ce protocole ou interface permet une réception et une transmission de haute qualité d'informations (données) provenant de plusieurs appareils différents, par exemple, vous pouvez mesurer la température et contrôler simultanément un potentiomètre numérique. La communication s'effectue par logiciel ; l'algorithme de communication avec le capteur via le protocole I2C est écrit dans le programme Arduino (croquis).

Il existe des adaptateurs spéciaux qui vous permettent de connecter d'autres appareils, par exemple, avec un adaptateur, vous pouvez connecter un écran LCD arduino 1602 (16x2) en utilisant le protocole i2c à l'aide de deux fils. Sur demande LCD i2c il y a beaucoup d'informations sur Internet, voici un exemple de ce à quoi devrait ressembler un adaptateur pour un écran http://www.ebay.com/itm/310565362720

Lorsque vous travaillez sur cette interface, un appareil est le maître et l'autre est l'esclave. Le maître initie la transmission et génère les signaux nécessaires à la synchronisation.

L'esclave, à son tour, dépend du maître et ne commence à transmettre des données qu'après avoir reçu une commande du périphérique maître.

Un appareil connecté au bus I2C possède sa propre adresse unique. C'est à cette adresse qu'est adressé l'appareil maître.

Un exemple de connexion de capteurs utilisant le protocole I2C

La connexion s'effectue via deux fils : SCL - le signal d'horloge ou signal d'horloge et SDA - le signal de données. Dans ce cas, un certain nombre de divers capteurs(appareils esclaves) ayant leurs propres identifiants uniques.

La connaissance commence par une bibliothèque spécialement écrite à cet effet, dont le nom est Wire. Avant de commencer les travaux, il faut l'importer dans le projet, il a équipes spéciales ou des méthodes pour « parler » aux appareils.

Pour échanger des données avec des appareils, vous devez connaître leur identifiant. Divers appareils peut avoir différentes longueurs d'adresse (id) 8 ou 7 bits. La bibliothèque Wire utilise un adressage 7 bits.

Les appareils esclaves sont connectés aux broches du Carte Arduino. Chaque version d'Arduino possède ses propres broches I2C

  • ONU-A4(SDA), A5(SCL);
  • Méga-20(SDA), 21(SCL);
  • Leonardo-2(SDA), 3(SCL);
  • Due - 20(SDA), 21(SCL),SDA1,SCL1 ;

Exemple de code de programme pour contrôler un potentiomètre numérique à l'aide de la bibliothèque Wire

Cet exemple montre comment définir une valeur de résistance spécifique dans potentiomètre numérique avec l'aide Bibliothèques de fils. Installation certaine valeur effectuée à l'aide de la variable val.

#inclure void setup() ( Wire.begin(); // rejoindre le bus i2c (adresse facultative pour le maître) ) byte val = 0; void loop() ( Wire.beginTransmission(44); // transmet au périphérique #44 (0x2c) // l'adresse du périphérique est spécifiée dans la fiche technique Wire.write(byte(0x00)); // envoie l'octet d'instruction Wire.write(val ); // envoie l'octet de valeur du potentiomètre Wire.endTransmission(); // arrête de transmettre val++; // incrémente la valeur if (val == 64) // si la 64ème position est atteinte (val = 0; // recommence à partir de valeur la plus basse) délai (500);

Vidéo du fonctionnement d'I2C et d'Arduino. Partie 1

j'ai décidé de faire panneau de texte opérateur (IHM) et connectez-le via un bus I2C « carré » à l’Arduino. Pour ce faire, j'ai développé une carte clavier à 5 boutons basée sur la puce PCF8574P.

PCF8574P est un extenseur de port, package DIP, fonctionne sur le bus I2C. J'ai acheté un lot de deux de ces microcircuits pour 0,94 $ avec livraison gratuite depuis la Chine, donc une pièce coûte 0,47 $. L'achat est rentable car magasins locaux ces mêmes microcircuits coûtent plus de 2 dollars pièce.

L'affichage HMI sera un écran standard 1602, fonctionnant également via un bus carré via la carte FC-113.

Ils ont envoyé PCF8574P, m'ont donné un numéro de suivi et au bout de 2 semaines je les ai déjà reçus par la poste.


On le sort du tube en plastique, tout semble aller bien.


Cependant, au fond du boîtier de l'un des microcircuits se trouvent des traces d'effets thermomécaniques mystérieux.


La nature de ces dommages ne m'est pas claire, mais il est évident qu'ils n'ont pas pu apparaître lors du transport.

J'ai longuement réfléchi à cette énigme jusqu'à ce qu'elle me vienne à l'esprit.
C’est juste que Luke Skywalker s’est faufilé dans l’entrepôt du vendeur, rétrécissant soudainement à une taille microscopique. Là, il remarqua l'un des agrandisseurs de port, le confondit avec un marcheur impérial et commença à le pirater avec un sabre laser. Puis le cueilleur est entré, a vu cette photo et a dit : « Arrête ça, Luke Skywalker ! Ce n'est pas un marcheur impérial, c'est un microcircuit PCF8574P, pour lequel nous l'avons déjà payé depuis Zaporozhye.

C'est bien que les deux microcircuits se soient avérés fonctionnels lors des tests.

Commençons par créer le clavier lui-même selon ce schéma.


Dans Layout 6.0, j'ai dessiné un tableau simple face.


Vous pouvez télécharger le fichier avec le tableau.

La planche a été gravée avec du peroxyde d’hydrogène et de l’acide citrique.

Il existe de nombreuses recettes pour graver des planches au peroxyde sur Internet.
J'ai fait cette solution : 100 ml de peroxyde d'hydrogène 3%, 50 g acide citrique, 3 cuillères à café de sel. Chauffer un pot de peroxyde dans une casserole d'eau.

Nous plongeons la planche dans la solution avec le motif vers le bas, comme recommandé lors de la gravure au peroxyde.

Psshhhh ! Au début, le processus est rapide.


Ps... Ensuite, ça s'atténue sensiblement. Retournez-le et regardez le dessin.


Beauté.


La planche finie ressemble à ceci.




Les broches d'adresse du microcircuit sont connectées à GND, donc l'adresse de la carte sur le bus sera 0x20.

Nous écrivons un programme pour Arduino.

#inclure
#inclure

#définir la led 13
#définir ADDR_KBRD 0x20
#définir ADDR_LCD 0x27

Chaîne chaîne ;
octet dio_in ;
bool b;
clé booléenne ;

Écran LCD LiquidCrystal_I2C (ADDR_LCD,16,2); // Définir l'affichage

Annuler la configuration()
{
pinMode(13, SORTIE);
lcd.init();
lcd.backlight();// Allumer le rétroéclairage de l'écran
Wire.begin();

Wire.beginTransmission(ADDR_KBRD);
Wire.write(B11111111);
Wire.endTransmission();
Série.begin(9600);
}
boucle vide()
{
Wire.requestFrom(ADDR_KBRD,1);
while (!Wire.available());
octet dio_in = Wire.read(); //lire l'état des ports PCF8574P
masque d'octet = 1 ;
pour(int je=0; je<5;i++)
{
key[i]=!(dio_in & masque);
masque=masque<<1;
}

Str=Chaîne(dio_in, BIN); //
Serial.println(str);

B=!b;
digitalWrite(led, b);

//
lcd.setCursor(0, 0);
lcd.print(Chaîne(clé)+" "+
Chaîne(clé)+" "+
Chaîne(clé)+" "+
Chaîne(clé)+" "+
Chaîne(clé)+" "
);
retard (100);
}


Nous chargeons le programme dans Arduino et le connectons au clavier et à l'écran créés.

Allumez-le, ça marche !


Mon IHM fonctionnera non seulement avec Arduino, mais aussi avec un automate compatible Arduino. S’il y a de l’inspiration et de l’intérêt de la part des lecteurs, j’en parlerai un jour.

Avantages du PCF8574P :
1. Cerclage minimal.
2. Facile à utiliser.

Inconvénients du PCF8574P :
Je ne l'ai pas trouvé sur le microcircuit lui-même, même si je vous conseille d'acheter chez un autre vendeur.

Ceci conclut l'examen du microcircuit PCF8574P.
Mais en tant qu'observateur déjà expérimenté, à l'avance Je répondrai aux questions qui seront certainement posées :

Pourquoi en package DIP ? SOIC est meilleur.
Toutes choses égales par ailleurs, je préfère le DIP, c’est plus facile pour moi.

Les éléments DIP et de sortie sont installés uniquement par des lamers ; tous les spécialistes utilisent SOIC et SMD. Je soude donc exclusivement des SMD et en général je suis génial.
Bien joué.

Pourquoi ne pas simplement acheter un module prêt à l'emploi sur Aliexpress avec un écran 1602 et un clavier à 5 boutons ? Cela fonctionne également via I2C.
Son prix commence à partir de 11 $.
J'ai dépensé :
Présentoir 1602 - 1,3 $
Carte FC-113 - 0,55 $
Puce PCF8574P - 0,47 $
Boutons et casquettes - 0,7 $
Réactifs pour gravure de planches - 0,3 $
Textolite, résistances et autres petites choses - gratuitement, provenant d'anciens stocks.
Total : 3,32 $
Mais le principal c'est que sur ma planche j'ai installé des boutons avec un poussoir carré pour y mettre de beaux capuchons colorés.

Wow, une seule puce PCF8574P coûte presque autant qu'une carte FC-113 entière !
Ouais...

Vous avez tout mal fait. Ils l’ont mal dessiné, gravé de manière incorrecte dans la mauvaise solution et placé les mauvais boutons. Si j'étais toi, je ferais tout correctement.
Bien joué.

Pourquoi le cinquième bouton est-il si éloigné des autres ?
C'est intentionnel, ils sont fonctionnellement différents. Ces quatre sont gauche, droite, annuler, entrer et le cinquième sera SETUP.

J'attendais une histoire plus excitante sur Luke Skywalker, tu m'as trompé !
Je suis génial.

Télécharger Bureau 3D vous pouvez dans cette section de notre site Web.

Bienvenue dans la catégorie Bureau 3D. Dans le monde, avec le développement de la technologie informatique et la sortie de plus en plus de nouveaux programmes et shells pour les systèmes d'exploitation, de plus en plus de programmes nouveaux et intéressants apparaissent. Les programmeurs ont écrit de nombreux programmes différents qui donnent au bureau ou à l'interface Windows un aspect unique. La transformation de votre espace de bureau en un modèle tridimensionnel est réalisée par des programmes spéciaux. Il n'existe pas beaucoup de ces programmes et beaucoup d'entre eux ne fonctionnent tout simplement pas comme le prétendent les développeurs.

Honnêtement, j'ai créé cette catégorie pour référence. Nous publierons ici des documents qui transforment le bureau en un espace virtuel tridimensionnel ou des programmes donnant des effets tridimensionnels spéciaux. Tous les ordinateurs de bureau sont beaux et intéressants, mais, à mon avis, ils ne sont pas très confortables, ou peut-être simplement inhabituels, mais comme on dit, il n'y a pas de camarades selon les goûts et les couleurs. Vous pouvez télécharger le bureau 3D gratuitement et sans inscription, simplement en cliquant sur le bouton de téléchargement. Le bureau 3D a l'air très inhabituel et inhabituel, mais c'est ce qui lui donnera un look unique et attirera l'attention. Je vous conseille également de télécharger des Thèmes pour Windows XP, Windows 7, des icônes et en arrière-plan pour ajouter de la couleur à votre bureau. Sinon, vous pouvez expérimenter vous-même ce qui semble le plus compatible et harmonieux avec une table 3D.

Je vous présente le programme Real Desktop, qui transformera votre bureau en un espace virtuel tridimensionnel - un bureau 3D. Ce programme propose de nombreux paramètres pour la conception des icônes, la palette de couleurs du bureau lui-même, le travail avec les ombres, ainsi que la configuration de l'affichage tridimensionnel lui-même.

Vous pouvez télécharger 3D Real Desktop en cliquant sur l'archive située sous l'image.

Je présente un bureau 3D inhabituel créé à l'aide du programme Looking Glass 3D. C'est vraiment très inhabituel, cela fonctionne sur la base de la technologie Java. Je ne peux rien dire de plus, il faut l'essayer soi-même. Téléchargez, installez vous-même et expérimentez les paramètres.


Les nouveaux appareils dotés d’écrans tactiles intégrés capables de remplacer littéralement toutes les surfaces possibles ne relèvent plus de la science-fiction. Cela deviendra la norme dans un avenir proche. Et dans notre revue d’aujourd’hui, vous trouverez 7 tables interactives qui peuvent amener la vie quotidienne d’une personne à un nouveau niveau.

1. Nouveau concept de bureau inhabituel - Apple iDesk


Le designer Adam Benton a créé son nouveau concept de bureau fonctionnel avec une surface interactive appelée - iDesk. Le nouveau produit fonctionnera sous le système d'exploitation Mac OS et pourra interagir avec tous les gadgets Apple. L'appareil est contrôlé à l'aide du clavier tactile situé sur le panneau de table. Une fois publié, iDesk pourra passer des appels, prendre des rendez-vous et envoyer des e-mails. Malheureusement, des spécifications techniques plus détaillées ne sont pas encore disponibles.

2. Table interactive pour restaurants


Dans un restaurant asiatique de Londres appelé Inamo Les premières nouvelles tables interactives pour les clients sont localisées. Ce modèle peut remplacer complètement un menu papier ordinaire et faciliter considérablement le travail du serveur. Il vous suffit de sélectionner un plat et la commande sera automatiquement passée. De plus, la principale caractéristique de ce nouveau produit est que vous pouvez surveiller la préparation des plats commandés grâce à la caméra située dans la cuisine de l'établissement.

3. Table interactive pour enfants - SMART Table 442i


Une nouvelle table d'apprentissage développemental appelée SMART Table 442i a été créée dans le but d'intéresser les jeunes enfants à l'apprentissage. Grâce au nouveau produit, ils pourront combiner jeu et étude, développant ainsi les compétences de résolution commune de problèmes. Ce modèle est très simple à utiliser et ne nécessite aucune intervention supplémentaire de la part des enseignants.

4. Nouvelle table fonctionnelle avec possibilité de recharger les appareils mobiles


Créateur argentin Sébastien Lara Dris a créé une nouvelle table qui vous permet de charger un appareil Apple dans la position la plus pratique pour le propriétaire. En haut se trouvent des plates-formes intégrées pour placer l'iPod et l'iPhone, et à la base de chacune d'elles se trouve un connecteur à travers lequel le gadget est rechargé. La principale caractéristique de ce modèle est que les compartiments pour smartphones et tablettes peuvent être cachés et que la surface de la table sera alors absolument plane.

5. Bureau informatique multi-touch - Ideum Pro Lab


Entreprise Idée a créé son nouveau puissant bureau d'ordinateur multi-touch appelé - Laboratoire professionnel. Cet appareil est équipé de : un processeur quadricœur Intel Core i7-4790 avec une fréquence d'horloge de 3,6 GHz, 32 Go de RAM, un écran de 55 pouces avec une résolution de 3840 × 2160 pixels et un accélérateur graphique NVIDA Quadro K620 avec 2 Go. Ce modèle peut installer simultanément jusqu'à trois disques durs amovibles d'une capacité allant jusqu'à 8 téraoctets. Le nouveau produit dispose également d'un enregistreur Blu-ray et de technologies de transfert de données sans fil telles que Wi-Fi 802.11a/b/g/n et Bluetooth 4.0. Les dimensions du gadget sont de 1281 × 881 × 751 centimètres et il pèse 100 kilogrammes. Il convient également de noter que la table exécute le système d'exploitation Windows 8 Professionnel. Pro Lab coûte environ 24 000 dollars américains.

6. Nouveau concept de table tactile pour commander des pizzas - Pizza Hut


Commander une pizza dans une pizzeria est un processus assez long et prend presque toujours beaucoup de temps. Vous devez d'abord attendre le serveur, puis étudier le menu, convenir avec vos amis sur la pizza choisir. Mais la chaîne de pizzerias a décidé de sauver ses visiteurs de tout cela. Pizza Hut qui a installé une table tactile fonctionnelle dans ses établissements pour une commande rapide. Cette invention permet de faciliter considérablement le choix du plat et de réduire le temps d'attente.

7. Concept de table insolite avec écran intégré - Sharetable


Créateurs suisses de l'entreprise RéMago avec Génération de projet Cloud a créé son nouveau concept d'ordinateur de bureau appelé - Table de partage. Tous les composants d’un PC ordinaire sont intégrés au plateau de l’appareil. Le nouveau produit est équipé d'un écran multi-touch de 21,5 pouces avec une résolution de 1920 × 1080 pixels et d'un écran tactile de 7 pouces. Grâce à cela, deux personnes peuvent travailler sur leur projet en même temps. Il dispose également d'un module 3G/LTE, de cinq ports USB et d'un HDMI.

Et les amateurs d'appareils insolites seront certainement intéressés par ceux-ci



Des questions ?

Signaler une faute de frappe

Texte qui sera envoyé à nos rédacteurs :