이 블로그는 임베디드 컴퓨터를 이용한 장치(시스템) 개발과 원격제어에 필요한 지식을 공유 하기 위한 블로그 입니다.
실제 개발과 프로그램 예를 위하여 Microchip 사의 ATmega128를 사용한 보드와 Arduino Mega 보드(ATmega2560), Raspberry Pi, Raspberry Pi Pico, WiFi 모듈을 사용 합니다.

arduino-library

Arduino - Library
  Arduino IDE 환경에서 Library를 만들고 이용 하기


  • Library File의 위치와 만들기
    • Library File의 위치와 만들기
    • 내 문서 폴더에 Arduino\libraries 폴더를 만들고 libraries 폴더에 Library 이름과 동일한 이름의 폴더를 만들고 여기에 c 또는 c++ 로 작성된 Lirbary File과 Header file를 놓는다.
    • 이 경우 libraries 폴더 이름과 c 또는 c++ File로 작성한 Library 이름, Header File의 이름이 동일 하여야 한다.
    • Library를 작성을 완료 한 다음 Arduino IDE 를 실행 하여 Library를 시용 할 Sketch File를 Open 한다.
    • 스케치 -> 라이브러리 포함 하기를 선택 하면 포함 시킬 수 있는 Library를 표시 하는 창이 열린다. 이 창에 새로 포함 시킨(작성한) Library 가 표시되면 Library 가 정상으로 작성 된 것이다.
    • 새로 포함 시킬 Library를 선택 하면 Sketch file 에 Library 가 include 된다.
  • C++ Library 예
    • LED Control Library
      • BlinkLibExample.zip을(이 zip File에는 Library File과 Example 프로그램이 포함 되어 있다.) 다운로드 하여,
      • 내문서\Arduino\libraries 폴더에 LEDControl 폴더를 만들고( Library Name: LEDControl) LEDControl.cpp, LEDControl.h, keywords.txt File을 복사 한다.
      • Arduino IDE 를 실행 하여 Library를 시용 할 Sketch File(examples 폴더에 있는 BlinkLibExample.ino)를 Open 한다.
      • 스케치 -> 라이브러리 포함 하기를 선택 하면 포함 시킬 수 있는 Library를 표시 하는 창이 열린다. 이 창에 새로 포함 시킨(작성한) Library 가 표시 되면 Library 가 정상으로 작성 된 것이다.
      • 사용 할 Library를 선택 하면 sketch code에 Header File 이 include 된다.
      • sketch 에 Library를 사용 하는 프로그램을 작성 하고 실행 한다.
    • Keypad Library
      • LEDControl Library 예와 같이 KeypadLibExample.zip 을 다운로드 하여 Library( Library Name: Keypad)를 설치 한다.
      • examples 폴더에 있는 HelloKeypad.ino sketch 를 열고 실행 한다.
      • 이 예에서는 HelloKeypad.ino 와 DynamicKeypad.ino sketch 만 KHU-EE Board에 맞게 변경 하여 Test 하였으니 다른 예는 각자 편집 하여 실험 하기 바람.
    • LCD4Bit Library
      • LEDControl Library 예와 같이 LCD4Bit.zip 을 다운로드 하여 Library( Library Name: LCD4Bit)를 설치 한다.
      • examples 폴더에 있는 LCD4BitExample.ino sketch 를 열고 실행 한다.
  • C Library 예
    • UART를 이용한 Serial 통신
      • 이 예에서는 UART 통신에 필요한 함수를 별도의 C File에 작성 하였다.
      • c_fuction_serial_comm_example.zip 을 다운로드 하여 Library( Library Name: cho_uart_init, cho_uart0_init)를 설치 한다.
      • c 로 작성된 Library의 Header File은 아래 예와 같이 Include 하여야 한다.
      • extern "C"{

        c Library Header File을 이곳에 #include 한다.

        }

      • example 폴더에 포함되어 있는 c_fuction_serial_comm_basic sketch 를 열고 실행 한다.
    • External Interrupt를 이용하는 keypad Library
      • 이 예에서는 keypad Library 함수를 별도의 C File에 작성 하였다.
      • cho_keypad_ext_interrupt_example.zip 을 다운로드 하여 Library( Library Name: cho_keypad_ext_interrupt)를 설치 한다.
      • c 로 작성된 Library의 Header File은 윗 예와 같이 Include 한다.
      • example 폴더에 포함되어 있는 cho_keypad_ext_interrupt.ino sketch 를 열고 실행 한다.
    • 4 Bits LCD Library
      • 이 예에서는 LCD Library 함수를 별도의 C File에 작성 하였다.
      • cho_lcd_4bit_example.zip 을 다운로드 하여 Library( Library Name: cho_lcd_1602_4bit)를 설치 한다.
      • c 로 작성된 Library의 Header File은 윗 예와 같이 Include 한다.
      • example 폴더에 포함되어 있는 cho_lcd_4bit_keyboard_example.ino sketch 를 열고 실행 한다.
    • ADC Library
      • LEDControl Library 예와 같이 cho_AnalogInOutSerial.zip 을 다운로드 하여 여기에 포함된 cho_adc.c, cho_adc.h File을 이용 하여 Library( Library Name: cho_adc)를 설치 한다.
      • example 폴더에 포함되어 있는 cho_AnalogInOutSerial.ino sketch를 열고 실행 한다.
    • Bluetooth 통신을 이용한 Android 폰과 ATmega128 Board 사이의 통신 예
      • PC의 터미널에서 입력된 문자는 Android 폰에 출력되고 Android에서 입력된 문자는 PC 터미널에 출력 된다.
      • 실험을 위한 준비
        • ATmega128 Board에 Bluetooth - UART(UART 1 사용) 변환 모듈울 설치 한다.
        • Android 폰에 BlueTerm App.을 설치 한다.
        • Android 폰에서 Bluetooth을 연결 한다.
      • 프로그램 예: cho_uart_bluetooth_comm.zip
      • Bluetooth - UART 모듈 예:
      • Bluetooth 통신을 위한 환경 설정과 휴대폰에 블루투스 모튤 등록 하기, 휴대폰에서 블루투스 모듈 연결 하기는 AVR과 다른 장치의 Interfacing를 참고 하기 바람.