아두이노 C 언어 차이점 - adu-ino C eon-eo chaijeom

안녕하세요. 메이키스트입니다.

오늘은 C언어 강좌의 첫번째 시간입니다.

본 강의로 들어가기 전에 C언어가 무엇인지, 아두이노와 C언어는 어떤 관계가 있는지 알아보도록 하겠습니다.

프로그램 언어는 사람과 컴퓨터가 이해할 수 있는 약속된 형태의 언어이고 언어의 종류 또한 상당히 많이 있습니다.

현재 약 700개 정도가 존재하고 Java, C, C++, C#, Objective-C, PHP, JavaScript, Python 등과 같은 언어가 주로 사용됩니다.

이런 프로그램 언어는 각자의 언어적 특성이 다르기 때문에 용도에 맞게 사용되어야 합니다.

그 중에서 아두이노는 C/C++ 이라는 언어를 사용합니다.

C언어는 원래 유닉스(UNIX)라는 운영체제(OS)를 기술하기 위해 개발된 언어입니다.

1972년 데니스 리치에 의해 만들어 졌습니다.

당시벨 연구소에서 데니스 리치는 유닉스 개발을 맡고있었는데 OS의 특성상

하드웨어를 직접 제어할 수 있어야 했고, 당시 컴퓨터는 cpu 속도나 메모리 용량이 충분하지 않아

프로그램은 크기가 작고 빨랐어야 했습니다.

작고 빠른 언어, 조건에 맞는 유일한 언어가 어셈블리였습니다.

그러나 어셈블리는 특정 기계에 종속적이며 이식성이 없기 때문에 여러 플랫폼에

수정없이 사용하는 것이 목적인 유닉스와 어울리지가 않았습니다. 

C언어보다 먼저 발표된 포트란이나 베이직 같은 고급언어들은 효율이 좋지 못해 프로젝트에 사용하기에 어려웠죠.

그래서 데니스 리치는 기존의 언어를 사용하지 않고 어셈블리의 강력한 기능과

고급언어의 이식성을 동시에 갖춘 새로운 언어를 만들었습니다.

동료인 켄 톰슨이 만든 B언어를 기반으로 기존의 언어들의 장점을 살려서 C언어를 만들었습니다.

아두이노가 C/C++ 언어를 사용하는 이유는 크게 2가지로 볼 수 있습니다.

1. 하드웨어를 제어하기 용이합니다.  

  아두이노는 기본적으로 8비트 MCU를 사용하고 메모리 등 하드웨어의 제약이

  있으므로 복잡한 프로그램을 올리기가 힘듭니다.

  따라서 하드웨어를 직접적으로 제어해야 하고 최대한 효율적으로 프로그램을

  작성해야 하기 때문에 어쩔 수 없이 아두이노가 C/C++을 선택할 수 밖에 없었습니다.

2. 샘플코드가 많이 존재합니다.

  C/C++언어는 상당히 오래된 언어이기 때문에 샘플코드 또한 많이 존재 합니다.

  아두이노는 센서나 모터와 같은것을 많이 사용하는데 이런 하드웨어와 관련된

  수많은 C/C++ 샘플코드가 이미 존재하기 때문에 가져다 쓰기가 쉬웠습니다.

  구현하고자 하는 가장 비슷한 예제를 찾아 보고, 예제를 나에게 맞게 수정해서

  원하는 결과가 나오는지 확인하는 것이 일반적인 프로그램 개발방식입니다.

이런 하드웨어를 쉽게 제어할 수 있고 샘플을 찾기 쉬운 이유로 아두이노에는 

C/++을 사용할 수 밖에 없었겠지요.

위에서 하드웨어를 제어하기 쉽다고 했지만 다른 언어에 비해 상대적으로 쉽다는 것이지

C/C++ 언어는 배우기가 절대 쉬운 언어는 아닙니다.

MCU, 메모리, I/O 장치같은 하드웨어를 이해해야 제대로 된 프로그램을 짤 수 있습니다.

너무 걱정은 안하셔도 됩니다. 우리에겐 아두이노가 있습니다.~ ㅎㅎ

변수, 조건문, 반복문, 함수몇개 정도만 이해해도 간단한 제어는 얼마든지 짤 수 있습니다.

아두이노는 복잡하고 어려운 부분들을 비전공자도 쉽게 다룰 수 있게 만들어 놓았으니까요~

아두이노에서는 C/C++ 프로그램 영역을 스케치라고 부릅니다.

도화지에 연필로 스케치 하듯 쓱~쓱~ 그리는 것처럼 자신이 원하는 프로토타입을 쉽게 만들 수 있다고 해서

붙여진 이름이라고 합니다~

다음 시간에는 스케치 프로그램의 기본형태에 대해서 알아 보도록 하겠습니다.

감사합니다.

BASIC4MCU | 질문게시판 | 아두이노 C언어 차이점 질문

페이지 정보

작성자 master 작성일2018-09-01 08:58 조회22,801회 댓글0건

  • 이전글
  • 다음글
  • 목록
  • 글쓰기

본문

안녕하세요. 학교에서 C언어랑 아두이노를 배우고 있는데 이해가 잘 안돼서요.

C언어는 무엇인지, 아두이노는 무엇인지 둘의 차이점이 뭔지 궁금하네요.

//

c 언어는 여러가지 언어중의 하나이고요

아두이노 등 저(낮은 사양의)급의 MCU에서 주로 사용하는 언어입니다.

1. 프로그래밍 언어[편집]

  • 4D #

  • Ada

  • ABAP : SAP용 프로그램 개발에 사용되는 언어. 코볼의 영향을 받아 영어 문장 쓰듯이 코딩을 할 수 있다. 언어에 SQL이 내장되어 있는 것이 특징.[1]

  • BASIC : 시분할 개념이 도입

  • C : 상당히 초기에 개발된 언어면서 동시에 고급언어임에도 어셈블리에 맞먹는 하드웨어 제어가 가능해서 혼자 '중급언어'라는 카테고리를 만들어 들어가는 경우도 있다.

  • C++

  • C#

  • CoffeeScript : JavaScript를 간략하게 만든 언어. 결과물로 JavaScript가 나온다.#

  • D : 처음에는 Mars라는 이름으로 불렸었다.

  • Dart

  • Eiffel

  • Elixir : 동적, 함수형 언어.#

  • Erlang : 병행성 언어.

  • Factor : Forth의 영향을 받은 스택 기반 언어.

  • Forth : 임베디드 / 실시간 처리를 위한 언어.#

  • Go : 구글에서 C와 같이 시스템 프로그래밍 목적으로 만든 언어.#

  • Haskell : 함수형 언어

  • IDL : 데이터 해석에 주로 사용되는 언어. 천문학이나 영상의학분야에서 많이 사용한다.#

  • io #

  • Java

  • JavaScript

  • Julia

  • LISP : 함수형 언어.

    • Clojure : JVM에서 실행되는 LISP의 방언.

    • Racket

    • Scheme : Lisp에서 유래한 함수형 언어.

  • Lua

  • MATLAB

  • ML

    • Caml : 프랑스에서 만들어진 ML계열의 함수형언어.

    • F# : OCaml 의 .NET Framework 버전.

    • OCaml : Objective-Caml. Caml 에 객체지향 개념 추가.

    • nML : KAIST에서 개발하고 서울대학교에서 관리중인 ML의 방언.#

  • Kotlin : JVM용과 자바스크립트로 컴파일이 된다.

  • Objective-C : 보통 Obj-C로 쓴다. 애플 제품에 주로 쓰인다.

  • Perl

  • PHP

  • Processing : 미디어 아트 지향 언어.

  • Prolog : 논리형 언어. 인공지능에 사용.

  • Python

  • R

  • RPG

  • Ruby

  • Rust : 모질라 재단에서 개발중인 시스템 프로그래밍 언어.

  • Scala : 다중패러다임 언어. 자바 VM에서 실행된다.

  • Smalltalk : 최초로 객체지향을 구현한 언어.

  • Swift : WWDC 2014에서 공개된 Objective-C를 대체할 애플의 차세대 언어.

  • TypeScript : JavaScript를 개선한 언어. CoffeeScript 처럼 결과물로 JavaScript가 나온다.#

  • Visual Basic for Application : Microsoft Office의 제어 및 매크로 제작용 언어.

  • 기계어 : '언어'로 인정하지 않는 학자도 있다.

  • 씨앗

  • 알골 : 최초의 구조적 언어. 널리 쓰이진 않았지만 C등의 언어에 영향을 주었다.

  • 약속

  • 어셈블리어

  • 오베론

  • 액션스크립트

  • 창조

  • 코볼 : 사무처리용 언어로 포트란과 함께 언어분야를 양분했다.

  • 파스칼

  • 포트란 : 최초의 고급언어. 수치해석에 뛰어나다.

2. 프로그래밍 언어로 보기 애매한 언어[편집]

튜링-완전하지 않거나, 특수목적에 한정된 언어(Domain Specific Language)들을 이곳에 나열한다.

  • 마크다운 : 마크업 언어 중 하나.

  • AutoHotKey : 매크로 기반 스크립트 언어. 핵 제작등에 사용되는 경우가 많아서 언어로 보지 않는 사람도 존재한다. 물론 순수 프로그래밍도 가능해서 언어로 보는 경우도 많은편. 즉, 사용하는 사람에 따라 언어 혹은 비언어로 갈린다.

  • HLSL : 그래픽카드 쉐이더 언어.

  • HTML : 엄밀히 따지면 프로그래밍 언어는 아니다. '마크업 언어'라고 한다.[2]

  • LabVIEW : G라는 그래픽 기반의 프로그래밍 언어를 사용하여 텍스트가 아닌 아이콘으로 코딩한다.

  • OWL

  • RDF

  • SQL

  • TeX

  • VHDL : 하드웨어 기술 언어.

  • Verilog : 하드웨어 기술 언어.

  • UML : C나 Java처럼 바로 소프트웨어로 만들어지는 언어는 아니지만, 소프트웨어를 설계할수 있는 언어.

  • XML : 마크업 언어의 일종으로, 데이터를 구조적으로 저장하고 교환하기 위해 만든 문서 양식.

  • Ttaega

  • 스크래치 : LabView와 방식이 같다.

  • GML : 게임메이커 스튜디오에서 쓰이는 언어. 일단 게임메이커 스튜디오를 제작한 요요게임즈 공식 사이트에서는 programming language(프로그래밍 언어)라고 소개하고 있으나, GML을 쓰는 소프트웨어는 게임메이커 스튜디오 하나 뿐이고 게임제작을 제외한 다른 부분에서 쓸수 없는 언어이다.[3]

아두이노는 몇종류의 보드 및 그 보드를 사용하기 위한 IDE(통합개발환경) 입니다.

아두이노 보드는 아두이노를 기반으로 여러 종류가 생산되어 판매되고 있다. 주로 AVR의 아트메가(ATmega)를 위주로 만들어 지고, ARM 계열도 포함되어 있다.[1]

MCU아두이노 보드[1]AVRARM
ATmega168Pro(168), Mini(168), LilyPad (168V)
ATmega328UNO, ETHERNET, Fio, Nano, Pro(328), Mini(328, Rev5), Pro Mini, LilyPad/Simple (328V)
ATmega2560Mega 2560, Mega ADK
ATmega32U4YÙN, Leonardo, Esplora, Micro, LilyPad USB, ROBOT(Control,Motor)
ATtiny85GEMMA
Cortex-M0+Zero, Zero Pro, M0, M0 PRO
Cortex-M3Due

상업용 아두이노 보드[편집]

  • 아두이노 보드 예
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  

쉴드 (Shield)[편집]

쉴드는 아두이노 보드의 마이크로컨트롤러와 호환 가능한 여러 부가 모듈을 커넥터로 연결하여 기능을 추가하는 부품이다. 주로 입출력 장치를 부가한다.

  • 아두이노 쉴드
  •  
  •  
  •  
  •  

기타 부품[편집]

  • 아두이노 보조

아두이노 제품[편집]

수 많은 아두이노 보드가 만들어져 사용되고 있다 :[2][3]

모델프로세서형상호스트 인터페이스입출력출시일/공개일요약모양모델명MCU동작 주파수크기인터페이스동작전압플래쉬

(KiB)

EEPROM (KiB)SRAM (KiB)디지털(핀)PWM
(핀)아날로그

(핀)

Arduino Uno[4][5]ATmega328P[6]16 MHzArduino68.6x53.3mm
[2.7x2.1 in]
USB8U2[7](Rev1&2)/

16U2[8](Rev3)

5 V321214662010-09-24[9]Duemilanove 이후 모델로 ATmega328 사용.

Duemilanove가 FTDI USB 칩을 사용하였으나 Uno는 ATmega16U2 (Rev3이전버전은 ATmega8U2)을 사용하여 시리얼 변환.

Arduino Mega2560[10][11]ATmega2560[12]16 MHzMega101.6x53.3mm
[4x2.1 in]
USB8U2[7](Rev1&2)/

16U2[8](Rev3)

5 V256485415162010-09-24[9]256 KiB 메모리. ATmega16U2(Rev3이전에는 ATmega8U2) USB 칩. Duemilanove, Diecimila, 또는 Uno 등의 모양과 맞추어져 있고 기타의 핀이 확장 됨.
Arduino Leonardo[13][14]Atmega32U4[15]16 MHzArduino68.6x53.3mm
[2.7x2.1 in]
USB32U4[15]5 V3212.5207122012-07-23[16]Leonardo는 Atmega32U4 사용, USB 컨트롤러가 장착.
ZeroArduino Zero[17]
Arduino Zero Pro[18]


Arduino M0[19] 
Arduino M0 Pro[20]

ATSAMD21G18A[21](ARM Cortex-M0+)48 MHzArduino101.6x53.3mm
[4x2.1 in]
USBNative & EDBG Debug3.3 V2560~16Kb 에뮬레이션3214126출시일
2015-06-15[22]

공개
2014-05-15[23]

베타 테스트

2014-08-01[24]

Arduino Due[25][26]ATSAM3X8E[27](ARMCortex-M3)84 MHzMega101.6x53.3mm
[4x2.1 in]
USB16U2[8] + native host[28]3.3 V5120[29]965412122012-10-22[30]첫 ARM 프로세서 채용. 2채널 12비트 DAC(Digital-to-analog converter) 내장, 84Mhz 클럭, 32비트 구조, 512KB 플래쉬 & 96KiB SRAM. 동작 전원 3.3 V.
Arduino Yún[31]Atmega32U4,[15]
Atheros AR9331
16 MHz,
400 MHz
Arduino68.6x53.3 mm
[2.7x2.1 in]
USB5 V32 kB,
16 MB
1 kB,
0 kB
2.5 kB,
64 MB
146122013-09-10[32]Arduino Yún는 Arduino Leonardo(Atmega32U4)에 Wifi SoC(system on a chip)를 결합한 것으로, OpenWrt을 기반으로 한 MIPSGNU/Linux 이다.

Arduino Fio[33]ATmega328P[6]8 MHz소형66.0x27.9mm
[2.6x1.1 in]
XBee 시리얼/시리얼3.3 V321214682010-03-18[34]USB-XBee 소켓 연결 가능.[35]

Arduino Nano[36]ATmega328[37]
(ATmega168 v3.0이전버전[38])
16 MHz소형43.18x18.54mm
[1.70x0.73 in]
USBFTDI FT232R[39]5 V16/320.5/11/214682008-05-15[40]가장 작은 Arduino 버전으로 표면장착 프로세서.

Arduino (Pro) Mini[41]ATmega168[38]ATMega328(Pro)8 MHz (3.3 V 모델) or 16 MHz (5 V 모델)17.8x33.0mm
[0.7x1.3 in]
5 V or 3.3 V160.5114662008-08-23[42]Arduino 축소 버전으로 표면장착 프로세서 사용.

Arduino Micro[43]ATmega32U4[15]16 MHz17.8x48.3mm
[0.7x1.9 in]
5 V3212.5207122012-11-08[44]Adafruit과 같이 디자인함.

LilyPad Arduino[45]ATmega168V or ATmega328V8 MHzwearable51 mm⌀
[2 in  ⌀]
2.7-5.5 V160.5114662007-10-17[46]웨어러블(wearable) 응용 가능.

Arduino Pro [47]ATmega168 or ATmega328[47]16 MHzArduino52.1x53.3mm
[2.05x2.1 in]
UART 시리얼, I2C(TWI), SPIFTDI5 V or 3.3 V16/320.5/11/21466SparkFun Electronics에서 디자인하고 판매.
Arduino ADKArduino Mega ADK[48]ATmega2560[12]16 MHzMega101.6x53.3mm
[4x2.1 in]
8U2[7]


MAX3421E
USB Host

5 V256485414162011-07-13[49]

Arduino Ethernet[50]ATmega328[37]16 MHzArduino68.6x53.3mm
[2.7x2.1 in]
Ethernet 시리얼 인터페이스328P5 V321214462011-07-13[49]위즈넷(WIZnet)의 W5100칩을 사용한 Arduino Ethernet Shield와 Pro가 합쳐짐. 마지막 버전에서 PoE(Power over Ethernet)지원.
Arduino Esplora[51]Atmega32U4[15]16 MHz165.1x61.0mm
[6.5x2.4 in]
32U4[15]5 V3212.52012-12-10아날로그 조이스틱, 버튼 4개, 센서, 2 TinkerKit 입력 및 2 출력, LCD 커넥터

대체 보드 (초기 보드)[편집]

기능이 향상 된 보드가 나오고 있으나, Duemilanove 등을 포함한 몇몇 보드는 여전히 널리 사용되고 있다.

모델프로세서형상호스트 인터페이스입출력출시일/공개일요약모양모델명MCU동작 주파수크기 [mm]인터페이스동작전압플래쉬

(KiB)

EEPROM (KiB)SRAM (KiB)디지털(핀)PWM
(핀)
아날로그

(핀)

Serial Arduino[52]ATmega8[53]16 MHzArduino81.3x53.3DE-9 시리얼 연결native"아두이노"라는 이름이 처음 붙음.

Arduino USB[2]ATmega8[53]16 MHzArduino81.3x53.3USBFTDI FT232BMRS-232 인터페이스를 USB로 대체되었고, 전원이 호스트로 부터 공급가능함.
Arduino Extreme[2]ATmega8[53]16 MHzArduino81.3x53.3USB이전 모델보다 더 많은 SMD 부품 사용.[2]

Arduino NG (Nuova Generazione)[2]ATmega8[53]16 MHzArduino81.3x53.3USBFTDI FT232RLFT232BM 대신 FT232RL로 대체 되고, 핀 13에 LED 추가.
Arduino NG plusATmega168[38]16 MHzArduino81.3x53.3USB

Arduino BT (Bluetooth)[54][55]ATmega168[38]
ATmega328[37]
16 MHzArduino81.3x53.3Bluetooth168/328P5 V321214462007-10-22[56]블루투스 모듈을 통한 시리얼 통신.[54]

Arduino Diecimila[57]ATmega168 (DIP-28)[38]16 MHzArduino68.6x53.3USBFTDI5 V160.5114662007-10-22[56]향상: 호스트 아두이노 리셋 가능, 리셋(reset)과 3.3 V 핀, 외부 전원으로 부터 전압변환.

Arduino Duemilanove (2009)[58][59]ATmega168,[38]ATmega328P
(ATmega328 새 버전)
16 MHzArduino68.6x53.3USBFTDI5 V16/320.5/11/214662008-10-19[60]향상 : USB와 외부 전원 공급 자동전환.

Arduino Mega[61][62]ATmega1280[63]16 MHzMega101.6x53.3USBFTDI5 V128485414162009-03-26[64]SMD ATmega1280 사용.[65]

//ko.wikipedia.org/wiki/%EC%95%84%EB%91%90%EC%9D%B4%EB%85%B8_%EB%B3%B4%EB%93%9C

다운로드할 Arduino의 버젼을 선택하십시오:

소프트웨어 버젼호환성출시일크기다운로드
Arduino 1.8.5원도우 XP, 윈도우 Vista, 윈도우 7, 윈도우 200002.10.201790.30MB다운로드
Arduino 1.8.4원도우 XP, 윈도우 Vista, 윈도우 7, 윈도우 200022.08.201789.60MB다운로드
Arduino 1.8.3원도우 XP, 윈도우 Vista, 윈도우 7, 윈도우 200005.06.201789.60MB다운로드
Arduino 1.8.2원도우 XP, 윈도우 Vista, 윈도우 7, 윈도우 200027.03.201789.60MB다운로드
Arduino 1.8.1원도우 XP, 윈도우 Vista, 윈도우 7, 윈도우 200010.01.201789.40MB다운로드
Arduino 1.8.0원도우 XP, 윈도우 Vista, 윈도우 7, 윈도우 200023.12.201687.70MB다운로드
Arduino 1.7.10원도우 XP, 윈도우 Vista, 윈도우 7, 윈도우 200002.06.2016136.60MB다운로드
Arduino 1.6.9원도우 XP, 윈도우 Vista, 윈도우 7, 윈도우 200011.05.201684.20MB다운로드
Arduino 1.6.8원도우 XP, 윈도우 Vista, 윈도우 7, 윈도우 200009.03.201684.10MB다운로드
Arduino 1.6.7원도우 XP, 윈도우 Vista, 윈도우 7, 윈도우 200017.12.201580.02MB다운로드
Arduino 1.6.6원도우 XP, 윈도우 Vista, 윈도우 7, 윈도우 200007.11.201577.72MB다운로드
Arduino 1.6.5-r5원도우 XP, 윈도우 Vista, 윈도우 7, 윈도우 200031.08.201577.72MB다운로드
Arduino 1.6.5-r2원도우 XP, 윈도우 Vista, 윈도우 7, 윈도우 200026.06.201576.62MB다운로드
Arduino 1.6.4원도우 XP, 윈도우 Vista, 윈도우 7, 윈도우 200007.05.201576.62MB다운로드
Arduino 1.6.3원도우 XP, 윈도우 Vista, 윈도우 7, 윈도우 200002.04.201576.62MB다운로드
Arduino 1.6.2원도우 XP, 윈도우 Vista, 윈도우 7, 윈도우 200030.03.201598.70MB다운로드
Arduino 1.6.1원도우 XP, 윈도우 Vista, 윈도우 7, 윈도우 200010.03.2015102.00MB다운로드
Arduino 1.6.0원도우 XP, 윈도우 Vista, 윈도우 7, 윈도우 200009.02.201552.50MB다운로드
Arduino 1.0.6원도우 XP, 윈도우 Vista, 윈도우 7, 윈도우 200016.09.201495130KB다운로드
Arduino 1.0.5원도우 XP, 윈도우 Vista, 윈도우 7, 윈도우 200015.05.201395130KB다운로드

Libraries

The Arduino environment can be extended through the use of libraries, just like most programming platforms. Libraries provide extra functionality for use in sketches, e.g. working with hardware or manipulating data. To use a library in a sketch, select it from Sketch > Import Library
A number of libraries come installed with the IDE, but you can also download or create your own. See these instructions for details on installing libraries. There's also a tutorial on writing your own libraries. See the API Style Guide for information on making a good Arduino-style API for your library.

Standard Libraries

  • EEPROM - reading and writing to "permanent" storage
  • Ethernet / Ethernet 2 - for connecting to the internet using the Arduino Ethernet Shield, Arduino Ethernet Shield 2 and Arduino Leonardo ETH
  • Firmata - for communicating with applications on the computer using a standard serial protocol.
  • GSM - for connecting to a GSM/GRPS network with the GSM shield.
  • LiquidCrystal - for controlling liquid crystal displays (LCDs)
  • SD - for reading and writing SD cards
  • Servo - for controlling servo motors
  • SPI - for communicating with devices using the Serial Peripheral Interface (SPI) Bus
  • SoftwareSerial - for serial communication on any digital pins. Version 1.0 and later of Arduino incorporate Mikal Hart's NewSoftSerial library as SoftwareSerial.
  • Stepper - for controlling stepper motors
  • TFT - for drawing text , images, and shapes on the Arduino TFT screen
  • WiFi - for connecting to the internet using the Arduino WiFi shield
  • Wire - Two Wire Interface (TWI/I2C) for sending and receiving data over a net of devices or sensors.

The Matrix and Sprite libraries are no longer part of the core distribution.

101 Only Libraries

  • CurieBLE - Interact with smartphones and tablets with Bluetooth Low Energy (BLE).
  • CurieIMU - Manage the on-board accelerometer and gyro.
  • CurieTimerOne - Allows to use Timer functions.
  • CurieTime - Allows to control and use the internal RTC (Real Time Clock)

Due Only Libraries

  • Audio - Play audio files from a SD card.

Due, Zero and MKR1000 Libraries

  • USBHost - Communicate with USB peripherals like mice and keyboards.
  • Scheduler - Manage multiple non-blocking tasks.

Zero, MKRZERO and MKR1000 Libraries

  • AudioFrequencyMeter - Sample an audio signal and get its frequency back
  • AudioZero - Play audio files from a SD card
  • RTC - Real Time Clock to schedule events
  • ArduinoSound - A simple way to play and analyze audio data
  • I2S - To use the I2S protocol on SAMD21

WiFi 101 and MKR1000 Library

  • WiFi101 - library to be used only with Wifi shield 101
  • WiFi101OTA - Over-the-air updates on MKR1000

MKR WiFi 1010, MKR VIDOR 4000 and Arduino UNO WiFi Rev.2

  • WiFi NINA - library to use the WiFi Nina module of the above boards.

MKR Motor Carrier Only Library

  • MKR Motor Carrier - Library to be used with the MKR Motor Carrier

MKR FOX 1200 only Library

  • SigFox - library to be used only with MKRFOX1200

MKR WAN 1300 only Library

  • MKRWAN - library to be used only with MKR WAN 1300

MKR GSM 1400 only Library

  • MKRGSM - library to be used only with MKR GSM 1400

Esplora Only Library

  • Esplora - this library enable you to easily access to various sensors and actuators mounted on the Esplora board.

Arduino Robot Library

  • Robot - this library enables easy access to the functions of the Arduino Robot.

Yún devices Library

  • Bridge Library - Enables communication between the Linux processor and the microcontroller on the Yún.
  • Ciao Library - Aims to simplify interaction between microcontroller and Linino OS allowing a variety of connections with most common protocols

USB Libraries (Leonardo, Micro, Due, Zero and Esplora)

  • Keyboard - Send keystrokes to an attached computer.
  • Mouse - Control cursor movement on a connected computer.

Contributed Libraries

If you're using one of these libraries, you need to install it first. See these instructions for details on installation. There's also a tutorial on writing your own libraries.

Communication (networking and protocols):

  • Messenger - for processing text-based messages from the computer
  • NewSoftSerial - an improved version of the SoftwareSerial library
  • OneWire - control devices (from Dallas Semiconductor) that use the One Wire protocol.
  • PS2Keyboard - read characters from a PS2 keyboard.
  • Simple Message System - send messages between Arduino and the computer
  • SSerial2Mobile - send text messages or emails using a cell phone (via AT commands over software serial)
  • Webduino - extensible web server library (for use with the Arduino Ethernet Shield)
  • X10 - Sending X10 signals over AC power lines
  • XBee - for communicating with XBees in API mode
  • SerialControl - Remote control other Arduinos over a serial connection



Sensing:

  • Capacitive Sensing - turn two or more pins into capacitive sensors
  • Debounce - for reading noisy digital inputs (e.g. from buttons)



Displays and LEDs:

  • GFX - base class with standard graphics routines (by Adafruit Industries)
  • GLCD - graphics routines for LCD based on the KS0108 or equivalent chipset.
  • Improved LCD library fixes LCD initialization bugs in official Arduino LCD library
  • LedControl - for controlling LED matrices or seven-segment displays with a MAX7221 or MAX7219.
  • LedControl - an alternative to the Matrix library for driving multiple LEDs with Maxim chips.
  • LedDisplay - control of a HCMS-29xx scrolling LED display.
  • Matrix - Basic LED Matrix display manipulation library
  • PCD8544 - for the LCD controller on Nokia 55100-like displays (by Adafruit Industries)
  • Sprite - Basic image sprite manipulation library for use in animations with an LED matrix
  • ST7735 - for the LCD controller on a 1.8", 128x160 TFT screen (by Adafruit Industries)



Audio and Waveforms:

  • FFT - frequency analysis of audio or other analog signals
  • Tone - generate audio frequency square waves in the background on any microcontroller pin



Motors and PWM:

  • TLC5940 - 16 channel 12 bit PWM controller.



Timing:

  • DateTime - a library for keeping track of the current date and time in software.
  • Metro - help you time actions at regular intervals
  • MsTimer2 - uses the timer 2 interrupt to trigger an action every N milliseconds.



Utilities:

  • PString - a lightweight class for printing to buffers
  • Streaming - a method to simplify print statements



Reference Home

Corrections, suggestions, and new documentation should be posted to the Forum.

The text of the Arduino reference is licensed under a Creative Commons Attribution-ShareAlike 3.0 License. Code samples in the reference are released into the public domain.

정리하면

아두이노 보드에 회로를 꾸미고

아두이노 IDE를 사용해서

C언어로 프로그램을 작성한 후 컴파일하고

아두이노 보드에 프로그램을 업로드해서 

실행합니다. 

등록된 댓글이 없습니다.

  • 이전글
  • 다음글
  • 목록
  • 글쓰기

Toplist

최신 우편물

태그