Índice:
Vídeo: Arduino I2C Sniffer: 4 etapas
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:38
I2C é um protocolo serial usado para comunicar um microcontrolador com periféricos externos conectados ao mesmo circuito. Cada periférico deve ter um número de identificação exclusivo chamado endereço que é usado para identificá-lo como o destinatário pretendido de uma determinada mensagem. Esses endereços são atribuídos pelo fabricante do dispositivo e na maioria das vezes não podem ser alterados. Um farejador verifica todos os endereços possíveis em busca de dispositivos conectados e relata aqueles que encontrar. Isso ajuda a identificar os chips não marcados, pois o endereço pode ser pesquisado no Google para obter mais informações sobre o chip.
Este dispositivo imita em um Arduino UNO o comportamento do script i2cdetect do Raspberry Pi, farejando todos os endereços i2c possíveis à procura de dispositivos conectados e imprimindo os resultados muito bem em uma tela LCD 16x02.
Para caber tudo na tela, as partes superior e inferior do endereço são impressas acima dos resultados, sendo a parte superior em negrito. Dois botões permitem navegar entre os endereços, mostrando 16 endereços por vez. Caso um dispositivo seja detectado, W será impresso para mostrá-lo como um endereço de escrita e R seria mostrado no caso de ser um endereço de leitura. Caso nada seja detectado naquele endereço, um hífen (-) será mostrado na tela.
Etapa 1: Materiais
Opção 1
1 x Arduino UNO
1 x 16x02 tela LCD
1x potenciômetro 10K
1x resistor de 330 ohm
3x botões de pressão
Cabos jumper
1x deslocador de nível I2C (não na imagem de materiais)
opção 2
1 x Arduino UNO
Escudo do teclado LCD (os botões do escudo não serão usados)
3x botões de pressão
Cabos jumper
1x deslocador de nível I2C (não na imagem de materiais)
A opção 2 é a que será construída porque é isso que eu tinha em mãos no momento. O deslocador de nível é uma parte importante do circuito, pois hoje em dia a maioria dos dispositivos usa lógica de 3,3 V e os 5 V do Arduino os danifica.
(Nas fotos, o material riscado não é necessário.)
Etapa 2: Circuito
O circuito é bastante simples, usando a pinagem padrão para os exemplos do Arduino para o LCD, os pinos padrão para I2C e 3 pinos sobressalentes para os botões.
Caso você use a proteção do teclado do LCD, a pinagem do LCD muda, mas isso já é considerado no código. Os botões de blindagem do teclado de LCD não são usados porque exigem um método de pesquisa analógica que quebra a compatibilidade entre os dois circuitos de implementação possíveis (blindagem e LCD autônomo)
Etapa 3: Código
Caso a proteção do teclado LCD seja usada, #define LCD_SHIELD deve ser deixado sem comentário no início do esboço. Caso contrário, comente-o para usar o primeiro diagrama.
Etapa 4: Conclusões
Para testar o código e o circuito, um chip BQ32000 RTC e um acelerômetro MMA8452Q foram usados. Como pode ser visto nas fotos, o dispositivo está detectando 4 endereços: 0x3A e 0xD0 como endereços de gravação e 0x3B e 0xD1 como endereços de leitura. Esses endereços correspondem aos dispositivos de teste, portanto, o código está funcionando.
Gostaria de agradecer às amáveis meninas da Beijing Makerspace, Fu Yao e Liu Xin, por me ajudarem a obter os materiais necessários para testar este projeto em tão pouco tempo.
Recomendado:
Arduino UNO Logic Sniffer: 8 etapas (com imagens)
Arduino UNO Logic Sniffer: Este projeto começou como um experimento simples. Durante minha pesquisa sobre a folha de dados do ATMEGA328P para outro projeto, encontrei algo bastante interessante. A unidade de captura de entrada Timer1. Ele permite que o microcontrolador do nosso Arduino UNO detecte um sinal
Visor LCD I2C / IIC - Use um LCD SPI para o visor LCD I2C Usando o módulo SPI para IIC com Arduino: 5 etapas
Visor LCD I2C / IIC | Use um LCD SPI para o Display LCD I2C Usando o Módulo SPI para IIC com Arduino: Oi pessoal, já que um LCD SPI 1602 normal tem muitos fios para conectar, então é muito difícil fazer a interface com o arduino, mas há um módulo disponível no mercado que pode converter a exibição SPI em exibição IIC, então você precisa conectar apenas 4 fios
Visor LCD I2C / IIC - Converter um SPI LCD para o display I2C LCD: 5 etapas
Visor LCD I2C / IIC | Converter um LCD SPI para o display LCD I2C: usar o display LCD spi precisa de muitas conexões para fazer, o que é realmente difícil de fazer, então encontrei um módulo que pode converter o LCD i2c para o LCD spi, então vamos começar
Snorkel Sniffer: 4 etapas
Snorkel Sniffer: As portas foram fechadas durante o voo e, assim como em muitos outros voos semelhantes, uma sonolência avassaladora te domina. Enquanto estávamos cansados, fui acordado por uma mulher que gritava "ajude-o!" " ajude-o !!!! " "
Adaptador LCD I2c de caracteres (exemplo de conexão I2c): 12 etapas (com imagens)
Adaptador I2c de LCD de caracteres (exemplo de conexão I2c): Estou fazendo um esquema de conexão para um adaptador i2c de exibição de caracteres. Verifique as atualizações em meu site. Agora adiciono também um esquema de conexão de fiação para usar a biblioteca original, não minha biblioteca bifurcada. para as telas de LCD de caracteres, proje