LoginSignup
0
0

ILI9163V(ST7735のような)で遊ぶ2(2週間から2か月の長期記事)(なんかでた)ATM01177B3A

Last updated at Posted at 2023-12-01

ILI9163V(ST7735のような)で遊ぶ2(2週間から2か月の長期記事)(なんかでた)ATM01177B3A

目的
遊ぶ

いきなり、5ピン分削ると
10ピンに収まる(省略)(1,2,3,4,5)
小一時間かけて地道にゆびを切らない様に
カッターナイフで
削って行くとピッタリ収まる
450円+200円で収まる
LEDのあそーどは、別からとる

配線 データシート確認の事

13 CLK
12
11 DATA
10 CS
9 REST
8 RS(DC)

LEDアソート゛は、330オ-ムで3.3V
LEDカソードは、GND

o_cop824.jpg

プログラム







//GPIO_st7735_SPI_TEST1_UNO_1

// 'sentakubasami', 128x160px
//static const unsigned char PROGMEM databytes[(128/8)*160];


//GPIO
#define GPIO_D13(s) digitalWrite(13,s)
#define GPIO_D12(s) digitalWrite(12,s) //未使用
#define GPIO_D11(s) digitalWrite(11,s)
#define GPIO_D10(s) digitalWrite(10,s)
#define GPIO_D9(s)  digitalWrite(9,s)
#define GPIO_D8(s)  digitalWrite(8,s)


void GPIO_D0_D7(int s)
{
      digitalWrite(13,0);
  digitalWrite(11, (s >> 7) & 0x01);
      digitalWrite(13,0);
      digitalWrite(13,1);
      digitalWrite(13,0);
  digitalWrite(11, (s >> 6) & 0x01);
      digitalWrite(13,0);
      digitalWrite(13,1);
      digitalWrite(13,0);
  digitalWrite(11, (s >> 5) & 0x01);
      digitalWrite(13,0);
      digitalWrite(13,1);
      digitalWrite(13,0);
  digitalWrite(11, (s >> 4) & 0x01);
      digitalWrite(13,0);
      digitalWrite(13,1);
      digitalWrite(13,0);
  digitalWrite(11, (s >> 3) & 0x01);
      digitalWrite(13,0);
      digitalWrite(13,1);
      digitalWrite(13,0);
  digitalWrite(11, (s >> 2) & 0x01);
      digitalWrite(13,0);
      digitalWrite(13,1);
      digitalWrite(13,0);
  digitalWrite(11, (s >> 1) & 0x01);
      digitalWrite(13,0);
      digitalWrite(13,1);
      digitalWrite(13,0);
  digitalWrite(11, s & 0x01);
      digitalWrite(13,0);
      digitalWrite(13,1);
      digitalWrite(13,0);
} //GPIO_D0_D7


//ライト

void LCD_Write_CMD(int a)
{

  GPIO_D10(0);//CS=0; 12
  GPIO_D8(0); //A0=0; 9
      GPIO_D0_D7(a);//P1=a; data SPI SPI
  GPIO_D10(1);//CS=1; 12

} //LCD_Write_CMD

void LCD_Write_Data(int a)
{

  GPIO_D10(0);//CS=0; 12
  GPIO_D8(1); //A0=1; 9
      GPIO_D0_D7(a);//P1=a; data SPI SPI
  GPIO_D10(1);//CS=1; 12


} //LCD_Write_Data


//画面の書き込み
///void output_pict(unsigned char * pi)
///{
///  //画面の書き込み開始
///  LCD_Write_CMD(0x2C); //memory write
///
///  GPIO_D12(0);//CS=0; 12
///  GPIO_D9(1);//A0=1; 9
///  GPIO_D0_D7(0xff);//P1=a; data
///
///  int jjk=0,vg=0;
///  int hp[8]={0x80,0x40,0x20,0x10,  0x08,0x04,0x02,0x01};
///  for (int i = 0; i < 160; i++) {
///    for (int j = 0; j < (128/8); j++) {
///
///      vg=pi[jjk];
///      for(int k=0;k < 8;k++){
///        if ( ( vg & hp[k]) == 0 ) {GPIO_D0_D7(0x00);} else {GPIO_D0_D7(0xff);}
///
///        GPIO_D10(0);//WRB=0; 10
///        GPIO_D10(1);//WRB=1; 10
///
///        GPIO_D10(0);//WRB=0; 10
///        GPIO_D10(1);//WRB=1; 10
///      }//k
///      jjk++;
///
///    } //j
///  }//i
///
///  GPIO_D12(1);//CS=1;  12
///
///} //output_pict


//液晶の初期化処理
void TXDT144TF_ST7735S_Init(void)
{

  //----------  ST7735S Reset Sequence  --------//

  GPIO_D8(1);//LCD_RESET=1;

  delay(1); //Delay 1ms

  GPIO_D8(0);//LCD_RESET=0;

  delay(1); //Delay 1ms

  GPIO_D8(1);//LCD_RESET=1;

  delay(120); //Delay 120ms

  LCD_Write_CMD(0x01);//SOFTWARE RESET
  delay(50);

  LCD_Write_CMD(0x01);//SOFTWARE RESET
  delay(50);

  LCD_Write_CMD(0x11);//SLEEP OUT
  delay(200);

  LCD_Write_CMD(0x29);//display on
  delay(100);

  LCD_Write_CMD(0x3a);//Interface pixel format
  LCD_Write_Data(0x05);//16bit mode
  delay(100);

} //TXDT144TF_ST7735S_Init


//初期化
void setup() {

  //ポートのモード設定 アウトプットモード
  pinMode(13, OUTPUT);
  pinMode(12, OUTPUT); //未使用
  pinMode(11, OUTPUT);
  pinMode(10, OUTPUT);
  pinMode(9, OUTPUT);
  pinMode(8, OUTPUT);


  //ポートの初期化
  GPIO_D13(1);//SPI_DATA=1
  GPIO_D11(0);//SPI_CLK=1

  GPIO_D10(1);//CS=1
  GPIO_D9(1);//RESET=1
  GPIO_D8(0);//RS=0



  delay(500); //0.5秒待つ

  //液晶の初期化処理
  TXDT144TF_ST7735S_Init();

  //画面の書き込み開始
  LCD_Write_CMD(0x2C); //memory write
    delay(1);
  for(int ii=0;ii<(128*8*2);ii++){
     LCD_Write_Data(0xff);
  }

  //洗濯ばさみの絵の表示
  //output_pict( (unsigned char *)databytes );

} //setup


//メインループ
void loop() {

//  digitalWrite(PB7, HIGH);
//  delay(200); //0.2秒待つ

//  digitalWrite(PB7, LOW);
//  delay(200); //0.2秒待つ

} //loop






0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0