Difference between revisions of "Expansion-Board XIAO-SAMD21 Grove-OLED"

From
Jump to: navigation, search
(Expansion Board Base)
(Expansion Board Base)
Line 1: Line 1:
 
=== Expansion Board Base ===
 
=== Expansion Board Base ===
  
RTC battery : CR1220<br>
+
RTC battery : <b>CR1220</b><br>
  
Display : 0.96" OLED<br>
+
Display : <b>0.96" OLED</b><br>
  
 
Expandable memory : MicroSD card<br>
 
Expandable memory : MicroSD card<br>

Revision as of 21:24, 13 October 2024

Expansion Board Base

RTC battery : CR1220

Display : 0.96" OLED

Expandable memory : MicroSD card

Passive buzzer
user button
5V servo connector

images

Expansion-Board 1.jpg Expansion-Board 4.jpg

Expansion-Board 8.jpg Expansion-Board 9.jpg

Expansion-Board 5.jpg

Expansion-Board 10.jpg

Liens

https://www.seeedstudio.com/Seeeduino-XIAO-Expansion-board-p-4746.html

https://wiki.seeedstudio.com/Seeeduino-XIAO-Expansion-Board/#rtc-clock-display

https://www.seeedstudio.com/Seeeduino-XIAO-Pre-Soldered-p-4747.html

Installation

code

Hello World!

#include <Arduino.h>
#include <U8x8lib.h>
#include <Wire.h>

U8X8_SSD1306_128X64_NONAME_HW_I2C u8x8(/* clock=*/ SCL, /* data=*/ SDA, /* reset=*/ U8X8_PIN_NONE);   // OLEDs without Reset of the Display

void setup(void) {
  u8x8.begin();
  u8x8.setFlipMode(1);   // set number from 1 to 3, the screen word will rotary 180
}

void loop(void) {
  u8x8.setFont(u8x8_font_chroma48medium8_r);
  u8x8.setCursor(0, 0);
  u8x8.print("Hello World!");
}

RTC clock display
uses RTC to display the clock on the OLED

#include <Arduino.h>
#include <U8x8lib.h>
#include <PCF8563.h>
PCF8563 pcf;
#include <Wire.h>

U8X8_SSD1306_128X64_NONAME_HW_I2C u8x8(/* clock=*/ SCL, /* data=*/ SDA, /* reset=*/ U8X8_PIN_NONE);   // OLEDs without Reset of the Display

void setup() {
  Serial.begin(115200);
  u8x8.begin();
  u8x8.setFlipMode(1);
  Wire.begin();
  pcf.init();//initialize the clock
  pcf.stopClock();//stop the clock
  pcf.setYear(20);//set year
  pcf.setMonth(10);//set month
  pcf.setDay(23);//set dat
  pcf.setHour(17);//set hour
  pcf.setMinut(33);//set minut
  pcf.setSecond(0);//set second
  pcf.startClock();//start the clock
}

void loop() {
  Time nowTime = pcf.getTime();//get current time
  u8x8.setFont(u8x8_font_chroma48medium8_r);   // choose a suitable font

  u8x8.setCursor(0, 0);
  u8x8.print(nowTime.day);
  u8x8.print("/");
  u8x8.print(nowTime.month);
  u8x8.print("/");
  u8x8.print("20");
  u8x8.print(nowTime.year);
  u8x8.setCursor(0, 1);
  u8x8.print(nowTime.hour);
  u8x8.print(":");
  u8x8.print(nowTime.minute);
  u8x8.print(":");
  u8x8.println(nowTime.second);
  delay(1000);
}

u8g2 library
https://github.com/olikraus/U8g2_Arduino

PCF8563 library
https://github.com/Bill2462/PCF8563-Arduino-Library