Lo Último en IP@P
- Goblin Mine: La Estrategia Económica Detrás del Juego de Minería que está Fascinando a Todos
- Estos son los nuevos Cargadores UGREEN: potencia y portabilidad en dos versiones que no te puedes perder
- UGREEN Nexode Pro: El Cargador Ultradelgado que revoluciona la carga de dispositivos móviles
- La computación en la nube está transformando los juegos Online y estas son sus grandes ventajas
- Actualizaciones del Programa de Afiliados de TEMU: ¡Hasta MX$500,000 al mes!
Si bien se trata de dos plataformas diferentes, lo cierto es que ambas tecnologías son excelentes opciones para desarrollar cualquier proyecto del tipo DIY. Es que estos dispositivos comparten muchos aspectos positivos, son de bajo coste y fácil de programar.
Pero no tiene sentido ubicarlos en veredas opuestas siempre. Esto se debe a que pueden utilizarse en conjunto, lo cual optimiza el funcionamiento de ambos, usando los mejores aspectos de cada uno.
Si bien las placas de Arduino y Raspberry son bastantes sencillas de utilizar con cierta experiencia, usarlas en conjunto precisa de una guía como la que te ofreceremos a continuación.
¿Cuáles son los beneficios de combinar Arduino y Raspberry Pi?
Los beneficios de combinar Arduino con Raspberry Pi son varios. Solo es necesario nombrar los aspectos positivos de cada uno de ellos, ya que no se contrarrestan entre sí.
Los cuales te mostramos a continuación:
- Las dos tarjetas comparten la portabilidad de sus dimensiones. Es decir, son mucho más pequeñas y livianas que cualquier ordenador portátil.
- Aunque solo Arduino posee un hardware abierto, ambos proyectos cuentan con un software open source para controlar las placas.
- De la combinación de ambas podemos obtener una mayor potencia de cálculo, ofrecida por los microordenadores de Raspberry, con una gran versatilidad de usos como son los microcontroladores de Arduino.
- Usando ambas plataformas en conjunto, es posible prescindir de un ordenador portátil o de escritorio. Esto es porque las placas actuales de Raspberry poseen conexiones suficientes para los periféricos como teclados y monitores. Además de la posibilidad de conectarse a una red WiFi de manera integrada.
- Otra de las ventajas de usar ambas placas de forma complementaria es la cantidad de herramientas disponibles en materia de códigos de programación. Esto se debe al gran soporte y miembros de la comunidad que las utiliza en conjunto. A esto se suma el número de accesorios y proyectos ya creados para practicar e imaginar las ideas propias.
- Por su parte, las placas de Arduino brindan un mejor y más variado uso de sensores y chips. Pero, sobre todo, si recién comienzas en el mundo de la programación, Arduino IDE resulta un gran primer paso, ya que es más sencillo de utilizar que Linux.
Aprende paso a paso cómo instalar Arduino en una Raspberry Pi desde cero
Los principales elementos que necesitarás para comenzar a instalar Arduino IDE en una placa Raspberry son justamente estos. Pero además es necesario contar con un cable de datos USB y una conexión a Internet. Debes tener en cuenta que, a esto último se lo puede reemplazar con el instalador del controlador Arduino descargado en un dispositivo de almacenamiento externo.
El software necesario se encuentra en la página oficial de Arduino, por lo que tendrás que hacer este paso a paso:
- Abre tu navegador y escribe en la barra de dirección URL
https://www.arduino.cc/en/software
. A continuación, busca la opción de descarga para la versión de sistemas operativos Linux basados en procesadores ARM de 32 bits. - Una vez descargado el entorno de programación, vas a tener que conectar a través del cable USB ambas placas y hacer lo mismo con las fuentes de alimentación.
- Luego, ya desde la interfaz de Raspberry descomprimes el archivo en una nueva carpeta.
- Ejecutas en la terminal el archivo “install.sh”.
En el caso de utilizar una conexión remota a Raspberry, generalmente si no tienes un monitor dedicado, es necesario conectar la placa a través de la terminal SSH o con VNC Viewer.
Cualquiera sea el caso, ejecutas los siguientes comandos para actualizar la lista de programas del repositorio:
sudo apt-get update
sudo apt-get upgrade
A continuación, instala Arduino a través del comando y esperas a que el proceso finalice, para ello, tendrás que escribir:
sudo apt-get install arduino arduino-core
Una vez hecho esto, puedes hallar el software a través del menú “Programming”. Es momento de verificar si la instalación tanto del software como el hardware fueron correctas.
Para ello usarás el comando:
dmesg | grep ttyACM
En caso afirmativo, deberás obtener la respuesta:
ttyACM0: USB ACM device
Más en Hardware
- Proyectos Raspberry Pi ¿Cómo configuro mi Raspberry Pi como un servidor Wake on LAN? Guía paso a paso
- ¿Quién inventó la radio? ¿Fue Guillermo Marconi, Aleksandr Popov o Nikola Tesla? El verdadero origen de la radio
- ¿Cuáles son los tipos de monitores para ordenador que existen a día de hoy? Lista 2024
- Teclado ¿Qué es, para que sirve, tipos y funciones de las teclas?
- ¿Cómo arreglar un CD o disco rayado y reparar los arañazos para que vuelva a funcionar? Guía paso a paso
SÍGUENOS EN 👉 YOUTUBE TV
Solo queda comprobar el funcionamiento de ambas placas con cualquier proyecto disponible en la red, por ejemplo, puedes usar estos códigos de programación para un punto de acceso a Internet:
-apt-get install lshw lshw -C network configuration Supported interface modes: IBSS managed AP AP/VLAN WDS monitor mesh point apt-get install hostapd iface wlan0 inet static address 10.0.0.1 netmask 255.255.255.0 DAEMON_CONF="/etc/hostapd/hostapd.conf" # First we configure the interface we'll be listening on interface=wlan0 # The interface to listen on driver=nl80211 # The driver that is being used by the WiFi adapter, this could be different for everyone ctrl_interface=/var/run/hostapd ctrl_interface_group=0 # These 2 are just parameters so that the hostap daemon runs. # Now onto the important WiFi configuration ssid=RaspAP # First up, the SSID or Network name. This is what other devices will see when they try to connect. hw_mode=g # I'm setting this to Wireless G mode. A, B, and G are available here. channel=8 # This is setting the channel that the WiFi is on, valid channels are from 1-11, or 1-14 depending on location. # Wifi Security Settings wpa=2 # This sets the security settings to WPA2 wpa_psk=928519398acf811e96f5dcac68a11d6aa876140599be3dd49612e760a2aaac0e # The line above sets the wpa passphrase to "raspiwlan", this is obtained via the wpa_passphrase command. # However, you can also set a passphrase like the line below. #wpa_passphrase=raspiwlan wpa_key_mgmt=WPA-PSK wpa_pairwise=CCMP rsn_pairwise=CCMP # I've set these to WPA-PSK to indicate that we are using a Pre-Shared Key with CCMP encryption. # Otherwise, hostapd also has a built in RADIUS server that we can use for authentcation # But I'll leave that to another post. # Other settings beacon_int=100 # This sets how often the WiFi will send a beacon out. auth_algs=3 wmm_enabled=1
Lista de los mejores proyectos con Arduino y Raspberry Pi que debes conocer
Con estos proyectos lograrás independencia de un ordenador y llevarás la portabilidad a otro nivel, veamos algunos de los proyectos en los que puedes trabajar:
Octoprint.org
Se trata de un software open source que se utiliza principalmente para controlar impresoras 3D. Dicho sea de paso, la mayoría de ellas están construidas o basadas en placas Arduino. Sin embargo, las máquinas comerciales de mayor costo poseen herramientas como el manejo remoto y conexión inalámbrica que las más básicas no logran. Es por eso que añadir una placa Raspberry Pi al sistema de control es uno de los proyectos más utilizados por los makers.
Esto permite administrar las impresiones de manera inalámbrica vía web. Además de ello, es posible controlar una granja de impresoras (varias máquinas en un solo lugar) desde un solo ordenador. Raspberry ofrece la posibilidad de conectar cámaras web que monitorizan el trabajo de la línea de fabricación. Puedes encontrar los códigos y toda la información adicional necesaria en el sitio oficial de OctoPrint.
Cámara de vigilancia con sensor de movimiento
Los sistemas de seguridad del hogar suelen ser muy costosos de adquirir. Hay que sumarle a ello los gastos mensuales de mantenimiento. Pero gracias a Arduino y Raspberry es posible crear tu propio circuito de bajo coste.
Hemos visto que es posible conectar una cámara web a una placa Raspberry. También que existen adaptadores adicionales para usar varias de ellas al mismo tiempo. Pero esto resulta muy básico. ¿Qué sucede si añades un elemento que potenciará el circuito de seguridad aún más? Por ejemplo, sensores de movimiento conectados a un Arduino. De este modo puedes indicar a una cámara en específico que se active cuando detecte movimiento en cierto lugar. A su vez que envíe una señal de alerta a tu móvil cuando no te encuentres en casa.
Mira estos códigos que puedes practicar:
rom picamera import PiCamera import time import cv2 # Inicializamos la cámara con resolución 640x480 camera = PiCamera() resolution = (640, 480) framerate = 32 rawCapture = PiRGBArray(camera, size=(640, 480)) # Tiempo de espera para que la cámara arranque sleep(0.5) # Inicializamos el primer frame a vacío. # Nos servirá para obtener el fondo fondo = None # Capturamos frame a frame de la cámara for frame in camera.capture_continuous(rawCapture, format="bgr", use_video_port=True): # Obtenemos el array en formato NumPy image = frame.array # Convertimos a escala de grises gris = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY) # Aplicamos suavizado para eliminar ruido gris = cv2.GaussianBlur(gris, (21, 21), 0) # Si todavía no hemos obtenido el fondo, lo obtenemos # Será el primer frame que obtengamos if fondo is None: fondo = gris # Calculo de la diferencia entre el fondo y el frame actual resta = cv2.absdiff(fondo, gris) # Aplicamos un umbral umbral = cv2.threshold(resta, 25, 255, cv2.THRESH_BINARY)[1] # Dilatamos el umbral para tapar agujeros umbral = cv2.dilate(umbral, None, iterations=2) # Copiamos el umbral para detectar los contornos contornosimg = umbral.copy() # Buscamos contorno en la imagen contornos, hierarchy = cv2.findContours(contornosimg,cv2.RETR_TREE,cv2.CHAIN_APPROX_SIMPLE) # Recorremos todos los contornos encontrados for c in contornos: # Eliminamos los contornos más pequeños if cv2.contourArea(c) < 500: continue # Obtenemos el bounds del contorno, el rectángulo mayor que engloba al contorno (x, y, w, h) = cv2.boundingRect(c) # Dibujamos el rectángulo del bounds rectangle(image, (x, y), (x + w, y + h), (0, 255, 0), 2) # Mostramos las diferentes capturas imshow("Imagen Movimiento", image) imshow("Umbral", umbral) imshow("Resta", resta) imshow("Contornos", contornosimg) key = cv2.waitKey(1) & 0xFF # Reseteamos el archivo raw para la siguiente captura truncate(0) # Con la letra s salimos de la aplicación if key == ord("s"): break
Jostick Arduino para jugar en Raspberry Pi a través de Scratch
Se trata de una manera muy lúdica para practicar tu programación y ponerla a prueba, sobre todo si te interesan los juegos de vídeo. Gracias a Scratch que es un lenguaje de programación pensado para el desarrollo de las habilidades de este aspecto en niños y adolescentes que recién empiezan.
A través de una interfaz más didáctica y visual, es posible crear códigos sencillos y hasta juegos completos. Utilizando Raspberry Pi como la plataforma física donde correrá el juego, conectado a un joystick basado en Arduino. Debido al bajo coste de los accesorios como módulos es una gran alternativa para iniciar en este mundo.
Escribe estos códigos:
f#include <Joystick.h> #define Joystick_ joystick; void setup() { pinMode(2,INPUT_PULLUP); pinMode(3,INPUT_PULLUP); begin(); // Para usar el joystick, pines analógicos del eje X y el Y del Joystick y mediante Joystick.h void loop() { joystickDerX = analogRead(A0); joystick setRxAxis(joystickDerX); joystickDerY = analogRead(A1); joystick setRyAxis(joystickDerY); } for(int i = 2; i<=botones; i++) { if(digitalRead(i) == LOW) { pressButton(i-2); } else { releaseButton(i-2); } delay(10); }