Table des matières:
- Étape 1: connexion au bus réseau I2C
- Étape 2: ajouter les résistances de pullup
- Étape 3: programmer l'esclave
- Étape 4: programmer le maître
Vidéo: Connecter deux OOBoards ensemble à l'aide d'I2C : 4 étapes
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:10
Cette instructable explique comment connecter deux OOBoards à l'aide d'I2C.
Étape 1: connexion au bus réseau I2C
Il y a deux bus I2C sur les OOBoards, un bus local et un bus réseau.
Le code OOPIC est essentiellement un langage interprété, c'est-à-dire que le "code" est stocké dans l'EEPROM, et lu/interprété par le microprocesseur en temps réel. L'EEPROM utilise le bus LOCAL I2C pour communiquer avec le microcontrôleur. Si vous deviez regarder ce bus local sur l'oscilloscope, vous verriez un bavardage constant. Sur les cartes OOBoards, le bus local est ce qui est connecté au connecteur I2C, ce n'est pas forcément ce que l'on veut. Le bus NETWORK est généralement le bus qui est utilisé pour communiquer avec d'autres appareils/oopics, sur les OOBoards ce bus n'a pas de connecteur. Afin d'accéder à ce bus, vous devez souder des fils aux broches 42 et 37 du microcontrôleur (marquées N_SDA, N_SCL sur le schéma respectivement).
Étape 2: ajouter les résistances de pullup
Une fois les connexions SDA et SCL effectuées sur chaque processeur, les deux cartes peuvent
être reliés entre eux en connectant SDA à SDA, SCL à SCL et en connectant un fil de terre commun entre les cartes. Vous aurez également besoin d'une résistance de rappel sur chaque ligne (j'ai utilisé 12k, mais c'est exactement ce que j'avais en train de traîner). Notez que vous n'avez besoin que d'une résistance de pullup par ligne pour un total de deux résistances (pas 4).
Étape 3: programmer l'esclave
Maintenant que les connexions physiques sont là, vous devrez programmer le microcontrôleur esclave. J'ai ajouté un code ci-dessous qui devrait vous aider à démarrer.
Dim SLAVE As New oDDELinkDim LED As New oDIO1Sub Main() &aposset notre adresse I2C à 2 (remarque, cela doit correspondre à l'adresse distante que nous avons définie dans le code maître) ooPIC. Node = 2 &apossetup une LED LED. IOLine = 5 LED. Direction = cvOutput &aposnow, reliez la sortie de notre objet DDELink à &aposthe LED, et allumez-la… maintenant automatiquement, la LED clignotera SLAVE. Output. Link(LED) SLAVE. Operate = cvTrueEnd Sub
Étape 4: programmer le maître
Enfin, programmez le microcontrôleur maître. Portez une attention particulière aux lignes qui définissent la propriété. Location du DDELink: à moins qu'elle ne soit définie correctement, cela ne fonctionnera PAS !
Dim Master en tant que nouveau oDDELinkDim wire en tant que nouveau oWireDim hz1 en tant que nouveau oBitSub Main() & aposlink la minuterie de 1 seconde au bit auquel nous pouvons accéder & aposthis bit basculera désormais une fois par seconde wire. Input. Link(ooPIC. Hz1) wire. Output. Link (hz1) wire. Operate = cvTrue &aposthis définit l'adresse I2C de notre microcontrôleur local &aposthe interface I2C n'est pas active jusqu'à ce qu'une adresse soit définie ooPIC. Node = 1 &aposnow nous configurons notre objet DDELink, notre entrée est le bit hz1 &aposnotez que le l'objet a également une propriété. Output qui est utilisée &aposlorsque nous sommes en mode réception Master. Input. Link(hz1) &aposc'est l'adresse I2C du microcontrôleur distant, notez que &aposin le code esclave, nous lui disons d'avoir une adresse de 2 Master. Node = 2 &aposugh…c'est la partie merdique, c'est "l'adresse" de l'&aposobject DDELink dans l'espace mémoire slave&aposs. Afin de comprendre ce nombre, &aposnous devons ouvrir et compiler le code esclave, puis aller dans Affichage->Code compilé. &aposcherchez quelque chose comme: &aposL*. Construct. Begin;Dim as new oDDELink &aposwhere * est un nombre quelconque, et est le nom de votre objet DDELink &aposin votre code esclave. La ligne immédiatement en dessous devrait se lire quelque chose comme: &aposC0020:041;This.. Address &aposthe nombre à droite de &apos:&apos est l'adresse de l'objet DDELink esclave Master. Location = 41 &aposthis indique l'objet que nous allons envoyer data (c'est-à-dire, copier les données de notre propriété. Input &aposto la propriété slaves.output (remarque, si vous définissez ceci pour recevoir, c'est le contraire) Master. Direction = cvSend &aposturn it on, mais rien ne se passe encore… Master. Operate = cvTrue Faire &aposcheck pour voir si nous transmettons actuellement des données If Master. Transmitting = cvFalse Alors &aposset cette valeur à 1 obligera le maître à envoyer la valeur à l'esclave &aposnote, ceci est automatiquement remis à 0 à la fin de la transmission Master. Sync = 1 End If LoopEnd Sub
Conseillé:
Comment connecter Raspberry Pi au cloud à l'aide de Node.js : 7 étapes
Comment connecter Raspberry Pi au cloud à l'aide de Node.js : Ce didacticiel est utile pour quiconque cherche à connecter un Raspberry Pi au cloud, en particulier à la plate-forme AskSensors IoT, à l'aide de Node.js. Vous n'avez pas de Raspberry Pi ? Si vous ne possédez pas actuellement de Raspberry Pi, je vous recommanderai de vous procurer un Raspberry
Chauves-souris géantes - Comment intégrer deux photos à l'aide de Pixlr : 7 étapes
Chauves-souris géantes - Comment intégrer deux photos à l'aide de Pixlr: Dans les sommets plats du versant ouest des montagnes Rocheuses, je suis tombé sur ce panneau sur la route que j'explorais. Il a dit, "POUR LA PROTECTION DES CHAUVES-SOURIS, LES GROTTES ET LES MINES SONT FERMÉES À L'ENTRÉE HUMAINE". Je pensais que c'était étrange parce que
Connecter Arduino WiFi au Cloud à l'aide d'ESP8266 : 7 étapes
Connecter Arduino WiFi au cloud à l'aide d'ESP8266 : dans ce tutoriel, nous allons vous expliquer comment connecter votre Arduino au cloud IoT via WiFi. Nous allons configurer une configuration composée d'un module Arduino et d'un module WiFi ESP8266 en tant qu'objet IoT et la préparer pour communiquer avec le cloud AskSensors.L
Faire une paire Darlington à l'aide de deux BJT Npn : 9 étapes
Faire une paire de Darlington à l'aide de deux BJT Npn : cette instructable, sera tout sur la paire de Darlington et ses applications. Je vais passer en revue en détail la construction basée sur les types NPN et PNP (à venir ! - restez à l'écoute). Alors, commençons
Travailler avec deux LED à l'aide d'Arduino UNO dans les circuits TinkerCAD : 8 étapes
Travailler avec deux LED à l'aide d'Arduino UNO dans des circuits TinkerCAD : ce projet montre comment travailler avec deux LED et Arduino dans des circuits TinkerCAD