ky-051_bb

KY-051: Convertidor de tensión Bi-Direccional(Cambiador de Nivel)


Descripción:

Este cambiador de nivel modula la tensión de una señal digital hacía una más grande o una más baja, posee 4 canales que pueden ser modulados.

Hay muchos sistemas micro controlados que son operados en varios rangos de tensión:
Los sistemas más viejos, como Arduino son usados 5V para sus pines de entrada/salida los sistemas nuevos como la Raspberry Pi son usados 3.3V. Antiguamente, los micro controladores necesitaban tensiones más altas para comunicarse. Actualmente, desde que los problemas con ruidos de señal / interrupciones de señales han sido resueltos, el rango de tensión está siendo mantenido tan bajo como sea posible para reducir el calor y reducir el consumo de energía. Los sistemas con 1.8 V son inusuales en estos días.

Pero para comunicarse entre dos sistemas diferentes, como en nuestro Arduino y nuestra Raspberry Pi, tenemos que cambiar el rango de tensión, si no lo hacemos, el sistema con menor rango de tensión creará más calor y podría dañarse.

Conexión Arduino y Raspberry Pi:

Con esta placa podemos convertir:

  • 5V a 3.3V
  • 3.3V a 5V

Lo que debemos respetar es la leyenda en la placa donde nos indica que los 5V siempre se conectaran del lado VCCb y los 3.3V del lado VCCa

Conexión Raspberry Pi ↔ Arduino:


Ejemplo conexión Raspberry Pi ↔ Convertidor de Tensión ↔ KY-050 HC-SR04

Podemos observar la leyenda que indica que VCCa siempre debe ser menor que VCCb

Código Raspberry Pi:

import time
import RPi.GPIO as GPIO

GPIO.setmode(GPIO.BCM)

Trigger_Pin = 18
Echo_Pin    = 3
 
sleeptime = 0.8

GPIO.setup(Trigger_Pin, GPIO.OUT)
GPIO.setup(Echo_Pin, GPIO.IN)
GPIO.output(Trigger_Pin, False)

try:
    while True:
        GPIO.output(Trigger_Pin, True)
        time.sleep(0.00001)
        GPIO.output(Trigger_Pin, False)

        pulso_inicio = time.time()
        while GPIO.input(Echo_Pin) == 0:
            pulso_inicio = time.time() 
 
        while GPIO.input(Echo_Pin) == 1:
            pulso_fin = time.time() 

        duracion = pulso_fin - pulso_inicio
      
        distancia = (duracion * 34300) / 2
 
        if distancia < 2 or (round(distancia) > 300):
            
            print("Distancia fuera de rango")
            print("------------------------------")
        else:
            distancia = format((duracion * 34300) / 2, '.2f')
            
            print(("La distancia es de:"), distancia,("cm"))
            print("------------------------------")
 
        time.sleep(sleeptime)

except KeyboardInterrupt:
    GPIO.cleanup()

Para correr el programa abrimos Terminal y tecleamos:

  • sudo python ky-051.py

Gracias por leer DitecnoMakers!

Saludos, Luciano

views
31

ElectroMercado

    5 Comentarios
    1. peter
      peter 9 meses

      Claro, la tensión de un circuito hay que prestarle atención, sino puede afectar al mismo. Especialmente usado con algunos módulos con Raspberry en este articulo. Saludos

      1+
    2. Juani10
      Juani10 9 meses

      Hay otros módulos aparte de los que mencionas que necesiten una conversion en Raspberry ?

      1+
    3. Juani10
      Juani10 9 meses

      Del kit de los 37 sensores

      1+
    4. Luciano
      Luciano 9 meses

      No, ninguno, sino lo hubiese incluído, el Ky-050 que está fuera del kit lo necesita pero tampoco fue necesario cuando recién comence con Raspberry lo usé sin él, pero si lo dejas para un proyecto en forma permanente es la mejor opción. o una buena opción. Del kit, es más importante el ADC, conversor analógico-digital, además a éste lo reemplazas con un divisor resistivo de tensión.

      0
    5. Luciano
      Luciano 9 meses

      Al referirme a “éste” me referí al conversor de tensión.

      0

    Contesta

    CONTACTANOS

    Esta es su red social de tecnología para compartir tus ideas y proyectos .Puedes enviarnos un correo si tienes dudas.Nos vemos

    Enviando

    Inicia Sesión con tu Usuario y Contraseña

    o    

    ¿Olvidó sus datos?

    Create Account