Conversor de nível lógico entre 3.3V e 5V com 4 canais.
Este tipo de conversores permite fazer a ligação por uart, spi e i2c entre dispositivos que trabalham a 3.3V e 5V.
Este conversor de nível lógico é util por exemplo na ligação entre o Arduino e o Raspberry Pi. Como o seu uso fica garantido que nunca chega 5V ao Pi que o danificavam.
O meu conversor é igual ao da imagem. Pelo que pesquisei na net, nao percebi se todos os canais são bidirecionais. Por isso, na ligação I2C do Arduino com o Raspberry Pi B joguei pelo seguro, com a unica informação disponivel, e usei o esquema de pinos abaixo em que apenas os canais exteriores são bi-direcionais.
No entanto, acho que este conversor lógico tem todos os canais bi-direcionais.
Programa de teste
logic_level_test_v1
#define serialSpeed 115200 #define PIN1 11 #define PIN2 12 #define TIME1 2000 #define TIME2 3000 unsigned long timer1; unsigned long timer2; bool state1 = false; bool state2 = false; void setup() { Serial.begin(serialSpeed); pinMode(PIN1, OUTPUT); pinMode(PIN2, OUTPUT); timer1 = millis() + TIME1; timer2 = millis() + TIME2; } void loop() { if(millis() > timer1) { timer1 = millis() + TIME1; state1 = !state1; digitalWrite(PIN1, state1); } if(millis() > timer2) { timer2 = millis() + TIME2; state2 = !state2; digitalWrite(PIN2, state1); } }
O programa acima permite testar as saidas para os 3.3V com um multimetro.
Links
https://www.arduinoecia.com.br/2015/11/conversor-de-nivel-logico-33-5v-Arduino.html