---
# System prepended metadata

title: Lab9 Photoresistor with LCD display
tags: [微算機]

---

# Lab9 Photoresistor with LCD display

## Members:
411085031 劉又瑄
410985004 陳文彥
411085020 林漢昕

## Principle: 
Use photoresistor to detect lightness of enviroment, and store it's digits into an array whitch will be show on LCD screen.

## Program:
```c=
////////////////////////////////16X2LCM 設定////////////////////////////////////////////////////////
#include <LiquidCrystal.h> // 包含LiquidCrystal.h標頭檔

/*====================LCD腳位宣告====================*/
LiquidCrystal LCD(20, 19, 18, 14, 15, 16, 17); // 建構LiquidCrystal物件
//                 RS, RW, EN, D4,D5,D6,D7
/*====================LCD腳位宣告====================*/
////////////////////////////////16X2LCM 設定//////////////////////////////////////////////////
//////////////////光敏電阻///////////////////////////
const int Photoresistance = A0; // 宣告光敏電阻腳位
int LDR;                        // 宣告變數
int LDR1, LDR2, LDR3, LDR4;
int LDRD[4] = {0, 0, 0, 0};
//////////////////光敏電阻////////////////////////////
void setup()
{
    Serial.begin(115200);            // 啟動串列埠，並設定採115200鮑率
    pinMode(Photoresistance, INPUT); // 設定PIN腳為輸入端
    /////////// 啟用16_2 LCM/////////
    LCD.begin(16, 2);
    for (int i = 14; i <= 20; i++)
        pinMode(i, OUTPUT);
    LCD.setCursor(0, 0); /////先設定Cursor在上行最左邊位置
                         /////////// 啟用16_2 LCM/////////
}

void loop()
{
    ////////////////////光敏電阻/////////
    LDR = analogRead(Photoresistance);
    // 讀取括號中Photoresistance的類比訊號值
    Serial.println(LDR); // 顯示光敏電阻值
    LDRD[3] = LDR / 1000;
    LDRD[2] = (LDR % 1000) / 100;
    LDRD[1] = (LDR % 100) / 10;
    LDRD[0] = LDR % 10;
    delay(50); // 延遲0.5秒 delay(1);等於1ms
    LCD.setCursor(0, 1);
    LCD.print(LDR);
}

```

## Description

### setup()
Setup input and output pin.
### loop()
For every turn of loop, we check the value of photoresistance, turn it into single digits to show in LCD. 

## Result

[影片連結](https://drive.google.com/file/d/1EFJzMKbw_IupuM0FbpYtCuYpmWgO8m1k/view?usp=drive_link)
