Índice:
- Etapa 1: Como funciona o I2c
- Passo 2:
- Etapa 3: uso
- Etapa 4: Leia o valor
- Etapa 5: Leia Vale do Canal
- Etapa 6: escrever o valor
- Etapa 7: recursos adicionais
- Etapa 8: Diagrama de conexão de exemplos
- Etapa 9: Obrigado
Vídeo: PCF8591 (Expansor de E / S analógica i2c) Uso rápido e fácil: 9 etapas
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:38
Biblioteca para usar i2c pcf8591 IC com arduino e esp8266.
Este IC pode controlar (até 4) a entrada analógica e / ou 1 saída analógica como medir a tensão, ler o valor do termistor ou atenuar um LED.
Pode ler o valor analógico e escrever o valor analógico com apenas 2 fios (perfeito para ESP-01).
Tento simplificar o uso deste IC, com um conjunto mínimo de operação.
Você pode encontrar a versão atualizada em meu site
Etapa 1: Como funciona o I2c
O I2C trabalha com seus dois fios, o SDA (linha de dados) e o SCL (linha do relógio).
Ambas as linhas têm dreno aberto, mas são puxadas para cima com resistores.
Normalmente, há um mestre e um ou vários escravos na linha, embora possa haver vários mestres, mas falaremos sobre isso mais tarde.
Tanto mestres quanto escravos podem transmitir ou receber dados, portanto, um dispositivo pode estar em um destes quatro estados: mestre transmitir, mestre receber, escravo transmitir, escravo receber.
Passo 2:
Você pode encontrar minha biblioteca aqui.
Baixar.
Clique no botão DOWNLOADS no canto superior direito, renomeie a pasta descompactada PCF8591.
Verifique se a pasta PCF8591 contém PCF8591.cpp e PCF8591.h.
Coloque a pasta de biblioteca PCF8591 em sua pasta / libraries /.
Você pode precisar criar a subpasta de bibliotecas se for sua primeira biblioteca.
Reinicie o IDE.
Etapa 3: uso
Construtor: você deve passar o endereço de i2c (para verificar o endereço use este guia I2cScanner)
PCF8591 (endereço uint8_t);
para esp8266 se você quiser especificar SDA e SCL pin use isto:
PCF8591 (endereço uint8_t, uint8_t sda, uint8_t scl);
Etapa 4: Leia o valor
Como você pode ver na imagem, o IC tem 4 entradas analógicas e 1 saída analógica.
Portanto, para ler todas as entradas analógicas em uma transmissão, você pode fazer (o valor é de 0 a 255):
PCF8591:: AnalogInput ai = pcf8591.analogReadAll ();
Serial.print (ai.ain0); Serial.print ("-"); Serial.print (ai.ain1); Serial.print ("-"); Serial.print (ai.ain2); Serial.print ("-"); Serial.println (ai.ain3);
se você quiser ler uma única entrada ou canal analógico:
int ana = pcf8591.analogRead (AIN0); // leia 0 analógico
Etapa 5: Leia Vale do Canal
Este IC tem vários tipos de leitura e você pode usar entrada analógica ou canal analógico (quando você usa entrada analógica de leitura única e o canal está nas fotos).
Por exemplo, para ler o valor do canal 0 em Duas entradas diferenciais, você deve fazer:
int ana = pcf8591.analogRead (CHANNEL0, TWO_DIFFERENTIAL_INPUT); // leia 0 analógico
Etapa 6: escrever o valor
Se você quiser escrever um valor analógico, você deve fazer (o valor é de 0 a 255):
pcf8591.analogWrite (128);
Etapa 7: recursos adicionais
O recurso adicional é ler uma tensão de gravação: Para o cálculo da tensão você deve passar algum parâmetro:
- microcontrollerReferenceVoltage: obter a tensão da tensão do microcontrolador (apenas AVR não esp8266 para esp 3.3v fixo)
- referenceVoltage: se microcontrollerReferenceVoltage false tome este valor Os comandos são:
void voltageWrite (valor flutuante, bool microcontrollerReferenceVoltage = true, float referenceVoltage = 5,0);
float voltageRead (uint8_t analogPin, bool microcontrollerReferenceVoltage = true, float referenceVoltage = 5,0);
Um exemplo é:
pcf8591.voltageWrite (2.7); // Saída de 2,7 Volts
atraso (3000);
float ana0V = pcf8591.voltageRead (AIN0); // Lê a tensão do analógico 0
Serial.println (ana0V);
Etapa 8: Diagrama de conexão de exemplos
Etapa 9: Obrigado
série de projetos i2c (coleção):
- Sensor de temperatura e umidade
- Expansor analógico
- Expansor digital
- Tela de LCD
Recomendado:
Raspberry Pi - PCA9536 Tutorial em Python do expansor de entrada / saída: 4 etapas
Raspberry Pi - Expansor de entrada / saída PCA9536 Python Tutorial: O PCA9536 é um dispositivo CMOS de 8 pinos que fornece 4 bits de expansão de entrada / saída paralela de uso geral (GPIO) para aplicações de barramento I2C / SMBus. Consiste em um registro de configuração de 4 bits para servir ao propósito de seleção de entrada ou saída, 4 bits
DHT12 (sensor de temperatura e umidade i2c barato), uso rápido e fácil: 14 etapas
DHT12 (sensor de temperatura e umidade i2c barato), uso rápido e fácil: Você pode encontrar atualizações e outras no meu site https://www.mischianti.org/2019/01/01/dht12-library-en/. Gosto do sensor que pode ser usado com 2 fios (protocolo i2c), mas eu adoro o barato. Esta é uma biblioteca Arduino e esp8266 para a série DHT12 o
Raspberry Pi - Tutorial de Java do expansor de entrada / saída PCA9536: 4 etapas
Raspberry Pi - Expansor de entrada / saída PCA9536 Tutorial Java: O PCA9536 é um dispositivo CMOS de 8 pinos que fornece 4 bits de expansão de entrada / saída paralela de uso geral (GPIO) para aplicativos de barramento I2C / SMBus. Consiste em um registro de configuração de 4 bits para servir ao propósito de seleção de entrada ou saída, 4 bits
DIY MusiLED, LEDs sincronizados com música com aplicativos Windows e Linux de um clique (32 e 64 bits). Fácil de recriar, fácil de usar, fácil de transportar: 3 etapas
DIY MusiLED, LEDs sincronizados com música com aplicativos Windows e Linux de um clique (32 e 64 bits). Fácil de recriar, fácil de usar, fácil de transportar: Este projeto irá ajudá-lo a conectar 18 LEDs (6 vermelho + 6 azul + 6 amarelo) à sua placa Arduino e analisar os sinais em tempo real da placa de som do seu computador e retransmiti-los para os LEDs para iluminá-los de acordo com os efeitos da batida (caixa, chapéu alto, chute)
Como deixar seu computador mais rápido e mais rápido !: 5 etapas
Como deixar o seu computador mais rápido e mais rápido !: Instruções fáceis de seguir sobre como acelerar facilmente o seu computador