BusOut
Tento program mění barvu RGB LED diody pomocí funkce BusOut
. Barevný model RGB neboli červená-zelená-modrá je aditivní způsob míchání barev používaný v barevných monitorech a projektorech.
Použitý hardware
IODA
3x100Ω rezistor
RGB LED
nepájivé kontaktní pole
Schéma zapojení

Funkce
RGB LED (red,blue,green) je LED která mění svou barvu podle toho jaké napětí je na konkrétních pinech.

Code
Ve funkci void loop ()
se mění napětí na pinech(Y01-Y03) a tím i barva RGB LED .
/** BusOut
* in this example we shows how to change coulour of RGB LED.
*/
#include "byzance.h" // Include libraries for IODA.
BusOut myleds(Y01,Y02,Y03); //The BusOut interface is used to create a number of DigitalOut pins that can be written as one value.
Serial pc(SERIAL_TX, SERIAL_RX); // Defines the comunication interface if the serial line , SPI, CAN is needen in the program.
void init(){
pc.baud(115200); // Set baud rate.
}
void loop(){
// iterate over the pins:
for(int i=0; i<16; i++) {
myleds = i;
Thread::wait(0.25);
}
}
V hlavičce programu je nutné importovat knihovny Byzance Hardware API a Mbed API. pomocí
#include "byzance.h"
Poté nasledují dva konstruktory definující objekt sériové linky a objekt bus . Objekt bus definuje několik pinů najednou .
Serial pc(SERIAL_TX, SERIAL_RX);
BusOut myleds(Y01,Y02,Y03); //The BusOut interface is used to create a number of DigitalOut pins that can be written as one value.
Při každém spuštění programu se nejprve provede funkce init(), která primárně slouží k inicializaci všech objektů a proměnných.V tomto programu pouze inicializujeme rychlost sériové linky.
void init(){ // The init routine runs only once on the begin of the program
pc.baud(115200); // Set baud rate.
}
V hlavní smyčce loop() se měn napětí na pinech pomocí funkce for po 25ms .
void loop(){
// iterate over the pins:
for(int i=0; i<16; i++) {
myleds = i;
Thread::wait(25);
}
}
Last updated