Bye Bye Moore

猫マンション建築の野望を胸に零細事業主として資本主義の荒波に漕ぎ出したアラサー男の技術メモ

Arduino UNO + LCD + 二軸アナログジョイスティックでワンコインMP3プレイヤーめいた画面送りをやる

昔は秋葉原で良くみかけた、ワンコインMP3プレイヤーめいたUIを実現する奴です。


shuzo-kino.hateblo.jp

shuzo-kino.hateblo.jp
の続き。

実際のところ

#include <LiquidCrystal.h>

#define axis_x A0
#define axis_y A1
#define wordsize 16
#define minregister 0
#define maxregister 1023

LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

String lcdMsg = "";

void setup() {
  lcd.begin(wordsize,  1);

  lcdMsg += "Hello,World     ";
  lcdMsg += "This is Next Msg";
  lcdMsg += "Final Msg Coming";
  lcd.print(lcdMsg);
  delay(1000);
  pinMode(axis_x, INPUT);
  pinMode(axis_x, INPUT);
}
 
void loop() {
  
  if (analogRead(axis_x) == maxregister) {
    leftShift();
  } else if (analogRead(axis_x) == minregister) {
    rightShift();
  }
}

void leftShift() {
    for (int positionCounter = 0; positionCounter < wordsize; positionCounter++) {
    lcd.scrollDisplayLeft();
    delay(150);
    }
}

void rightShift() {
    for (int positionCounter = 0; positionCounter < wordsize; positionCounter++) {
    lcd.scrollDisplayRight();
    delay(150);
  }  
}