1_かやくは麺の下に入れる
2_お湯入れて、規定時間待つ
3_お湯を切る
5_冷水きり
6_4,5を2回やる
7_フタをあける。麺の下にカヤク入れてるので、フタにカヤクが付いて無い
1_かやくは麺の下に入れる
2_お湯入れて、規定時間待つ
3_お湯を切る
5_冷水きり
6_4,5を2回やる
7_フタをあける。麺の下にカヤク入れてるので、フタにカヤクが付いて無い
スケッチはこちら。
/***************************************************
ラズベリーパイ ピコ
SPIを使おう
液晶LCD ILI9341
マイクロSDカード
開発環境
OS Windows11 PRO 64bit
Arduino IDE 2.3.3
ボードマネージャー
Raspberry Pi Pico/RP2040
Ver 4.1.5
ボード:Raspberry Pi Pico
2024-07-10
Program by.Tsurutsuru
***************************************************
*/
//液晶 コントローラーLIL9341
#include <Adafruit_ILI9341.h>
#include <Adafruit_GFX.h>
#include <SPI.h>
//色の指定
#define BLACK 0x0000
#define BLUE 0x001F
#define RED 0xF800
#define GREEN 0x07E0
#define CYAN 0x07FF
#define PINK 0xF81F
#define YELLOW 0xFFE0
#define WHITE 0xFFFF
#define GLAY 0x1101
//LCD ピン指定 Seed Xaio
#define TFT_CS 5
#define TFT_SCK 2
//#define TFT_MISO //(接続なし)
#define TFT_MOSI 3
#define TFT_RST 6
#define TFT_DC 7
//microSD Card
//#include <SD.h> //Arduino UNO用
#include <RP2040_SD.h>
#define PIN_SD_MOSI 19 //PIN_SPI_MOSI
#define PIN_SD_MISO 16 //PIN_SPI_MISO
#define PIN_SD_SCK 18 //PIN_SPI0_SCK
#define PIN_SD_SS 17 //PIN_SPI_SS
//#define SD_CS 22 //mSD SS=22
#define BUFFPIXEL 20
#define FILE_NAME "data.txt"
Adafruit_ILI9341 tft = Adafruit_ILI9341(TFT_CS, TFT_DC ,TFT_MOSI, TFT_SCK , TFT_RST);
void setup()
{
Serial.begin(115200);
//LCD 1306 setup
pinMode (TFT_CS, OUTPUT); //CS=17
pinMode (PIN_SD_SS, OUTPUT); //SD_CS=22
// SPI.setRX(TFT_MISO);
// SPI.setTX(TFT_MOSI);
// SPI.setSCK(TFT_SCK);
// SPI.setCS(SD_CS);
SPI.begin();
// SPI.setBitOrder(MSBFIRST);
// SPI.setDataMode(SPI_MODE3);
tft.begin();
tft.setRotation(1); //回転 (1)=90度右回転
tft.setCursor(0, 10);
tft.setTextColor(BLUE);
tft.setTextSize(3);
tft.fillScreen(WHITE);
tft.println("2024/07/10");
tft.println(" LCD TEST OK");
tft.setTextSize(2);
if(SD.begin(PIN_SD_SS))
{
tft.print("SD Begin OK");
}
else
{
tft.print("SD Begin NG");
}
ichigyou();
}
void loop()
{
delay(300);
}
//
//ファイルから一行ずつ読み込み
//
//raw[20][30][1];g,r 20行30文字まで。[0]データ、[1]1行あたりの文字数
//
void ichigyou()
{
char raw[20][30][1];
byte g=0;
byte r=0;
byte g_end;
char j;
g = SD.exists(FILE_NAME);
if (g == false)
{
Serial.println(" No File ");
}
File dataFile = SD.open(FILE_NAME);
Serial.print(" dataFile = ");
Serial.println( dataFile);
g = 0;
r = 0;
if (dataFile)
{
while (dataFile.available())
{
j=dataFile.read();
if( j != 0x0D )
{
raw[g][r][0] = j;
Serial.print(" g = ");
Serial.print(g);
Serial.print(": r = ");
Serial.println(r);
r++;
}//if
else
{
raw[g][r][1]=r;
g++;
r=0;
j=dataFile.read();
}
}//while
}//if
dataFile.close();
g_end = g;
for(g=0 ; g<g_end ; g++)
{
Serial.print(" raw = ");
for(r=0;r < raw[g][r][1];r++)
{
Serial.print(raw[g][r][0]);
if(raw[g][r][0] == 0x0D) break;
}
Serial.println();
}//for g
Serial.print("g=");
Serial.print(g);
Serial.println();
}//ichigyou()
・液晶 SD1306
・リアルタイムクロック RTC DS3231
スケッチはこちら。
コピペOKです。
ご自由にどうぞ
/***************************************************
ラズベリーパイ ピコ
液晶1306 128x64 I2C=0x3C
リアルタイムクロック RTC DS3231 I2C=0x68
ラズベリーパイ ピコの使用端子
3.3V(out) 36ピン
GND 38ピン
I2C SDA=GP16 21ピン
I2C SCK=GP17 22ピン
RTC DS3231の32K、SQW-は使用してません
開発環境
OS Windows11 PRO 64bit
Arduino IDE 2.3.2
ライブラリー
液晶1306 Adafruit_SSD1306
RTC DS3231 DS3231_TEST
2024-06-28
Program by.Tsurutsuru
***************************************************
*/
//液晶 SD1306
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#define SCREEN_WIDTH 128 // OLED display width, in pixels
#define SCREEN_HEIGHT 64 // OLED display height, in pixels
Adafruit_SSD1306 display = Adafruit_SSD1306(SCREEN_WIDTH, SCREEN_HEIGHT);
//リアルタイムクロック RTC3231
#include <DS3231.h>
DS3231 Clock;
void setup()
{
//I2C setup
//SDA=GP16、SCK=GP21の組み合わせでも動きました。他の組み合わせは試してません。
//端の方が配線しやすく、間違えずらいので GP16,GP17で組みました
Wire.setSDA(16); // I2C0 SDA Raspberry Pi Pico GP16
Wire.setSCL(17); // I2C0 SCL Raspberry Pi Pico GP17
Wire.begin();
display.begin(SSD1306_SWITCHCAPVCC, 0x3C);
//LCD 1306 setup
display.clearDisplay(); // 画面消去
display.setTextSize(1); // 文字サイズ 1
display.setTextColor(SSD1306_WHITE); //色の指定:指定しないと表示が出ない
//日付、時間の設定 一度書き込んだらコメントアウトして、もう一度書き込む
// Clock.setSecond(0); // 秒
// Clock.setMinute(20);// 分
// Clock.setHour(16); // 時
// Clock.setDoW(5); // 曜日 ライブラリでDoWになっている
// Clock.setDate(28); // 日
// Clock.setMonth(6); // 月
// Clock.setYear(24); // 年
} //setup
void loop()
{
ReadDS3231();
delay(500);
}
void ReadDS3231()
{
bool Century=false;
bool h12,PM;
int second,minute,hour,date,month,year,temperature;
Wire.beginTransmission(0x68);
second=Clock.getSecond();
minute=Clock.getMinute();
hour=Clock.getHour(h12, PM);
date=Clock.getDate();
month=Clock.getMonth(Century);
year=Clock.getYear();
temperature=Clock.getTemperature(); //気温
Wire.endTransmission(0x68);
display.clearDisplay(); // 画面消去
display.setTextSize(1); // 文字サイズ 1
display.setCursor(0, 5); // 座標を左上(0,5)
display.print("SSD-1306 RTC3231");
display.setCursor(0, 15); // 座標を左上(0,15)
display.print("20"); //西暦 下2桁しか表示されないため"20"を表示
display.print(year);
display.print("/");
display.print(month);
display.print("/");
display.print(date);
display.print(" kion:");
display.print( temperature); //気温を表示
display.setTextSize(2); // 文字サイズ 2
display.setCursor(15, 35); // 座標を左上(15,35)
if(hour < 10) display.print(" "); //桁合わせ
display.print(hour);
display.print(":");
if(minute < 10) display.print("0"); //桁合わせ
display.print(minute);
display.print(":");
if(second < 10) display.print("0"); //桁合わせ
display.print( second);
display.display(); //表示の更新
//デバック用 シリアルモニターに表示
/*
Serial.print("20");
Serial.print(year,DEC);
Serial.print('-');
Serial.print(month,DEC);
Serial.print('-');
Serial.print(date,DEC);
Serial.print(' ');
Serial.print(hour,DEC);
Serial.print(':');
Serial.print(minute,DEC);
Serial.print(':');
Serial.print(second,DEC);
Serial.print('\t');
Serial.print("Temperature=");
Serial.println(temperature);
*/
}