#include <SoftwareSerial.h>
SoftwareSerial BTSerial(8, 9);
int bluPin = 6;
int verdePin = 5;
int rossoPin = 3;
int x;
void setup(){
pinMode(rossoPin, OUTPUT);
pinMode(verdePin, OUTPUT);
pinMode(bluPin, OUTPUT);
Serial.begin(38400);
BTSerial.begin(38400);
while(!Serial) {}
}
void loop(){
if (BTSerial.available()){
char oke = BTSerial.read();
Serial.write(oke);
if (oke == 'b') {
analogWrite(bluPin, 255); //blu
}
if (oke == 'z') {
analogWrite(bluPin, 0);
}
if (oke == 'r') {
analogWrite(rossoPin, 255); //rosso
}
if (oke == 'z') {
analogWrite(rossoPin, 0);
}
if (oke == 'g') {
analogWrite(verdePin, 255); //verde
}
if (oke == 'z') {
analogWrite(verdePin, 0);
}
if (oke == 'w') {
analogWrite(bluPin, 255); //bianco
analogWrite(rossoPin, 255);
analogWrite(verdePin, 255);
}
if (oke == 'z') {
analogWrite(bluPin, 0);
analogWrite(rossoPin, 0);
analogWrite(verdePin, 0);
}
if (oke == 'a') {
analogWrite(rossoPin, 255);
analogWrite(verdePin, 40); //arancione
}
if (oke == 'z') {
analogWrite(verdePin, 0);
analogWrite(rossoPin, 0);
}
if (oke == 'y') {
analogWrite(rossoPin, 255);
analogWrite(verdePin, 150); //giallo
}
if (oke == 'z') {
analogWrite(verdePin, 0);
analogWrite(rossoPin, 0);
}
if (oke == 'v') {
analogWrite(rossoPin, 140);
analogWrite(bluPin, 250); //viola
}
if (oke == 'z') {
analogWrite(rossoPin, 0);
analogWrite(bluPin, 0);
}
if (oke == 'c') {
analogWrite(verdePin, 255);
analogWrite(bluPin, 255); //ciano
}
if (oke == 'z') {
analogWrite(verdePin, 0);
analogWrite(bluPin, 0);
}
if (oke == 'm') {
analogWrite(rossoPin, 255);
analogWrite(bluPin, 80); //magenta
}
if (oke == 'z') {
analogWrite(rossoPin, 0);
analogWrite(bluPin, 0);
}
if (oke == 's') {
while(x < 1000){
for(int i = 0; i < 256; i++){ //for il ciclo che esegue Arduino, si sceglie di usare 256 che corrisponde alla massima tensione che Arduino riesce ad applicare(circa 5V) in PWM.
rgb(255-i, i, 0); //rgb Arduino riconosce che si riferisce ai 16 milioni di colori replicabili dai led RGB(255x255x255 massima tensione che si pu applicare ad ogni pin)
delay(10); // semplice delay (che tradotto dall'inglese il ritardo di una cosa) che se diminuito si vedono meno colori e ci saranno luci pi fastidiose e intense, se si d pi delay il contrario di quanto precedentemente descritto
}
for(int i = 0; i < 256; i++){
//for il ciclo che esegue Arduino, si sceglie di usare 256 che corrisponde alla massima tensione che Arduino riesce ad applicare(circa 5V) in PWM.
rgb(0, 255-i, i); //rgb Arduino riconosce che si riferisce ai 16 milioni di colori replicabili dai led RGB(255x255x255 massima tensione che si pu applicare ad ogni pin)
delay(10); // semplice delay (che tradotto dall'inglese il ritardo di una cosa) che se diminuito si vedono meno colori e ci saranno luci pi fastidiose e intense, se si d pi delay il contrario di quanto precedentemente descritto
}
for(int i = 0; i < 256; i++){ //for il ciclo che esegue Arduino, si sceglie di usare 256 che corrisponde alla massima tensione che Arduino riesce ad applicare(circa 5V) in PWM.
rgb(i, 0, 255-i); //rgb Arduino riconosce che si riferisce ai 16 milioni di colori replicabili dai led RGB(255x255x255 massima tensione che si pu applicare ad ogni pin)
delay(10); // semplice delay (che tradotto dall'inglese il ritardo di una cosa) che se diminuito si vedono meno colori e ci saranno luci pi fastidiose e intense, se si d pi delay il contrario di quanto precedentemente descritto
}
x = x + 1;
}
}
}
}
void rgb(int rosso, int verde, int blu){
analogWrite(rossoPin, rosso);
analogWrite(verdePin, verde);
analogWrite(bluPin, blu);
}
Comments