/*#include <Adafruit_NeoPixel.h>
#include <Adafruit_NeoMatrix.h>
#define PIN 4 //Pino de entrada no fita de leds
#define NUMPIXELS 150 //Quantidde de pixels
#define FALHA 21 // Chave de falha
#define LINHAS 15
#define COLUNAS 10
//Cria um pixel
Adafruit_NeoPixel np1p = Adafruit_NeoPixel(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800); //np1p pode ser tocado por outra palavra, por exemplo LED
//Cria um Matriz
Adafruit_NeoMatrix matriz = Adafruit_NeoMatrix(COLUNAS, LINHAS, PIN,
NEO_MATRIX_TOP + NEO_MATRIX_LEFT + NEO_MATRIX_ZIGZAG,
NEO_GRB + NEO_KHZ800);
/*
void setup_OFF4()
{
pinMode(FALHA, INPUT_PULLUP);
//Inicializa a serial
Serial.begin(9600);
//Initicializa a bilbioteca NeoPixel
np1p.begin();
//Limpa a cor
np1p.fill(0x000000, 0, 150); //Cor, Primeiro, Quantidade
//Atualiza o pixel
np1p.show();
//Escreve uma cor
//np1p.setPixelColor(0, 0xAA, 0x0F, 0xF0); //RGB
//np1p.setPixelColor(1, 0xAA, 0x0F, 0xF0); //RGB
//np1p.setPixelColor(2, 0xAA, 0x0F, 0xF0); //RGB
}
void loop_off8()
{
//Atualiza o pixel
np1p.setPixelColor(0, 0xFF, 0x00, 0x00); //RGB - Vermelho
np1p.setPixelColor(1, 0x00, 0x00, 0x00); //RGB - Apagado
np1p.setPixelColor(2, 0x00, 0x00, 0x00); //RGB - Apagado
np1p.show();
delay(2000);
np1p.setPixelColor(0, 0x00, 0x00, 0x00); //RGB - Apagado
np1p.setPixelColor(1, 0x00, 0x00, 0x00); //RGB - Apagado
np1p.setPixelColor(2, 0x00, 0xFF, 0x00); //RGB - Verde
np1p.show();
delay(2000);
//np1p.setPixelColor(0, 0x00, 0x00, 0xFF); //RGB - Azul
np1p.setPixelColor(0, 0x00, 0x00, 0x00); //RGB - Apagado
np1p.setPixelColor(1, 0xFF, 0xFF, 0x00); //RGB - Amarelo
np1p.setPixelColor(2, 0x000000); //RGB - Apagado
np1p.show();
delay(1000);
while(digitalRead(FALHA)){
np1p.setPixelColor(0, 0x00, 0x00, 0x00); //RGB - Apagado
np1p.setPixelColor(1, 0xFF, 0xFF, 0x00); //RGB - Amarelo
np1p.setPixelColor(2, 0x00, 0x00, 0x00); //RGB - Apagado
np1p.show();
delay(500);
np1p.setPixelColor(0, 0x00, 0x00, 0x00); //RGB - Apagado
np1p.setPixelColor(1, 0x00, 0x00, 0x00); //RGB - Apagado
np1p.setPixelColor(2, 0x00, 0x00, 0x00); //RGB - Apagado
np1p.show();
delay(500);
}
Serial.println("loop");
}
void loop_off2() // codigo controle da intensidade da COR
{
int valor = analogRead(35);
Serial.println(valor);
valor = valor>>4;
np1p.setPixelColor(0, valor, 0x00, 0x00); //RGB - Apagado
np1p.setPixelColor(1, 0x00, valor, 0x00); //RGB - Apagado
np1p.setPixelColor(2, 0x00, 0x00, valor); //RGB - Apagado
np1p.show();
delay(500);
}
void loop_offf7()
{
for (int i = 0; i < 150; i=i+2)
{
np1p.setPixelColor(i,0x0000FF); //RGB
np1p.setPixelColor(i+1,0xFF0000); //RGB
np1p.show();
delay(30);
}
np1p.fill(0x000000, 0, 150); //Cor, Primeiro, Quantidade
np1p.show();
}
*/
/*
void setup()
{
pinMode(FALHA, INPUT_PULLUP);
//Inicializa a serial
Serial.begin(9600);
//Initicializa a bilbioteca NeoMatrix
matriz.begin();
//Limpa a cor
matriz.fillScreen(0x0000); //Cor, Primeiro, Quantidade
//Atualiza o pixel
matriz.show();
}
void loop()
{
matriz.drawPixel(5,2,0xFF00);
matriz.drawPixel(2,5,matriz.Color(0x00,0xFF,0xFF));
matriz.show();
delay(100);
}
*/
#include <Adafruit_NeoPixel.h>
#include <Adafruit_NeoMatrix.h>
#define PIN 4 //Pino de entrada no fita de leds
#define NUMPIXELS 150 //Quantidde de pixels
#define FALHA 21 //Chave de falha
#define LINHAS 15
#define COLUNAS 10
// Define as cores básicas
#define BLACK 0x0000
#define WHITE 0xFFFF
#define RED 0xF800
#define GREEN 0x07E0
#define BLUE 0x001F
#define YELLOW 0xFFE0
#define CYAN 0x07FF
#define MAGENTA 0xF81F
#define ORANGE 0xFC00
#define PINK 0xFBE0
#define BROWN 0xA450
#define GRAY 0x8410
#define LIGHT_GRAY 0xC618
#define DARK_GRAY 0x4208
// Define outras cores
#define MAROON 0x8000
#define OLIVE 0x8080
#define PURPLE 0x801F
#define TEAL 0x0080
#define NAVY 0x000F
#define SILVER 0xC0C0
#define GOLD 0xFFD7
#define BURGUNDY 0x803F
#define TAN 0xD2B4
#define PEACH 0xFFC0
#define SKYBLUE 0x87CE
#define PLUM 0xDD84
#define VIOLET 0x8E40
//Cria um pixel
Adafruit_NeoPixel leds = Adafruit_NeoPixel(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);
//Cria uma matriz
Adafruit_NeoMatrix matriz = Adafruit_NeoMatrix(COLUNAS, LINHAS, PIN,
NEO_MATRIX_TOP + NEO_MATRIX_LEFT + NEO_MATRIX_ZIGZAG,
NEO_GRB + NEO_KHZ800 );
void setup_off1()
{
pinMode(FALHA, INPUT_PULLUP);
//Inicializa a serial
Serial.begin(9600);
//Initicializa a bilbioteca NeoPixel
leds.begin();
//Limpa a cor
leds.fill(0x000000, 0, 150); //Cor, Primeiro, Quantidade
//Atualiza o pixel
leds.show();
//Escreve uma cor
//leds.setPixelColor(0, 0xAA, 0x0F, 0xF0); //RGB
//leds.setPixelColor(1, 0x00, 0xAA, 0xF0); //RGB
//leds.setPixelColor(2, 0xAA, 0x0F, 0xAA); //RGB
//leds.show();
}
void loop_off1()
{
leds.setPixelColor(0, 0xFF, 0x00, 0x00); //RGB - Vermelho
leds.setPixelColor(1, 0x00, 0x00, 0x00); //RGB - Apagado
leds.setPixelColor(2, 0x00, 0x00, 0x00); //RGB - Apagado
leds.show();
delay(2000);
leds.setPixelColor(0, 0x00, 0x00, 0x00); //RGB - Apagado
leds.setPixelColor(1, 0x00, 0x00, 0x00); //RGB - Apagado
leds.setPixelColor(2, 0x00, 0xFF, 0x00); //RGB - Verde
leds.show();
delay(2000);
//np1p.setPixelColor(0, 0x00, 0x00, 0xFF); //RGB - Azul
leds.setPixelColor(0, 0x00, 0x00, 0x00); //RGB - Apagado
leds.setPixelColor(1, 0xFF, 0xFF, 0x00); //RGB - Amarelo
leds.setPixelColor(2, 0x000000); //RGB - Apagado
leds.show();
delay(1000);
while(digitalRead(FALHA))
{
leds.setPixelColor(0, 0x00, 0x00, 0x00); //RGB - Apagado
leds.setPixelColor(1, 0xFF, 0xFF, 0x00); //RGB - Amarelo
leds.setPixelColor(2, 0x00, 0x00, 0x00); //RGB - Apagado
leds.show();
delay(500);
leds.setPixelColor(0, 0x00, 0x00, 0x00); //RGB - Apagado
leds.setPixelColor(1, 0x00, 0x00, 0x00); //RGB - Apagado
leds.setPixelColor(2, 0x00, 0x00, 0x00); //RGB - Apagado
leds.show();
delay(500);
}
Serial.println("loop");
}
void loop_off2()
{
int valor = analogRead(35);
Serial.println(valor);
leds.setPixelColor(0, valor, 0x00, 0x00); //RGB - Vermelho
leds.setPixelColor(1, 0x00, valor, 0x00); //RGB - Verde
leds.setPixelColor(2, 0x00, 0x00, valor); //RGB - Azul
leds.show();
delay(20);
}
void loop_off3()
{
for(int i = 0; i < 150; i=i+2)
{
leds.setPixelColor(i, 0x0000FF); //RGB
leds.setPixelColor(i+1, 0xFF0000); //RGB
leds.show();
delay(30);
}
leds.fill(0x000000, 0, 150); //Cor, Primeiro, Quantidade
leds.show();
}
void setup()
{
pinMode(FALHA, INPUT_PULLUP);
//Inicializa a serial
Serial.begin(9600);
//Initicializa a bilbioteca NeoMatrix
matriz.begin();
//Limpa a cor
matriz.fillScreen(0x0000); //Cor
//Atualiza o pixel
matriz.show();
}
void loop()
{
//matriz.drawPixel(5,2,0xFF00);
//matriz.drawPixel(2,5,matriz.Color(0x00,0xFF,0xFF));
//matriz.drawPixel(3,5,ORANGE);
//matriz.show();
matriz.fillScreen(0x0000); //Cor
draw_smile();
matriz.show();
delay(100);
}
// Define a função para acender um LED
void led_on(int x, int y)
{
matriz.drawPixel(x,y,ORANGE);
}
// Define a função para apagar um LED
void led_off(int x, int y)
{
matriz.drawPixel(x,y,0x0000);
}
// Desenha o sorriso na matriz de LEDs
void draw_smile() {
int valor = analogRead(35);
Serial.println(valor);
if (valor <1300 )
{//--------------------------------------------------------------------------
//OLHOS
led_on(1,4);
led_on(2,4);
led_on(3,4);
led_on(6,4);
led_on(7,4);
led_on(8,4);
//BOCA1
led_on(2,10);
led_on(3,10);
led_on(4,10);
led_on(5,10);
led_on(6,10);
led_on(7,10);
}//--------------------------------------------------------------------------
else if (valor < 2600)
{//--------------------------------------------------------------------------
//OLHOS
led_on(1,4);
led_on(2,4);
led_on(3,4);
led_on(6,4);
led_on(7,4);
led_on(8,4);
//BOCA2
led_on(2,10);
led_on(3,10);
led_on(4,10);
led_on(5,10);
led_on(6,10);
led_on(7,10);
led_on(1,9);
led_on(8,9);
}//--------------------------------------------------------------------------
else
{//--------------------------------------------------------------------------
//OLHOS
led_on(1,4);
led_on(2,4);
led_on(3,4);
led_on(6,4);
led_on(7,4);
led_on(8,4);
//BOCA3
led_on(2,10);
led_on(3,10);
led_on(4,10);
led_on(5,10);
led_on(6,10);
led_on(7,10);
led_on(1,9);
led_on(8,9);
led_on(1,8);
led_on(8,8);
}//--------------------------------------------------------------------------
}
//Exercicio add uma entrada analogica e um potenciometro para alterar a boca, para abrir e fechar ela
//conforme variação do potenciometro