개발자의 생활

2023년 1학기 6주차 본문

과제/아두이노

2023년 1학기 6주차

Developer성현 2023. 4. 16. 15:07

6_1

#include<LiquidCrystal.h>    
//lcd 라이브러리를 추가

LiquidCrystal lcd(4, 6, 10, 11, 12, 13);
//lcd 사용선언, 제어핀 설정

void setup() {
  lcd.begin(16, 2);          
  //초기화(lcd 사용 선언, 사용할 lcd 크기 설정)
}

void loop() {
  lcd.setCursor(2, 0);        
  //커서를 (2,0)으로 옮김
  lcd.print("SungHyun Han");
  //현재 커서에서부터 해당 텍스트를 출력
    
  lcd.setCursor(4,1);         
  //커서를 (4,1)으로 옮김
  lcd.print("Arduino!!");     
  //현재 커서에서부터 해당 텍스트를 출력
}

 

 

6_2

#include <LiquidCrystal.h> 
// lcd 라이브러리를 추가

LiquidCrystal lcd(4, 6, 10, 11, 12, 13);

void setup() {
  lcd.begin(16, 2);
  // 16열 2행 LCD 초기화 선언
  
  lcd.setCursor(0, 0);
  // 커서를 0행 0열로 이동
  lcd.write('1');
  //문자 1을 출력
  
  lcd.setCursor(5, 0);
  // 커서를 5행 0열로 이동
  lcd.write('2');
  //문자 2을 출력
  
  lcd.setCursor(0, 1);
  // 커서를 0행 1열로 이동
  lcd.write('3');
  //문자 3을 출력
  
  lcd.setCursor(5, 1);
  // 커서를 5행 1열로 이동
  lcd.write('4');
  //문자 4을 출력
  
}

 

 

6_3

#include <LiquidCrystal.h>
// LCD 라이브러리를 추가

LiquidCrystal lcd(4, 6, 10, 11, 12, 13);

void setup() {
  lcd.begin(16, 2);
  // 초기화(lcd 사용 선언, 사용할 lcd 크기 설정)
  lcd.clear();
  // LCD 화면 지우기
  randomSeed(analogRead(A5));
  // 난수 생성기 초기화

  Serial.begin(9600);
  //시리얼 통신속도 9600으로 정의
}

void loop() {

  int col = random(0, 17);
  // 임의 열 번호 생성
  int row = random(0, 2);
  // 임의 행 번호 생성

  char ch = random(0, 27);
  // 출력 문자 생성

  if (ch == 0) {
    ch = ' ';
    // 출력 문자가 '0' 이면 공백
  } else {
    ch = ch + 'A' - 1;
    // 대문자(아스키코드 A=65)로 변환
  }

  lcd.setCursor(col, row);        
  // 임의 열, 행으로 커서 이동
  lcd.write(ch);                  
  // 임의 위치에 대문자 출력


  Serial.println(String('(') + row + ", " + col + ')' + '\t' + ch);
  // 시리얼 모니터로 정보 출력

  delay(100);
}

 

 

 

6_4

#include <LiquidCrystal.h>                  
// lcd 라이브러리를 추가

LiquidCrystal lcd(4, 6, 10, 11, 12, 13);

void setup(){
  lcd.begin(16, 2);                         
  // 16열 2행 LCD 초기화 선언
}

void loop(){
  int temp_C = analogRead(A0);              
  // A0에서 온도 센서값 읽기

                                            
  float voltage = temp_C * 5.0 / 1024.0;    
  // ADC 반환 값을 전압으로 변환
  float temperatureC = voltage * 100;       
  // (1도 증가 => 10mV 증가)

  int temp_L = analogRead(A1);              
  // A1에서 조도 센서값 읽기
  
  lcd.clear();                              
  // LCD 화면 지우기
  
  lcd.print("TEMP  : ");
  lcd.print(temperatureC);
  lcd.setCursor(0, 1);                      
  // 커서를 1열, 2행으로 옮김
  lcd.print("LIGHT : ");
  lcd.print(temp_L);
  
  delay(100);
}