2016年1月5日 星期二

Arduino + Nokia 5110 簡單的5通道電表


   Nokia 5110/3110 LCD 是一個簡單又省電使用方便的圖形LCD , 84 X 48 的解析度一般文字表達使用都已經足夠.
    Nokia 5110/3110 LCD沒背光的使用狀況下,不接電源都還能正常使用,靠信號傳過來的脈波就足以讓他動作.

 使用材料如下 :

      Nokia 5110/3110 相容 LCD  X 1
      Arduino Leonardo                  X 1

     軟體
      Arduino  1.6.7
     Adafruit_PCD8544  Library

    首先要到這裡下載Adafruit_PCD8544  Library

      https://www.adafruit.com/products/338

Adafruit-GFX-Library-master &  Adafruit-PCD8544-Nokia-5110-LCD-library-master 都下載 , 可以的話常去Adafruit 購物,Adafruit是美女老闆喔!!

    下載好後解壓縮放在    安裝目錄\Arduino\libraries , 為什麼變成要解壓縮我也不知道 ,記得以前好像不用....

      把這一段程式貼在Arduino 草稿碼上.

/*

這是用 Adafruit LCD 區動程式,可在 Adafruit 下載
https://www.adafruit.com/products/338
雖然是 BSD License 還是呼籲多買 Adafruit 的產品

LCD 腳位定義
Pin 11 for contrast on the Nokia 5110
pin 7 - Serial clock out (SCLK)
pin 6 - Serial data out (DIN)
pin 5 - Data/Command select (D/C)
pin 4 - LCD chip select (CS)
pin 3 - LCD reset (RST)
*/

#include "Adafruit_GFX.h"
#include "Adafruit_PCD8544.h"

Adafruit_PCD8544 display = Adafruit_PCD8544 (7, 6, 5, 4, 3);

// Pin 4 Pin 3 的腳位要注意,我的是反過來的!!

void setup() {

   display.begin();                 //這是 Adafruit_PCD8544  Library 定義的
   display.setContrast(60);    //LCD 對比
  delay(1000);
  display.clearDisplay();                 // 清除LCD內容
  display.setTextSize(1);                 // 設定自形大小
  display.setTextColor(BLACK);   //定義顏色顏色

}

void loop() {

   float volt0;    //定義名稱
   float volt1;
   float volt2;
   float volt3;
   float volt4;
 
  int vin0 = analogRead(A0);  //讀取信號
  int vin1 = analogRead(A1);
  int vin2 = analogRead(A2);
  int vin3 = analogRead(A3);
  int vin4 = analogRead(A4);

   volt0=(float)vin0/1024*5.0;  //轉換數字
   volt1=(float)vin1/1024*5.0;
   volt2=(float)vin2/1024*5.0;
   volt3=(float)vin3/1024*5.0;
   volt4=(float)vin4/1024*5.0;
 
  display.clearDisplay();    // 清除LCD內容
  display.print("V0= ");     // 顯示字串 "V0="
  display.print(volt0);        // 顯示測到的電壓值
  display.println("V");       // 顯示字串 "V" 然後換行
  display.print("V1= ");
  display.print(volt1);
  display.println("V");
  display.print("V2= ");
  display.print(volt2);
  display.println("V");
  display.print("V3= ");
  display.print(volt3);
  display.println("V");
  display.print("V4= ");
  display.print(volt4);
  display.println("V");
  display.println("Story Chen");
  display.display();

  delay(1000);                   // 等一秒

}

然後上傳就好了,A0~A4 沒接時會亂跳,輸入不可接超過5V~~~


 背光很暗?因為被我燒了!!!!!


LCM 沒接電源一樣工作的很好.


 

1 則留言:

  1. Hi 您好
    想請教您一個問題~使用這個函式庫出現的開機畫面(花朵)可以自行改嗎?

    回覆刪除