Tabla de contenido:

Prototipo de caja de resonancia Arduino-Raspberry Pi: 9 pasos (con imágenes)
Prototipo de caja de resonancia Arduino-Raspberry Pi: 9 pasos (con imágenes)

Video: Prototipo de caja de resonancia Arduino-Raspberry Pi: 9 pasos (con imágenes)

Video: Prototipo de caja de resonancia Arduino-Raspberry Pi: 9 pasos (con imágenes)
Video: TOP 15 Proyectos con Arduino 2022 2024, Noviembre
Anonim
Prototipo de caja de resonancia Arduino-Raspberry Pi
Prototipo de caja de resonancia Arduino-Raspberry Pi

La caja de resonancia prototipo creada con un Arduino y Raspberry Pi está destinada a ser una forma sencilla de reproducir 4 sonidos o ruidos diferentes mientras se tiene la opción de cambiar conjuntos de sonidos con una perilla y mostrar el conjunto de sonidos actual con una pantalla LCD.

* Tenga en cuenta: El código del proyecto está completo en un 99%, pero no es funcional.

La Raspberry Pi controla la pantalla LCD de 16x2 y el codificador rotatorio mientras que el Arduino lee las entradas analógicas de las resistencias sensibles a la fuerza (FSR) y envía una señal al Arduino para reproducir un sonido. Ambos nunca habíamos usado un Arduino o Pi antes de esta clase, pero nuestro profesor nos brindó todas las herramientas y la guía necesarias para codificar y construir fácilmente este proyecto. TinkerCad, una herramienta de modelado 3D en línea gratuita de AutoDesk, se utilizó para modelar nuestro proyecto.

La parte más difícil del proyecto fue encontrar una manera de hacer que Arduino y Raspberry Pi se comunicaran con la comunicación en serie. Originalmente solo queríamos usar el Pi para la totalidad del proyecto, pero necesitábamos el Arduino para leer la señal analógica de los FSR. Pudimos enviar fácilmente líneas de palabras o números desde el Arduino y mostrarlo en el Pi, pero el problema fue cuando intentamos leer esos valores en Python e implementarlos en declaraciones de condición para procesarlos.

Habilidades requeridas

  • Comprensión simple de C / C ++ para la codificación Arduino
  • Comprensión simple de Python para la codificación de Raspberry Pi
  • Conocimiento sobre cómo se conecta una placa de pruebas
  • Habilidades básicas de modelado 3D
  • Un deseo de aprender y expandir la programación, el cableado y la construcción de algo un poco ordenado.

Lista de

1 x frambuesa Pi 3

1 x Elegoo Uno o Arduino Uno

1 x placa de pruebas de corbata 830

1 x placa de conexión GPIO (RSP-GPIO)

1 x cable de cinta para placa de conexión

4 x resistencias sensibles a la fuerza pequeña

1 x pantalla LCD básica de 16x2 caracteres

1 x módulo codificador rotatorio

24 x cables macho a hembra

10 x cables macho a macho

4 resistencias de 10k

1 potenciómetro de 10k

1 x rodillera de espuma de jardín (tienda de dólar)

Paso 1: prueba el FSR con Arduino

Pruebe el FSR con Arduino
Pruebe el FSR con Arduino

Primero decidimos probar el FSR con Arduino. Los FSR envían una señal analógica y, por lo tanto, tuvimos que usar un Arduino ya que el Pi no recibe analógico sin otros circuitos. Queríamos probar los umbrales para asegurarnos de que las prensas estuvieran a una buena presión. Descubrimos que era alrededor de 150 de un total de 1000. El trazador serial en el IDE de Arduino fue muy útil para este paso.

Paso 2: Dibuje los planos para la pizarra

Dibujar los planos para la pizarra
Dibujar los planos para la pizarra
Dibujar los planos para la pizarra
Dibujar los planos para la pizarra

Luego elaboramos y medimos los planos del tablero. Queríamos tener 4 pads para reproducir sonidos, un punto para una pantalla LCD para mostrar el grupo de sonido actual y un codificador rotatorio para cambiar el grupo de sonido.

Paso 3: Modele la placa en TinkerCad

Modele el tablero en TinkerCad
Modele el tablero en TinkerCad
Modele el tablero en TinkerCad
Modele el tablero en TinkerCad
Modele el tablero en TinkerCad
Modele el tablero en TinkerCad

Una vez elaborados los planos, modelamos el tablero en un sitio web de modelado 3D gratuito en línea llamado TinkerCad de Autodesk. Lo recomendamos encarecidamente para aquellos de ustedes que no quieran gastar toneladas de dinero en un gran software de modelado 3D, ya que es fácil de usar, está basado en la nube y tiene soporte completo para la impresión 3D.

Una vez modelado, tuvimos que dividirlo en 2 piezas para que quepa en la impresora. Se imprimió muy bien, pero mi error fue no dimensionar muy bien la ranura de la pantalla LCD (¡no cometa ese error!). Hemos subido los archivos. STL del lado izquierdo y derecho si desea verlos.

Paso 4: prueba la pantalla LCD

Pruebe la pantalla LCD
Pruebe la pantalla LCD

Ya habíamos usado la pantalla en el Arduino y fue muy fácil de configurar. Sin embargo, fue más difícil ejecutarlo con Pi. Con varias horas de resolución de problemas en Google y jugando con los cables, finalmente lo hicimos funcionar. Consulte el código Python final al final para ver cómo funcionó. Usamos un par de sitios web para ayudarnos a conectarlo y escribir el código.

learn.adafruit.com/drive-a-16x2-lcd-direct…

www.raspberrypi-spy.co.uk/2012/07/16x2-lcd…

Paso 5: pruebe el codificador rotatorio con la pantalla LCD

Pruebe el codificador rotatorio con la pantalla LCD
Pruebe el codificador rotatorio con la pantalla LCD

Luego queríamos ver si podíamos hacer que la pantalla LCD cambiara su texto cuando se giraba el codificador. El codificador no tiene una cantidad determinada de ángulos o rotaciones, por lo que en el código contamos cuántas veces se giró en el sentido de las agujas del reloj o en el sentido contrario a las agujas del reloj y lo hicimos contar hasta 3. Si pasaba, volvería a 0, y si bajara por debajo de 0, volvería a subir a 3. Esos números se pueden configurar para la cantidad de conjuntos de sonidos que desee, pero solo terminamos probando un conjunto de sonidos. Asegúrese de que sus sonidos estén en la misma carpeta / ubicación donde se ejecuta el código principal de Python.

Paso 6: ensamble la placa

Ensamblar el tablero
Ensamblar el tablero
Ensamblar el tablero
Ensamblar el tablero
Ensamblar el tablero
Ensamblar el tablero

Los FSR se deslizan debajo de las cuatro ranuras diferentes. Los centramos y los pegamos con cinta adhesiva. Recomendamos cinta adhesiva o incluso pegar porque la cinta adhesiva simple era terrible para adherirse al material impreso en 3D. Después de un viaje rápido a la tienda del dólar, encontramos una rodillera de jardín suave pero blanda que podíamos cortar en cuatro piezas para usar como botones para el tablero. Los cortamos para que pudieran caber cómodamente en sus lugares para que pudieran permanecer en su lugar, pero también se pueden quitar fácilmente si es necesario.

Paso 7: Conéctelo todo

Conéctelo todo
Conéctelo todo
Conéctelo todo
Conéctelo todo

Después de ensamblar la placa y colocar los FSR, el codificador y la pantalla en su lugar, conectamos todo. Podrías usar 2 placas de prueba, pero pudimos colocar todo en una. La imagen parece un desastre, pero hicimos un diagrama esquemático en un programa gratuito llamado Fritzing. Tenga en cuenta que puede cambiar los pines a los que desea adjuntar todo, pero el diagrama se corresponde con nuestro código.

Paso 8: Termine de codificar TODO

Esta fue la parte complicada. Como se indicó en la introducción, no pudimos completar esta parte. El código está en un 99%, pero la única parte que no funcionó fue la comunicación en serie de Arduino a Pi. Podríamos enviar la información fácilmente cuando conectamos el Arduino al Pi con el cable USB, pero el Pi no pudo hacer nada más que mostrar esa información en la pantalla. Queríamos poder decir qué botón se presionó y hacer que se reprodujera un sonido específico, pero los datos que venían a través de la comunicación no se podían poner en una declaración de condición para probar qué botón se presionó.

Consulte el código adjunto, se han comentado notas en el código Python para Pi. El código Arduino debe ser 100%.

Paso 9: concluir

Concluir
Concluir

En general, este proyecto fue una experiencia de aprendizaje ENORME para nosotros dos y esperamos que este artículo pueda brindar a los futuros estudiantes, maestros o aficionados un poco de inspiración para su propio proyecto y guiarlos aprendiendo de nuestros errores. ¡Grite a nuestro increíble profesor de robótica que ayudó inmensamente durante nuestro tiempo en clase y nos dio la oportunidad de divertirnos un montón y aprender mucho en una clase de COMP de último año! Gracias por leer:)

Recomendado: