Módulos Arduino y Raspberry Pi

Séptima parte

KY-031: Módulo Sensor de golpe


Descripción:

Cuando detecta vibraciones o golpes, los dos contactos de entrada se cierran enviando una señal HIGH o 1 al pin S. Contiene una resistencia pull-up de 10KΩ.

Esquemático:

Conexión Arduino:

Código Arduino:

int Led = 13 ;
int Sensor = 3;
int val;
   
void setup ()
{
  pinMode (Led, OUTPUT) ;
  pinMode (Sensor, INPUT) ; 
}
   
void loop ()
{
  val = digitalRead (Sensor) ; 
   
  if (val == HIGH)
  {
    digitalWrite (Led, LOW);
  }
  else
  {
    digitalWrite (Led, HIGH);
  }
}

Conexión Raspberry Pi:

Código Raspberry Pi:

import RPi.GPIO as GPIO
import time
   
GPIO.setmode(GPIO.BCM)

GPIO_PIN = 24
GPIO.setup(GPIO_PIN, GPIO.IN)
   
print("Sensor-Test [press ctrl+c to end]")

def funcionDetectar(null):
        print("Señal detectada")
GPIO.add_event_detect(GPIO_PIN, GPIO.FALLING, callback=funcionDetectar, bouncetime=100)

try:
        while True:
                time.sleep(1)
   
except KeyboardInterrupt:
        GPIO.cleanup()

Para correr el programa abrimos terminal y tecleamos:

  • sudo python ky-031.py

KY-032: Módulo Sensor de obstáculos


Descripción:

Contiene un diodo emisor y uno receptor que devuelve una señal, cuando detecta un obstáculo dentro de su rango de medición entre 2 y 40 centímetros. Este módulo dispone de 4 pines, lo que le permite habilitar o deshabilitar la detección.

  • Tensión de alimentación: 3.3V-5V
  • Consumo: ≥ 20mA
  • Rango de operación: -10 ℃ – +50 ℃
  • Distancia de detección :2-40cm
  • Señales: (GND / VCC/ OUT / EN)
  • Señal OUT: Nivel bajo hay un obstáculo.
  • Ángulo de medición: 35°

Conexión Arduino:

Código Arduino:

int Sensor = 10; 
   
void setup ()
{
  Serial.begin(9600);
  pinMode (Sensor, INPUT) ;
}
   
void loop ()
{
  bool val = digitalRead (Sensor) ;
   
  if (val == HIGH)
  {
    Serial.println("Sin obstaculos");
  }
  else
  {
    Serial.println("Obstaculo detectado");
  }
  Serial.println("------------------------------------");
  delay(500);
}

Conexión Raspberry Pi:

Código Raspberry Pi:

import RPi.GPIO as GPIO
import time

GPIO.setmode(GPIO.BCM)

GPIO_PIN = 24
GPIO.setup(GPIO_PIN, GPIO.IN, pull_up_down = GPIO.PUD_UP)

delayTime = 0.5

print("Sensor-Test [press ctrl+c to end]")

try:
while True:
if GPIO.input(GPIO_PIN) == True:
print("Sin obstaculo")
else:
print("Obstaculo detectado")

time.sleep(delayTime)

except KeyboardInterrupt:
GPIO.cleanup()

Para correr el programa abrimos terminal y tecleamos:

  • sudo python ky-032.py

KY-033: Módulo Sigue líneas


Descripción:

Mediante sus fototransistrores, detecta si la luz es reflejada o absorbida. Está basado en el sensor reflectivo TCRT5000:

Datasheet:

https://www.vishay.com/docs/83760/tcrt5000.pdf

Conexión Arduino:

Código Arduino:

int Sensor = 3;
   
void setup ()
{
  Serial.begin(9600);
  pinMode (Sensor, INPUT) ;
}
   
void loop ()
{
  bool val = digitalRead (Sensor) ;
   
  if (val == HIGH)
  {
    Serial.println("Esta en la linea");
  }
  else
  {
    Serial.println("No esta en la linea");
  }
  
  delay(500);
}

Conexión Raspberry Pi:

Código Raspberry Pi:

import RPi.GPIO as GPIO
import time

GPIO.setmode(GPIO.BCM)

GPIO_PIN = 24
GPIO.setup(GPIO_PIN, GPIO.IN, pull_up_down = GPIO.PUD_UP)

delayTime = 0.5

print("Sensor-Test [press ctrl+c to end]")

try:
while True:
if GPIO.input(GPIO_PIN) == True:
print("Esta en la línea")
else:
print("No esta en la línea")

time.sleep(delayTime)

except KeyboardInterrupt:
GPIO.cleanup()

Para correr el programa abrimos terminal y tecleamos:

  • sudo python ky-033.py

KY-034: Módulo Led THT 5mm Flash de 7 colores

Descripción:

Posee un LED THT de 5 mm que genera 7 colores con parpadeo flash. Posee una resistencia de 330Ω.

  • Voltaje de funcionamiento: 5V
  • Tipo de Producto: LED
  • Modelo del producto: YB-3120B4PnYG-PM
  • Forma: Redondo Tipo de LED DIP 5mm
  • Grupo de colores: verde amarillo rosa (alto brillo).
  • Tipo de lente: niebla blanca
  • Voltaje estandar:3.0 – 4 .5V

Esquemático:


Conexión Arduino:

Código Arduino:

int Led = 13;
 
void setup ()
{
  pinMode (Led, OUTPUT);
}
 
void loop ()
{
  digitalWrite (Led, HIGH);
  delay (4000);
  digitalWrite (Led, LOW);
  delay (2000);
}

Conexión Raspberry Pi:

Código Raspberry Pi:

import RPi.GPIO as GPIO
import time

GPIO.setmode(GPIO.BCM)

LED_PIN = 24
GPIO.setup(LED_PIN, GPIO.OUT, initial= GPIO.LOW)

print("LED-Test [press ctrl+c to end]")

try:
while True:
print("LED encendido por 4 segundos")
GPIO.output(LED_PIN,GPIO.HIGH)
time.sleep(4)
print("LED apagado por 2 segundos") 
GPIO.output(LED_PIN,GPIO.LOW)
time.sleep(2)

except KeyboardInterrupt:
GPIO.cleanup()

Para correr el programa abrimos terminal y tecleamos:

  • sudo python ky-034.py

KY-035: Módulo sensor magnético análogico Bihor

Descripción:

Posee un sensor líneal de efecto hall de Honeywell SS49E. Bajo consumo, 6mA a 5 V.

Datasheet:

https://drive.google.com/file/d/0B8Jv2iO7fU_0VWRwdU43X2NweUk/view

Conexión Arduino:


Código Arduino:

int sensorPin = A3;

void setup()
{
    Serial.begin(9600);
}
 
void loop()
{      
    int rawValue = analogRead(sensorPin);
    float voltage = rawValue * (5.0/1023) * 1000; 
    float resitance = 10000 * ( voltage / ( 5000.0 - voltage) );
  
    Serial.print("Voltage:");   Serial.print(voltage); Serial.print("mV");
    Serial.print(", Resistance:"); Serial.print(resitance); Serial.println("Ohm");
    Serial.println("---------------------------------------");
 
    delay(500);
}

Conexión Raspberry Pi:

Código Raspberry Pi:

from Adafruit_ADS1x15 import ADS1x15
from time import sleep

import time, signal, sys, os
import RPi.GPIO as GPIO
GPIO.setmode(GPIO.BCM)
GPIO.setwarnings(False)

delayTime = 0.5

ADS1115 = 0x01  # 16-bit

gain = 4096  # +/- 4.096V

sps = 64

adc_channel_0 = 0
adc_channel_1 = 1
adc_channel_2 = 2
adc_channel_3 = 3

adc = ADS1x15(ic=ADS1115)

try:
        while True:
                adc0 = adc.readADCSingleEnded(adc_channel_0, gain, sps)
                adc1 = adc.readADCSingleEnded(adc_channel_1, gain, sps)
                adc2 = adc.readADCSingleEnded(adc_channel_2, gain, sps)
                adc3 = adc.readADCSingleEnded(adc_channel_3, gain, sps)
 
                print ("Channel 0:", adc0, "mV ")
                print ("Channel 1:", adc1, "mV ")
                print ("Channel 2:", adc2, "mV ")
                print ("Channel 3:", adc3, "mV ")
 
                time.sleep(delayTime)

except KeyboardInterrupt:
        GPIO.cleanup()

Para correr el programa abrimos terminal y tecleamos:

  • sudo python ky-035.py

Gracias por leer Makers!

Podes leer los demás artículos en los siguientes enlaces:

Primera Parte

Segunda Parte

Tercera Parte

Cuarta Parte

Quinta Parte

Sexta Parte

Unete a la Comunidad y mirá o escribe tus propios tutoriales, como nuestros Makers Amigos

Saludos Luciano

ElectroMercado

    3 Comentarios
    1. Juani10
      Juani10 8 meses

      Hola, ¿ el sensor detecta un vidrio de plástico sin color? (vidrio mate o blanco que se puede ver a través) ¿podría también detectar metal?

      1+
      • Luciano
        Luciano 8 meses

        Te referís al sigue líneas? detecta el cambio de luz reflejado, estarías filtrando el reflejo, seria cuestión de probar, pero no creo al ser vidrio.Detectar metal el bihor? es un sensor analogo lineal de efecto hall, detecta campo magnetico.

        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