câblage
La plus grande broche de la LED correspond à la cathode à relier à la masse
De gauche à droite
|
![]() |
| 1234 |
Programme Arduino
Le programme consiste à lire les données reçues sur la liaison série, d’en extraire les données concernant la commande des leds. Le pilotage des leds à proprement parlé s’effectue à l’aide des instructions analogWrite.
Le programme est le suivant :
#define ROUGE 3
#define GND 4
#define VERT 5
#define BLEU 6
void setup() {
// put your setup code here, to run once:
pinMode(GND, OUTPUT);
digitalWrite(GND, LOW);
Serial.begin(115200);
}
void loop() {
if (Serial.available() > 0)
{
byte valRouge = Serial.parseInt();
byte valVert = Serial.parseInt();
byte valBleu = Serial.parseInt();
while(Serial.available() > 0) Serial.read();
analogWrite(ROUGE, valRouge);
analogWrite(VERT, valVert);
analogWrite(BLEU, valBleu);
}
}
programme C#
l’application ressemble à ceci :

Le code final est le suivant :
using System;
using System.Windows.Forms;
using System.IO.Ports;
namespace pilotage_led_RVB
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
if (serialPort1.IsOpen)
{
button1.Text = "Connexion";
serialPort1.Close();
trackBar1.Enabled = false;
trackBar2.Enabled = false;
trackBar3.Enabled = false;
}
else {
button1.Text = "Déconnexion";
serialPort1.PortName = comboBox1.SelectedItem.ToString();
serialPort1.Open();
trackBar1.Enabled = true;
trackBar2.Enabled = true;
trackBar3.Enabled = true;
}
}
private void trackBar1_Scroll(object sender, EventArgs e)
{
serialPort1.WriteLine(trackBar1.Value + "/" + trackBar2.Value + "/" + trackBar3.Value);
}
private void trackBar2_Scroll(object sender, EventArgs e)
{
serialPort1.WriteLine(trackBar1.Value + "/" + trackBar2.Value + "/" + trackBar3.Value);
}
private void trackBar3_Scroll(object sender, EventArgs e)
{
serialPort1.WriteLine(trackBar1.Value + "/" + trackBar2.Value + "/" + trackBar3.Value);
}
private void Form1_Load(object sender, EventArgs e)
{
String[] ports = SerialPort.GetPortNames();
foreach (var port in ports)
{
comboBox1.Items.Add(port);
}
}
}
}


