it gl en ca gl gl gl gl es gl en gl es en pt ceb it gl gl gl en es gl es pt es en gl gl gl gl gl gl gl gl es gl gl en ja gl en gl gl gl gl gl gl gl gl gl gl gl gl gl gl es es es es gl gl gl gl en gl gl gl gl gl gl lt gl it fr ast gl gl gl es gl pt pt it it es it gl gl gl gl en en en gl en en en en gl en en en en gl
Bluetooth e Arduino: Acender un led RGB – App Inventor
Imos conectar un led RGB á tarxeta Arduíno e variaremos as súas tres cores mediante Bluetooth co noso dispositivo Android.
Podes consultar previamente as seccións de Arduíno:
3 Resistencias de 560Ω, para a protección do led RGB
2 Resistencias: unha de 1kΩ e outra de 560Ω, para o divisor de tensión do BT.
Pila 9V e conector ou alimentador (opcional)
Poderíamos  conectar os pins RX e TX do bluetooth aos equivalentes de Arduíno nos pins 0 e 1 dixitais de forma cruzada (BT Tx  a Arduino Rx e BT Rx a Arduino Tx), pero desta maneira perderiamos  comunicación serie de Arduíno co PC a través do USB, xa que os pins 0 e 1 se utilizan nesta comunicación.
O que imos facer é habilitar os pins 10 e 11 de Arduíno para que funcionen como pins Rx e Tx respectivamente, e conectarémolos de forma cruzada cos pins Rx e Tx do módulo bluetooth. Deste xeito xa non sería necesario desconectar a alimentación do Bluetooth para cargar o programa no Arduíno e ademais teriamos baleiras as entradas 0 e 1 do Arduíno, para poder así realizar unha comunicación serial se o desexamos.
Para conectar o led RGB utilizamos os pins PWM 3, 5 e 6. Neste caso usamos un led RGB de cátodo común.
Con esta conexión, na programación no IDE de Arduino temos que importar a librería SoftwareSerial, que se encarga de habilitar a comunicación serie con outros pins. Esta librería vén de serie no IDE, creamos un novo obxecto serie chamado BT conectado aos pins 10 e 11:
#include   // Librería que permite establecer comunicación serie noutros pins. SoftwareSerial BT (10,11); // Indicamos que o pin 10=RX e o 11=TX. int ledred = 3 ; // Pin LED Red int ledgreen = 5 ; // Pin LED Green int ledblue = 6 ; // Pin LED Blue void setup (){ BT.begin ( 9600 ); // Velocidade do porto do módulo Bluetooth pinMode ( ledred , OUTPUT ); pinMode ( ledgreen , OUTPUT ); pinMode ( ledblue , OUTPUT ); } void loop (){ while (BT.available()>0){ // Cando haxa datos dispoñibles int red = BT.parseInt (); // Lemos o primeiro valor enteiro (Red) e almacenámolo na variable int green = BT.parseInt (); // Lemos o segundo valor enteiro (Green) e almacenámolo na variable int blue = BT.parseInt (); // Lemos o último valor enteiro (Blue) e almacenámolo na variable if (BT.read()=='\n'){ // Cando lea o carácter fin de liña ('\n') quere dicir que finalizou o envío dos tres valores analogWrite(ledred, red); // Enviamos os valores dos tres cores ao LED RGB através de PWM analogWrite(ledgreen, green); analogWrite(ledblue, blue); } } }
A aparencia da app será como mostra na seguinte figura:
Cor de fondo da pantalla: gris escuro
Selector de lista que chamaremos CONECT (o podes atopar no bloque de Interfaz de usuario)
Etiqueta co texto LED RGB
Tres Contedores horizontais que teñen no seu interior unha Etiqueta co texto da cor e un Deslizador
Un elemento ClienteBluetooth1 (o podes atopar no bloque de Conectividad)
A conexión Bluetooth depende do Selector de Lista que chamamos CONECT.
Ao inicializar a pantalla a App tomará todas as conexións Bluetooth e as listará neste elemento.
Unha vez pulsamos o selector CONECT mostraranos o listado de conexións e establecerá conexión co módulo Bluetooth conectado ao Arduino.
Unha vez conectado cambiará a cor de texto a azul.
Cada un dos tres Deslizadores realizan a mesma función, un para cada cor. Cando hai un cambio de posición en calqueira dos Deslizador, comprobamos se temos conexión Bluetooth e enviamos os valores redondeados dos Deslizadores vermello, verde e azul, separados con comas e rematando cun retorno de carro, por exemplo: 145 , 34, 210 \n
Serás quen de engadir outro Deslizador para controlar con el os outros tres para que así estean sincronizados?
Unha Pista. En App Inventor:
Cuando  [DeslizadorAgregado] Posición cambiada]ejecutar
poner [REDDeslizador] [Posición DelPulgar] a [DeslizadorAgregado] [Posición DelPulgar]
poner [GREENDeslizador] [Posición DelPulgar] a [DeslizadorAgregado] [Posición DelPulgar]
poner [BLUEDeslizador] [Posición DelPulgar] a [DeslizadorAgregado] [Posición DelPulgar]
(Lembra que programando existen varias solucións)
Na anterior práctica conectábamos o Bluetooth nas entradas dixitais (0,1) RX e TX  do Arduíno, pero nesta práctica cambiamos a conexión do Bluetooth utilizando Software Serial BT (10,11), é  dicir, que o pin 10 do Arduino é o RX e o pin 11 é o TX, de tal xeito que nos quedan baleiras as entradas TX e RX do Arduíno.
Serás quen de cambiar as conexións do Bluetooth para conectalo as entradas TX e RX do Arduíno? Lembra que na programación no IDE tes que usar a función Serial para comunicarte.
Que número estás a pensar?
Mellora o teu Xilófono
Un tour por París!
Onde está o meu coche?
App Inventor e Arduíno
Acender un led RGB
Control de un coche Arduino por Bluetooth
© 2022 App Inventor • Creado con GeneratePress
We use cookies on our website to give you the most relevant experience by remembering your preferences and repeat visits. By clicking “Accept All”, you consent to the use of ALL the cookies. However, you may visit "Cookie Settings" to provide a controlled consent.
This website uses cookies to improve your experience while you navigate through the website. Out of these, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may affect your browsing experience.
Necessary cookies are absolutely essential for the website to function properly. This category only includes cookies that ensures basic functionalities and security features of the website. These cookies do not store any personal information.
Any cookies that may not be particularly necessary for the website to function and is used specifically to collect user personal data via analytics, ads, other embedded contents are termed as non-necessary cookies. It is mandatory to procure user consent prior to running these cookies on your website.