Il modulo
KY-011 2 color LED modulefa parte della serie "37
In 1 Sensor Module Board Set Kit For Arduino", su PCB è montato un
led bicolore (rosso/verde) del tipo a tre terminali a catodo comune
negativo comune al centro, collegando il positivo al pin di destra o di sinistra
cambia colore.
L-93WEGW led
bi-colore 3 pin catodo comune
Il modulo è analogo al modulo
KY-029 Yin Yi 2-color LED
module 3mm dal quale differisce solo per la dimensione del led che nel primo
ha un diametro di 5 mm, mentre nel secondo è di 3mm.
Il
pilotaggio può essere del tipo ON/OFF oppure tramite un segnale PWM sui piedini di controllo si può regolare l'intensità
luminosa.
Led rosso
Luminosità: 500-700 mcd
Tensione di lavoro led rosso: 1,9-2,3V
Corrente assorbita= 20mA
Led verde
Luminosità: 450-650 mcd
Tensione di lavoro led verde: 2-2,4V
Corrente assorbita= 20mA
Sul
modulo non sono presenti le resistenze di limitazione che dovranno essere
aggiunte esternamente, il loro valore andrà calcolato in base alla tensione dei
alimentazione.
Considerando un valore Vf [typ]= 2,0-2,5V e un valore di corrente If= 20mA si
ottiene:
Per
microcontroller che utilizzano ARM CPU-Core come il Raspberry Pi oppure per Wemos D1 mini
Rf (3,3V) [Green]= 120Ω
Rf (3,3V) [Red]= 120Ω
Per
microcontroller che utilizzano Atmel Atmega come Arduino
Rf (5V) [Green] = 220Ω
Rf (5V) [Red] = 220Ω
Lo schema base di collegamento del modulo prevede l'utilizzo di una basetta breadboard,
su cui si monteranno due resistenze da 220Ω e si effettueranno i collegamenti
seguendo le indicazioni della tabella sottostante
/*####################################################################
FILE: test_code_KY-011.ino
VERSION: 1.0
Descrizione: Programma per test modulo
KY-011/KY-029 2 color LED module
Creato il 07/11/2018 da Adriano Gandolfo
Sito web http://www.adrirobot.it
Blog http://it.emcelettronica.com/author/adrirobot
Pagina Facebook https://www.facebook.com/Adrirobot-318949048122955
Istagram https://www.instagram.com/adrirobot/
This example code is in the public domain.
#################################################################### */
#define greenpin 5 // seleziona il pin per il LED verde
#define redpin 6 // seleziona il pin per il LED rosso
void setup() {
pinMode(greenpin, OUTPUT);
pinMode(redpin, OUTPUT);
}
void loop()
{
digitalWrite (redpin, HIGH); // Accende led rosso
digitalWrite (greenpin, LOW); // Spegne led verde
delay (1000); // Pausa di 1 secondo
digitalWrite (redpin, LOW); // Spegne led rosso
digitalWrite (greenpin, HIGH); // Accende led verde
delay (1000); // Pausa di 1 secondo
}
Il Multi Test Shield è uno shield auto
costruito realizzato per testare la serie di sensori
contenuti nella confezione "37
in 1 Sensor Module Board Set" compatibile con la scheda Arduino UNO R3 originale e
relativi cloni.
Sulla scheda sono disponibili molti connettori che risultano già opportunamente
collegati con le porte digitali o analogiche di Arduino.
In realtà, la scheda, oltre ai sensori presenti nel kit "37 in 1 Sensor
Module Board Set" permette di testare altri sensori, servo, ecc per un
totale di oltre 50 tipi, la presenza di un connettore bus I2C espande
ulteriormente la tipologia di dispositivi che lo shield permette.
Sulla scheda è anche presente un connettore per il
collegamento di un piccolo display OLED da 0.95"risoluzione
96x64 pixel, 65536 Colori, su di esso potranno essere mostrati dei
messaggio o i valori misurati dai sensori.
Per l'utilizzo occorrerà semplicemente posizionare il
modulo sul connettore JP6, facendo riferimento a quanto riportato sul PCB. In
questo modo i pin del modulo risulteranno automaticamente collegati ai relativi
pin: S a GND, il centrale a D6 e - a D5.
Sketch di prova del modulo tramite il Multi test
shield, il programma accende
ciclicamente il led rosso e verde con una pausa di un secondo, mostrando sul
display OLED le varie fasi del programma.
Sketch di prova del modulo tramite il Multi test
shield, il programma tramite un ciclo for, accende i due LED
che avranno diversi valori PWM. mescolando la luminosità dei diversi LED, si
otterranno colori diversi.
/*####################################################################
FILE: shield_test_code_KY-011_pwm.ino
VERSION: 1.0
Descrizione: Programma per test modulo
KY-011/KY-029 2 color LED module
Creato il 07/11/2018 da Adriano Gandolfo
Sito web http://www.adrirobot.it
Blog http://it.emcelettronica.com/author/adrirobot
Pagina Facebook https://www.facebook.com/Adrirobot-318949048122955
Istagram https://www.instagram.com/adrirobot/
This example code is in the public domain.
#################################################################### */
// Definizione dei pin di collegamento
#define sclk 13
#define mosi 11
#define cs 10
#define rst 9
#define dc 8
#define greenpin 5 // seleziona il pin per il LED verde
#define redpin 6 // seleziona il pin per il LED rosso
int val;
// Definizione dei colori
#define BLACK 0x0000
#define BLUE 0x001F
#define RED 0xF800
#define GREEN 0x07E0
#define CYAN 0x07FF
#define MAGENTA 0xF81F
#define YELLOW 0xFFE0
#define WHITE 0xFFFF
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1331.h>
#include <SPI.h>
Adafruit_SSD1331 display = Adafruit_SSD1331(cs, dc, rst);
void setup() {
Serial.begin(9600);
display.begin();
pinMode(greenpin, OUTPUT);
pinMode(redpin, OUTPUT);
// Messaggio iniziale
display.fillScreen(BLACK);
display.setTextSize(1);
display.setTextColor(BLUE);
display.setRotation(2); //Ruota display
display.setCursor(0, 0);
display.println("www.adrirobot.it");
display.println("");
display.setTextColor(GREEN);
display.println("Multitest shield");
display.println("");
display.println(" TEST FOR ");
display.println(" 37 IN 1 SENSOR ");
delay(2000);
display.fillScreen(BLACK);
display.setTextColor(YELLOW);
display.setCursor(0, 0);
display.println(" TEST MODULI ");
display.println("");
display.println("KY-011 E KY-029 ");
display.fillRect(0, 30, 64, 15, BLACK);
display.setCursor(0, 30);
display.setTextColor(CYAN);
display.print("Test segnale PWM");
delay (200);
}
void loop () {
// In questo ciclo for, i due LED avranno diversi valori PWM.
// Mescolando la luminosità dei diversi LED, si otterranno colori diversi.
for (val = 255; val > 0; val--)
{
analogWrite (greenpin, val);
analogWrite (redpin, 255 - val);
delay (15);
}
// Nuovo ciclo con inversione dei colori.
for (val = 0; val < 255; val++)
{
analogWrite (greenpin, val);
analogWrite (redpin, 255 - val);
delay (15);
}
}
Elenco
revisioni:
23/01/2019
Aggiornato pagina, inserito test con Multitest shield