Alterando a cor do LED RGB (Parte 11/13)

Alterando a cor do LED RGB (Parte 11/13)

Alterando a cor do LED RGB

RESUMO
Nesta série conduzimos vários experimentos, dos quais o anterior estava relacionado a LEDs dançantes. Agora vamos fazer mais alguns experimentos e ver até onde podemos estender a onda cerebral.
Anteriormente, mudamos o Brilho do LED usando os valores de Atenção e Meditação. Os resultados foram bons e conseguimos perceber a variação na forma de brilho. Embora não tenhamos obtido uma variação muito clara, também realizamos um experimento semelhante usando o motor e alteramos a velocidade do motor. Agora vamos tentar mais uma experiência desse tipo e desta vez vamos mudar a cor do Led RGB. Além disso, anteriormente usamos ondas de atenção/meditação de e metros; desta vez usaremos algumas ondas cerebrais para controlar a cor.
Imagem mostrando mudança de cor do LED RGB por Brainwave
Fig. 1: Imagem mostrando mudança de cor do LED RGB por Brainwave
DESCRIÇÃO
LEDs RGB são LEDs coloridos que podem mudar de cor dependendo da entrada. Esses LEDs também são controlados pela onda PWM. Muitas das coisas que funcionam em variações podem ser controladas por PWM. Portanto, neste artigo aplicaremos uma LED RGB na frente do pino enquanto altera os valores.
Imagem mostrando mudança de cor do LED RGB por Brainwave
Fig. 2: Imagem mostrando mudança de cor do LED RGB por Brainwave
Imagem mostrando mudança de cor do LED RGB por Brainwave
Fig. 3: Imagem mostrando mudança de cor do LED RGB por Brainwave
Imagem mostrando mudança de cor do LED RGB por Brainwave
Fig. 4: Imagem mostrando mudança de cor do LED RGB por Brainwave
Pegaremos os sinais do Sensor Mindflex e depois extrairemos os valores do sinal desejado. Assim que obtivermos o valor, mapearemos o valor de 0 a 255. Também vimos anteriormente os cálculos de PWM.
Diagrama de blocos do trocador de cores RGB baseado em módulo de ondas cerebrais
Fig. 5: Diagrama de blocos do trocador de cores RGB baseado no módulo de ondas cerebrais
Hardware: Encontre o diagrama de circuito anexo das conexões que precisam ser estabelecidas. Pegamos um pino do pino T do sensor mindflex e conectamos esse pino ao pino Rx do nosso Arduino UNO. Além disso, causamos um curto-circuito no aterramento do Sensor e do UNO por um fio. Tome especial cuidado ao soldar qualquer coisa ao sensor Mindflex, pois os pinos estão muito próximos uns dos outros. Depois disso um LED é conectado ao PIN 9, por onde são enviados os sinais PWM.
Programas: Vamos para a parte do software. Temos recebido os valores do medidor E do sensor para nosso arduino via pino T. Depois de recebermos o valor em qualquer ponto específico, só precisamos converter esse nível de valor para o brilho do LED. Conforme discutido anteriormente, usaremos técnicas PWM. PWM no arduino é feito por analogWrite.
Por exemplo:
AnalogWrite(13.240);
AnalogWrite no Arduino é usado para escrever onda PWM em um pino. No exemplo acima, o primeiro parâmetro é o número PIN e o segundo é o valor PIN. Então, estamos escrevendo 240 no pino 13. Agora podemos calcular facilmente a tensão analógica no valor 240. A faixa total de tensão é de 0 V a 5 V e a faixa de valores é de 0 a 255.
Isso significa 240 = (5/255)*240 = ~4,70V.
Os valores que obtemos de e metros estão no intervalo de 0 a 100.
Então digamos que temos evalue = 70.
Multiplicaremos o valor de e por 2,55 para colocá-lo no intervalo de 0 a 255.
Será analogWrite(pin,evalue*2.55) em um loop.
Agora os valores que estamos obtendo estão na faixa de 0 a 999999, então mapearemos os valores na faixa de 0 a 255 para produzir os resultados acima, usando a função map do arduino.
saída = mapa(num,0,999999,0,180);
Alguns pontos a serem observados:
O sensor costuma fornecer resistência de 60 a 80% devido à sua orientação e ao local onde o colocamos. Tente manter o sensor de metal exatamente acima do olho esquerdo. Também apliquei água salgada na testa para melhor conectividade com o sensor. Se você não encontrar 100%, então é normal.
A intensidade do sinal também atrapalha a forma como soldamos o fio ao pino T. Tente blindar este fio e também certifique-se de que as pontas de prova de referência estejam conectadas corretamente. Se você tiver algum fio conectado ao pino EEG do sensor, desconecte esse fio, pois isso pode criar muito ruído nos valores do sensor.
Você também pode tentar esta experiência por conta própria e nos informar sobre seus valiosos comentários. Fique ligado em nosso próximo experimento em controlando servo motor através de ondas cerebrais.

Código-fonte do projeto

###

//Program to 

#incluir
// Configure o analisador cerebral, passe a ele o objeto serial de hardware que você deseja ouvir. Cérebro (Serial); //char a(400); Sequência a,a1; int v = 0; int z=0,saída; uint32_t num=0; uint32_t num1=0; configuração vazia { // Inicia a serial do hardware. Serial.begin(9600); pinMode(9, SAÍDA); } loop vazio { // Espere pacotes cerca de uma vez por segundo. // A função .readCSV retorna uma string (bem, char*) listando os dados cerebrais mais recentes, no seguinte formato: // "força do sinal, atenção, meditação, delta, teta, alfa baixo, alfa alto, beta baixo, beta alto, gama baixa, gama alta" se (cérebro.update ) { // Serial.println(brain.readErrors ); //Serial.println(brain.readCSV ); //sprintf(a, "%c",brain.readCSV ); a = cérebro.readCSV ; v = a.indexOf(','); v = a.indexOf(',',v+1); v = a.indexOf(',',v+1); v = a.indexOf(',',v+1); z = a.indexOf(',',v+1); a1 = a.substring(v+1,z); num = a1.toInt ; v = a.indexOf(',',z+1); a = a.substring(z+1,v); num1 = a.toInt ; //Serial.println(num); Serial.println(num1); analogWrite(9,saída) //brain.readCSV .toCharArray(a,200); } }

###

Diagramas de circuito

Circuito-Diagrama-Cérebro-Onda-Módulo-RGB-Color-Changer

Conteúdo Relacionado

Voltar para o blog

Deixe um comentário

Os comentários precisam ser aprovados antes da publicação.