LCD

    內容表格
    沒有標頭

    版本為 08:40, 30 Nov 2024

    到這個版本。

    返回到 版本存檔.

    查閱目前版本



    http://www.100y.com.tw/pdf_file/LMC-SSC2A16DLGY.pdf

    原作:coopermaa and thx

    直接使用市面上現有 Atmega 168  LCD 模組 改成Arduino code 可以在開發方面簡化


    原作品資料:
    http://www.syyyd.com/forum.php?mod=v...extra=page%3D1

    原作品應用方向:
    1.自動與電腦對時顯示時鐘.有獨立供電
    2.內建熱敏電組 ,溫度計顯示.
    3.內建紅外線接收.可被搖控器搖控


    電路圖:

    123245cewgjjv0ok3ygk0m.png.thumb.jpg

    腳位定義:

    2012-08-18_16h10_06.png


    OSSLab 預定修改應用
    1.IRDA 解碼器.再輸入於Sling box 或是等智慧型家電應用 
    2.增加紅外線發射電路.
    3.可用於一些embedded 設備 (WR703 或ARM 設備) 開發一些如網路電台等應用..

    目前完工
    需要短路Auto reset J4 enable 在板上P1 點 啟動(圖待補)
    以另外一張Arduino uno 燒錄Arduino nano 16Mhz bootloader 進此硬體電路板 (圖待補)


     
    上傳紅外線解碼程式成功 可在串口終端看到正確解碼訊號

     

     

    LCD 測試

     

     
    /*  在 2x16 LCD 上顯示 "Hello World" 訊息     The circuit 電路:  * LCD RS pin to digital pin 8  * LCD Enable pin to digital pin 7  * LCD D4 pin to digital pin 6  * LCD D5 pin to digital pin 5  * LCD D6 pin to digital pin 4  * LCD D7 pin to digital pin 3  * 10K Potentiometer:  * ends to +5V and ground  * wiper to LCD VO pin (pin 3)    This example code is in the public domain.  http://www.arduino.cc/en/Tutorial/LiquidCrystal  */ // 引用 LiquidCrystal Library #include <LiquidCrystal.h>  // 建立 LiquidCrystal 的變數 lcd //                 LCD 接腳:  rs, enable, d4, d5, d6, d7   //                 LCD pin    4,   6,     11, 12, 13, 14 //      對應到 Arduino 接腳:  8,     7,  6,  5,  4,  3 LiquidCrystal lcd(8, 7, 6, 5, 4, 3);  void setup() {   // 設定 LCD 的行列數目 (2 x 16)   lcd.begin(16, 2);    // 列印 "Hello World" 訊息到 LCD 上   lcd.print("hello, world!"); }  void loop() {   // 將游標設到 column 0, line 1   // (注意: line 1 是第二行(row), 因為是從 0 開始數起):   lcd.setCursor(0, 1);    // 列印 Arduino 重開之後經過的秒數   lcd.print(millis()/1000); }
    
     

    ----------------------------------------

    讓 LCD 可以顯示紅外線解碼

    參考資料:
    http://coopermaa2nd.blogspot.tw/2011...r-decoder.html
    http://coopermaa2nd.blogspot.tw/2011/03/irremote.html

    60734089559.jpg

    參考資料: http://coopermaa2nd.blogspot.tw/2011/03/14-lcd-ir-decoder.html

    符合本PCB程式碼:
    
    /*   * IRDecoder_LCD.pde: 自製 LCD 介面的紅外線解碼器(IR Decoder)   */ #include <LiquidCrystal.h>               // 引用 LiquidCrystal 函式庫 #include <IRremote.h>                    // 引用 IRRemote 函式庫  // 建立 LiquidCrystal 的變數 lcd //                 LCD 接腳:  rs, enable, d4, d5, d6, d7   //                 LCD pin    4,   6,     11, 12, 13, 14 //      對應到 Arduino 接腳:  8,     7,  6,  5,  4,  3 LiquidCrystal lcd(8, 7, 6, 5, 4, 3); const int irReceiverPin = 2;             // 紅外線接收器 OUTPUT 訊號接在 pin 2  IRrecv irrecv(irReceiverPin);            // 定義 IRrecv 物件來接收紅外線訊號 decode_results results;                  // 解碼結果將放在 decode_results 結構的 result 變數裏  void setup() {   lcd.begin(16, 2);                      // 設定 LCD 的行列數目 (2 x 16)   lcd.print("IR Decoder");               // 列印 "IR Decoder" 訊息到 LCD 上    irrecv.blink13(true);                  // 收到紅外線時, 讓板子上 pin 13 的指示燈閃爍幾下   irrecv.enableIRIn();                   // 啟動紅外線解碼     }  // 顯示紅外線協定種類 void showIRProtocol(decode_results *results)  {   // 判斷紅外線協定種類   switch(results->decode_type) {    case NEC:      lcd.print("NEC");      break;    case SONY:      lcd.print("SONY");      break;    case RC5:      lcd.print("RC5");      break;    case RC6:      lcd.print("RC6");      break;    default:      lcd.print("Unknown");     }      // 把紅外線編碼印到 LCD 上   lcd.print(" ");   lcd.print(results->value, HEX);        // 紅外線編碼   lcd.print(" (");   lcd.print(results->bits);              // 紅外線編碼位元數       lcd.print(")"); }   void loop() {   // 將游標設到 column 0, line 1   // 注意: line 1 是第二行(row)&#65292;line 0 是第一行(row)   lcd.setCursor(0, 1);    if (irrecv.decode(&results)) {         // 解碼成功&#65292;收到一組紅外線訊號     if (results.value != -1) {       showIRProtocol(&results);            // 顯示紅外線協定種類     }       irrecv.resume();                     // 繼續收下一組紅外線訊號           }     }
    
    
    
    


    預定進度

    1.增加紅外線發射Led 模組 硬體簡單

    目前IRremote Lib  用Pin 3做 IRDA PWM out
          LCD Lib 也會用到... 要修改Lib

    2.增加 Linux LCD to Kenrel  顯示
    http://www.harbaum.org/till/lcd2usb/index.shtml
      http://ssl.bulix.org/projects/lcd4linux/

    ...porting 到mips or arm上 分享出Arduino code 以方便大家處理

    希望 可在openwrt 架構下硬體 用LCD 顯示 IP  ,router 狀況,用紅外線遙控器 設定IP 或是基本無線網路設定
     

    Powered by MindTouch Core