Table des matières:
Vidéo: Renifleur Arduino I2C : 4 étapes
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:09
I2C est un protocole série utilisé pour communiquer un microcontrôleur avec des périphériques externes connectés au même circuit. Chaque périphérique doit avoir un numéro d'identification unique appelé adresse qui est utilisé pour l'identifier en tant que destinataire prévu d'un message donné. Ces adresses sont attribuées par le fabricant de l'appareil et la plupart du temps, elles ne peuvent pas être modifiées. Un renifleur scanne toutes les adresses possibles à la recherche d'appareils connectés et signale ceux qu'il trouve. Cela permet d'identifier les puces non marquées, car l'adresse peut alors être recherchée sur Google pour plus d'informations sur la puce.
Cet appareil imite sur un Arduino UNO le comportement du script Raspberry Pi i2cdetect, reniflant toutes les adresses i2c possibles à la recherche d'appareils connectés et imprimant joliment les résultats sur un écran LCD 16x02.
Pour que tout s'affiche à l'écran, les parties haute et basse de l'adresse sont imprimées au-dessus des résultats, la partie haute étant en caractères gras. Deux boutons poussoirs permettent de naviguer entre les adresses, affichant 16 adresses à la fois. Si un périphérique est détecté, W sera affiché pour l'afficher comme adresse d'écriture et R s'affichera s'il s'agit d'une adresse de lecture. Si rien n'est détecté à cette adresse, un tiret (-) s'affichera à l'écran.
Étape 1: Matériaux
Option 1
1 x Arduino UNO
1 écran LCD 16x02
1x potentiomètre 10K
1x résistance de 330 ohms
3x boutons poussoirs
Câbles de démarrage
1x décaleur de niveau I2C (pas sur l'image des matériaux)
Option 2
1 x Arduino UNO
Écran du clavier LCD (les boutons du bouclier ne seront pas utilisés)
3x boutons poussoirs
Câbles de démarrage
1x décaleur de niveau I2C (pas sur l'image des matériaux)
L'option 2 est celle qui sera construite car c'est ce que j'avais sous la main en ce moment. Le décaleur de niveau est une partie importante du circuit car de nos jours, la plupart des appareils utilisent une logique de 3,3 V et le 5 V de l'Arduino les endommage.
(Sur les photos, le matériel barré n'est pas requis.)
Étape 2: Circuit
Le circuit est assez simple, utilisant le brochage standard pour les exemples Arduino pour l'écran LCD, les broches par défaut pour I2C et 3 broches de rechange pour les boutons-poussoirs.
Si vous utilisez le LCD Keypad Shield, le brochage de l'écran LCD change, mais cela est déjà pris en compte dans le code. Les boutons LCD Keypad Shield ne sont pas utilisés car ils nécessitent une méthode d'interrogation analogique qui rompt la compatibilité entre les deux circuits de mise en œuvre possibles (Shield et LCD autonome)
Étape 3: Coder
Si le LCD Keypad Shield est utilisé, #define LCD_SHIELD ne doit pas être commenté au début du croquis. Sinon, commentez-le pour utiliser le premier schéma.
Étape 4: Conclusions
Pour tester le code et le circuit, une puce BQ32000 RTC et un accéléromètre MMA8452Q ont été utilisés. Comme on peut le voir sur les photos, l'appareil détecte 4 adresses: 0x3A et 0xD0 comme adresses d'écriture, et 0x3B et 0xD1 comme adresses de lecture. Ces adresses correspondent aux appareils de test donc le code fonctionne.
Je tiens à remercier les gentilles filles de Beijing Makerspace, Fu Yao et Liu Xin, pour m'avoir aidé à obtenir le matériel nécessaire pour tester ce projet dans un délai aussi court.
Conseillé:
Relais I2C avec IDE Arduino : 5 étapes
I2C Relay Met Arduino IDE: Je commande une belle carte relais mais il n'y avait pas d'instruction ArduinoIDE, juste Raspberry Pi e.o. Je découvre comment l'utiliser avec Arduino et je veux le partager afin que vous puissiez gagner du temps. Exemple original de RaspberryPi : wiki.52pi.com/index.php/DockerPi_4_Channel_R
Renifleur de particules : 6 étapes (avec photos)
Renifleur de particules : En travaillant avec les projets précédents sur l'évaluation des PM2,5, j'ai remarqué l'inconvénient de ne pas pouvoir localiser les sources ponctuelles de pollution par les petites particules. La plupart des échantillonnages effectués par les municipalités et les images satellites collectent de larges sources qui ne
Écran LCD I2C/IIC - Utilisez un écran LCD SPI vers l'écran LCD I2C à l'aide du module SPI vers IIC avec Arduino : 5 étapes
Écran LCD I2C/IIC | Utilisez un écran LCD SPI sur l'écran LCD I2C à l'aide du module SPI vers IIC avec Arduino : Salut les gars, car un SPI LCD 1602 normal a trop de fils à connecter, il est donc très difficile de l'interfacer avec arduino, mais il existe un module disponible sur le marché qui peut convertir l'affichage SPI en affichage IIC, vous n'avez donc besoin de connecter que 4 fils
Écran LCD I2C/IIC - Convertir un écran LCD SPI en écran LCD I2C : 5 étapes
Écran LCD I2C/IIC | Convertir un écran LCD SPI en écran LCD I2C : l'utilisation de l'écran lcd spi nécessite trop de connexions, ce qui est vraiment difficile à faire
Adaptateur I2c LCD de caractères (exemple de connexion I2c) : 12 étapes (avec images)
Adaptateur I2c LCD de caractères (exemple de connexion I2c) : je suis en train de créer un schéma de connexion pour un adaptateur i2c d'affichage de caractères. Vérifiez les mises à jour sur mon site. Maintenant, j'ajoute également un schéma de connexion de câblage pour utiliser la bibliothèque d'origine et non ma bibliothèque forked. pour les écrans LCD à caractères, proje forked