Taula de continguts:

Consola de mà amb controladors i sensors sense fils (Arduino MEGA i UNO): 10 passos (amb imatges)
Consola de mà amb controladors i sensors sense fils (Arduino MEGA i UNO): 10 passos (amb imatges)

Vídeo: Consola de mà amb controladors i sensors sense fils (Arduino MEGA i UNO): 10 passos (amb imatges)

Vídeo: Consola de mà amb controladors i sensors sense fils (Arduino MEGA i UNO): 10 passos (amb imatges)
Vídeo: ✅ Programas para controlar su CNC (GRBL, Arduino, Universal Gcode Sender) #8a 2024, Desembre
Anonim
Image
Image
Connecteu la pantalla (tàctil)
Connecteu la pantalla (tàctil)

El que vaig fer servir

- Arduino MEGA

- 2x Arduino UNO

- Pantalla tàctil Adafruit 3,5 TFT 320x480 HXD8357D

- Zumbador

Altaveu de 3 Ohm de 4 W.

- Llums LED de 5 mm

- Impressora Ultimaker 2+ amb filament PLA negre

- Lasercutter amb fusta MDF

- Pintura en aerosol negre (per a la fusta)

- 3x nRF24L01 + Transceptors sense fils

- Botó 2x 16mm

- 2x Sensors de pressió

- Suports de bateria de 3x 9V

- Taula de pa

- Pantalles O2 I2C de 2x 0,96"

- Filferro mascle - femella

- Solderstation

- Super Glue

- 2x mòdul tàctil d'un canal (VERMELL / BLAU)

Pas 1: connecteu la pantalla (tàctil)

Connecteu la pantalla (tàctil)
Connecteu la pantalla (tàctil)
Connecteu la pantalla (tàctil)
Connecteu la pantalla (tàctil)

Per tant, farem d’aquesta una consola de mà, amb dos controladors sense fils.

Per tant, tindrem una unitat principal (la part més gran, amb la pantalla LCD)

La unitat principal s’executarà amb l’Arduino MEGA.

Els dos controladors independents executaran cadascun un Arduino UNO.

Més endavant farem que els Arduinos es comuniquin entre ells per enviar dades del controlador.

Comenceu per connectar correctament la pantalla de 320x480 a la vostra unitat de pantalla principal (Arduino MEGA), com en aquest tutorial. (Adafruit té un gran tutorial detallat per al cablejat i el codi).

Per al so, he connectat un brunzidor i un altaveu de 3W 4Ohm per separar els pins digitals i el GND.

amb el to (pin, freqüència, durada); Podeu crear sons monofònics bàsics.

Pas 2: familiaritzeu-vos amb les biblioteques

Familiaritzeu-vos amb les biblioteques
Familiaritzeu-vos amb les biblioteques
Familiaritzeu-vos amb les biblioteques
Familiaritzeu-vos amb les biblioteques

La pantalla Adafruit 320x480 admet les llibreries Adafruit_GFX i Adafruit_TFTLCD corresponents.

Llegiu la documentació. Crec que s’explica una mica bé allà.

Assegureu-vos que introduïu la configuració correcta a l'IDE Arduino:

Eines -> Tauler -> Arduino / Genuino MEGA o MEGA 2560

Eines -> Port -> [El port amb '' Arduino MEGA '' en ell]

Aquesta biblioteca de pantalla concreta admet fonts personalitzades, formes bàsiques i una gran varietat de colors.

Alguna cosa destacable podria ser que la freqüència d’actualització és massa baixa per a una animació fluida. Si voleu actualitzar la pantalla cada marca, serà massa lent per poder tornar a dibuixar cada píxel i parpellejarà

Per tant, suggeriria treballar de manera creativa al voltant d’això, com la manera en què alguns dels dispositius de mà antics gestionaven l’animació: amb fotogrames clau. Menys és més! I en lloc de tornar a dibuixar-ho tot cada segon, si voleu moure un rectangle cap a l’esquerra o cap a la dreta, només podeu esborrar el rastre que deixa enrere, en lloc d’esborrar tot l’objecte i tornar-lo a dibuixar.

Per exemple, he utilitzat el parpelleig de la pantalla com a efecte de parpelleig del personatge de la seqüència d'introducció.

A la biblioteca Adafruit_GFX he utilitzat principalment tft.fillRect (x, y, amplada, alçada, color); i tft.print (text); funcions.

L’experimentació és fonamental.

Pas 3: Dissenyeu una interfície gràfica d'usuari / menú principal

Dissenyeu una interfície gràfica d'usuari / menú principal
Dissenyeu una interfície gràfica d'usuari / menú principal
Dissenyeu una interfície gràfica d'usuari / menú principal
Dissenyeu una interfície gràfica d'usuari / menú principal

Després d’obtenir coneixement a la biblioteca i conèixer-ne les limitacions / potències, podeu començar a dissenyar una pantalla del menú principal.

De nou, penseu en els rectangles. Com a mínim això és el que vaig fer.

Aquí teniu el meu codi per a la interfície d’usuari

pastebin.com/ubggvcqK

Podeu crear barres lliscants per a la brillantor de la pantalla, per controlar el pin "Lite" de la pantalla tàctil Adafruit, mitjançant un pin analògic.

Pas 4: connecteu els dos controladors

Connecteu els dos controladors
Connecteu els dos controladors
Connecteu els dos controladors
Connecteu els dos controladors
Connecteu els dos controladors
Connecteu els dos controladors

Per a la part del controlador, en realitat depèn de vosaltres quin tipus de sensors voleu utilitzar, en funció del joc que vulgueu fer

D'acord, així que per als controladors vaig decidir utilitzar:

- Un sensor de pressió

- Una pantalla OLED

- Mòdul tàctil d’un canal que s’activa o desactiva

- Sensor de gestos (RobotDyn APDS9960)

- Transceptor nRFL01 + (per a comunicació sense fils)

- Un polsador

Nota: El sensor de gest i l'OLED utilitzen connexions SCL / SDA. Vaig trigar una mica a adonar-me que Arduino només en té dos: A4 i A5. Però només podeu connectar-los paral·lelament a la taula de treball i funcionarà bé

Pas 5: Inicieu el cablejat de la connexió sense fils

Inicieu el cablejat de la connexió sense fils
Inicieu el cablejat de la connexió sense fils
Inicieu el cablejat de la connexió sense fils
Inicieu el cablejat de la connexió sense fils
Inicieu el cablejat de la connexió sense fils
Inicieu el cablejat de la connexió sense fils

El cablejat dels mòduls nRF24L01 + em va portar una mica de temps, perquè funcionés.

Vaig haver de recórrer a la biblioteca TMRh20 RF24, després de no haver pogut transmetre a la pantalla les dades del sensor adequades.

Per tal que diversos Arduinos es comuniquin entre nosaltres, hem d’assegurar-nos que almenys una de les ONU estigui alimentada, així com el MEGA.

Utilitzeu la consola sèrie de MEGA per imprimir els resultats que obteniu de l’ONU i veure si funciona.

Aquí teniu el codi

Aquí teniu la biblioteca

Pas 6: aneu salvatge! Proveu diverses coses

Sigues salvatge! Proveu diverses coses
Sigues salvatge! Proveu diverses coses

Una part crucial del meu procés de desenvolupament va ser provar moltes coses.

Quin tipus de botons voleu utilitzar?

Què poseu als controladors?

Mireu els vostres llocs web, hi trobareu molts components a més dels botons habituals "A / B" o joysticks analògics. Inspirar-se i motivar-se per provar-ho.

Un cop tingueu una idea clara i funcional del que voleu posar als controladors, connecteu els components.

Depenent de com funcionin, haureu d’utilitzar entrades digitals o entrades analògiques.

NOTA: És possible que alguns components necessitin pins SCL / SDA per funcionar correctament. I si teniu dos o més sensors ambdós que necessiten el mateix, probablement obtindreu un atac de pànic com jo. Però no us heu de preocupar

Podeu posar els pins SDA i SCL dels sensors entre si, passant a A4 i A5 i funcionarà

Pas 7: disseny

Disseny
Disseny
Disseny
Disseny
Disseny
Disseny

Un cop tingueu una idea genial dels sensors que voleu utilitzar, dibuixeu algunes idees per al disseny que us agradi.

Després, introduïu-vos en alguns programes de modelatge com Blender, Maya i Cinema 4D.

He utilitzat Blender per crear un model (aproximat).

Per obtenir mesures clares a Blender, podeu canviar la unitat de la mida de la quadrícula a mil·límetres.

Després de fer un model, assegureu-vos que no teniu vèrtexs dobles i que hàgiu recalculat els vostres valors normals.

Exporteu el fitxer com a.stl, si voleu utilitzar una impressora 3D com jo.

NOTA: A Blender, haureu d’establir l’escala d’exportació a 0,1 si voleu la mida exacta a Cura al pas següent

Pas 8: Impressió 3D del recinte

Impressió 3D del recinte
Impressió 3D del recinte
Impressió 3D del recinte
Impressió 3D del recinte
Impressió 3D del recinte
Impressió 3D del recinte

Aquest model es va imprimir amb filament PLA negre de 2,85 mm en una impressora Ultimaker 2+.

Descarregueu CURA

Carregueu el fitxer. STL a Cura i us mostrarà quant de temps trigareu.

Per a una funda de mà, pot trigar fins a 10 hores a imprimir-se, segons la mida.

No obstant això, per als models amb pocs detalls podeu accelerar el procés, que és el que vaig fer.

Aquí teniu la meva configuració:

Alçada de la capa: 0,2

Gruix de la paret: 0,8

Gruix superior / inferior: 0,8

Broquet: 0,4

Temperatura: 60 graus centígrads

Cabal: 100%

Bord: a qualsevol lloc que toqui la placa de construcció

Densitat d'ompliment: 20%

Gradual: 0

Temperatura del broquet: 220 C

Velocitat d'impressió: 120%

Pas 9: soldar i finalitzar

Soldadura i finalització
Soldadura i finalització
Soldadura i finalització
Soldadura i finalització
Soldadura i finalització
Soldadura i finalització

Heu recorregut un llarg camí.

El darrer pas és adquirir un tauler de perfords / veroboard i traduir les vostres connexions de taulers de treball a una part d’una placa de prototipatge.

Assegureu-vos que l’electrònica s’adapti a l’interior dels recintes impresos i, tal vegada, talleu una mica de MDF de fusta per fer que hi entrin els botons / entrades del controlador.

Per a això vaig fer servir un trencaclosques.

El més important és cargolar, provar coses que mai no havíeu fet d’altra manera i divertir-vos.

Espero que aquest tutorial sigui prou clar … Va ser un projecte força difícil, que va donar un gran resultat!:)

Pas 10: previsualització

Recomanat: