KY-011/KY-029
2 color LED module

ultimo aggiornamento 23 gennaio 2019


 

Indice

Descrizione

Il modulo KY-011 2 color LED module fa 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Ω
 

homotix

PCBA

 

Foto del modulo

 

KY-011 2 color LED module KY-29 2 color LED module

 

Circuito elettrico modulo

Schema realizzato con EasyEDA: Un servizio per il disegno di circuiti e la loro simulazione, progettazione e produzione di PCB. Provalo è gratuito!

Schema di collegamento base del modulo con Arduino

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

 

Pin Modulo Pin Arduino
- GND
 pin centrale- Led rosso D12
pin laterale - Led verde D11

Sketch di prova

Sketch di prova del modulo, il programma accende ciclicamente il led rosso e verde con una pausa di un secondo

 


test_code_KY-011.ino

 

/*####################################################################
  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
}

Test con Multi Test Shield

Componenti utilizzati

 

 

Multi test Shield

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.

Posizionamento del modulo sullo Shield

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.

Schema equivalente

 

Sketch di prova

Sketch di prova ON/OFF

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.

 

 

 

 


shield_test_code_KY-011.ino

 

*####################################################################
  FILE: shield_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.
  #################################################################### */

// 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


// 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.println("");
  display.setTextColor(CYAN);
  display.print("   Test ON/OFF");
  delay (200);
}

void loop()
{
  display.fillRect(0, 45, 96, 15, BLACK);
  display.setCursor(0, 45);
  display.setTextColor(RED);
  display.print("   Led ROSSO");
  delay (200);
  digitalWrite (redpin, HIGH); // Accende led rosso
  digitalWrite (greenpin, LOW); // Spegne led verde
  delay (1000); // Pausa di 1 secondo

  display.fillRect(0, 45, 96, 15, BLACK);
  display.setCursor(0, 45);
  display.setTextColor(GREEN);
  display.print("   Led VERDE");
  delay (200);
  digitalWrite (redpin, LOW); // Spegne led rosso
  digitalWrite (greenpin, HIGH); // Accende led verde
  delay (1000); // Pausa di 1 secondo
}

 

 

Sketch di prova PWM

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.

 


shield_test_code_KY-011_pwm.ino

 

/*####################################################################
  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

09/11/2018

Emissione preliminare
Private Policy Cookie Policy