La liste des connexions est visible ici :
Programmation avec l'IDE propre à Arduino en C++
Aujourd'hui j'ai mis en route une carte nano avec une led RGB.
Matériel nécessaire : un arduino nano, un module RGB, 4 fils, un bout de papier.
const int ledRouge = 11;
const int ledVerte = 10;
const int ledBleue = 9;
void setup()
{
pinMode(ledRouge, OUTPUT);
pinMode(ledVerte, OUTPUT);
pinMode(ledBleue, OUTPUT);
}
void loop()
{
analogWrite(ledRouge,0);
analogWrite(ledVerte,0);
analogWrite(ledBleue,0);
analogWrite(9+random(3), 255-random(155));
delay(50);
}
Aujourd'hui j'ai mis en route une carte nano avec un mini écran OLED : ECRAN OLED I2C 128X64.
Matériel nécessaire : un arduino nano, un écran, 4 fils.
On utilise le port I²C (les ports A4(SDA) et A5(SDL) du nano)
#include < SPI.h >
#include < Wire.h >
#include < Adafruit_GFX.h >
#include < Adafruit_SSD1306.h >
// OLED display width and height, in pixels
#define SCREEN_WIDTH 128
#define SCREEN_HEIGHT 64
// Declaration for an SSD1306 display
// connected to I2C (SDA, SCL pins)
#define OLED_RESET -1 // (-1 Arduino reset pin)
Adafruit_SSD1306 display(
SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET);
void setup() {
Serial.begin(9600);
// Address 0x3D for 128x64
display.begin(SSD1306_SWITCHCAPVCC, 0x3C);
display.clearDisplay();
delay(2000); // Pause for 2 seconds
testdrawstyles();
}
void loop() {
}
void testdrawstyles(void) {
display.clearDisplay();
display.setTextSize(1); // Normal 1:1 pixel scale
display.setTextColor(WHITE); // Draw white text
display.setCursor(0,0); // Start at top-left corner
display.println("Hello, world!");
display.println("");
display.setTextSize(4); // Draw 4X-scale text
display.setTextColor(WHITE);
display.println("YES!");
display.display();
delay(2000);
}
Lien vers le code arduino du projet.
Le port I²C fonctionne en parallèle, on peut donc brancher plusieurs capteurs dessus pourvus qu'ils aient des adresses différentes.
Récupérer une carte arduino UNO, un shield grove et un écran Grove-LCD-RGB-Backlight et tenter de faire apparaître un message.
#include < Wire.h >
#include "rgb_lcd.h"
rgb_lcd lcd;
void setup() {
lcd.begin(16, 2);
lcd.setRGB(255, 0, 0);
lcd.print("hello, world!");
}
void loop() { }
1. Copiez le code sur votre Arduino.
2. Téléversez le code sur votre Arduino.
3. Ouvrez le site Web https://ledmatrix-editor.arduino.cc/.
4. Cliquez sur le petit logo avec un Arduino en haut de la page.
5. Cliquez sur "I’VE UPLOADED THE SKETCH".
6. Cliquez sur "TRY".
7. Sélectionnez votre Arduino (en haut à gauche de l'écran). Si vous ne le voyez pas, essayez de débrancher et de rebrancher l'USB.
8. Cliquez sur "Verbinding maken".
9. Dessinez ce que vous souhaitez dans les cases au milieu de l'écran et cela apparaîtra sur votre Arduino.
#include "Arduino_LED_Matrix.h"
ArduinoLEDMatrix matrix;
void setup() {
Serial.begin(115200);
matrix.begin();
}
uint32_t frame[] = {
0, 0, 0, 0xFFFF
};
void loop() {
if(Serial.available() >= 12){
frame[0] = Serial.read() | Serial.read() << 8 | Serial.read() << 16 | Serial.read() << 24;
frame[1] = Serial.read() | Serial.read() << 8 | Serial.read() << 16 | Serial.read() << 24;
frame[2] = Serial.read() | Serial.read() << 8 | Serial.read() << 16 | Serial.read() << 24;
matrix.loadFrame(frame);
}
}
#include "Arduino_LED_Matrix.h"
ArduinoLEDMatrix matrix;
void setup() {
Serial.begin(115200);
matrix.begin();
}
const uint32_t animation[][4] = {
{ 0x1b, 0x2482081, 0x100a0040, 66 },
{ 0x20071b, 0x22482081, 0x100a0040, 66 },
{ 0x1b03f, 0x864c60c3, 0x181b0040, 66 },
{ 0x400e005b, 0x2482081, 0x100a0040, 66 },
{ 0x1b, 0x2482085, 0x10ea0440, 66 } };
void loop(){
for (int i=0;i<5;i++)
{ matrix.loadFrame(animation[i]); delay(200); }
}