BASIC4MCU | 질문게시판 | 아두이노 C언어 차이점 질문
페이지 정보
작성자 master 작성일2018-09-01 08:58 조회25,818회 댓글0건본문
안녕하세요. 학교에서 C언어랑 아두이노를 배우고 있는데 이해가 잘 안돼서요.C언어는 무엇인지, 아두이노는 무엇인지 둘의 차이점이 뭔지 궁금하네요.
//
c 언어는 여러가지 언어중의 하나이고요
아두이노 등 저(낮은 사양의)급의 MCU에서 주로 사용하는 언어입니다.1. 프로그래밍 언어[편집]
ABAP : SAP용 프로그램 개발에 사용되는 언어. 코볼의 영향을 받아 영어 문장 쓰듯이 코딩을 할 수 있다. 언어에 SQL이 내장되어 있는 것이 특징.[1]
BASIC : 시분할 개념이 도입
C : 상당히 초기에 개발된 언어면서 동시에 고급언어임에도 어셈블리에 맞먹는 하드웨어 제어가 가능해서 혼자 '중급언어'라는 카테고리를 만들어 들어가는 경우도 있다.
CoffeeScript : JavaScript를 간략하게 만든 언어. 결과물로 JavaScript가 나온다.#
D : 처음에는 Mars라는 이름으로 불렸었다.
Elixir : 동적, 함수형 언어.#
Erlang : 병행성 언어.
Factor : Forth의 영향을 받은 스택 기반 언어.
Haskell : 함수형 언어
LISP : 함수형 언어.
Kotlin : JVM용과 자바스크립트로 컴파일이 된다.
Objective-C : 보통 Obj-C로 쓴다. 애플 제품에 주로 쓰인다.
Processing : 미디어 아트 지향 언어.
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 : 그래픽카드 쉐이더 언어.
LabVIEW : G라는 그래픽 기반의 프로그래밍 언어를 사용하여 텍스트가 아닌 아이콘으로 코딩한다.
VHDL : 하드웨어 기술 언어.
Verilog : 하드웨어 기술 언어.
UML : C나 Java처럼 바로 소프트웨어로 만들어지는 언어는 아니지만, 소프트웨어를 설계할수 있는 언어.
XML : 마크업 언어의 일종으로, 데이터를 구조적으로 저장하고 교환하기 위해 만든 문서 양식.
스크래치 : LabView와 방식이 같다.
GML : 게임메이커 스튜디오에서 쓰이는 언어. 일단 게임메이커 스튜디오를 제작한 요요게임즈 공식 사이트에서는 programming language(프로그래밍 언어)라고 소개하고 있으나, GML을 쓰는 소프트웨어는 게임메이커 스튜디오 하나 뿐이고 게임제작을 제외한 다른 부분에서 쓸수 없는 언어이다.[3]
아두이노는 몇종류의 보드 및 그 보드를 사용하기 위한 IDE(통합개발환경) 입니다.아두이노 보드는 아두이노를 기반으로 여러 종류가 생산되어 판매되고 있다. 주로 AVR의 아트메가(ATmega)를 위주로 만들어 지고, ARM 계열도 포함되어 있다.[1]
MCU 아두이노 보드[1] AVR ATmega168 Pro(168), Mini(168), LilyPad (168V) ATmega328 UNO, ETHERNET, Fio, Nano, Pro(328), Mini(328, Rev5), Pro Mini, LilyPad/Simple (328V) ATmega2560 Mega 2560, Mega ADK ATmega32U4 YÙN, Leonardo, Esplora, Micro, LilyPad USB, ROBOT(Control,Motor) ATtiny85 GEMMA ARM Cortex-M0+ Zero, Zero Pro, M0, M0 PRO Cortex-M3 Due 상업용 아두이노 보드[편집]
- 아두이노 보드 예
쉴드 (Shield)[편집]
쉴드는 아두이노 보드의 마이크로컨트롤러와 호환 가능한 여러 부가 모듈을 커넥터로 연결하여 기능을 추가하는 부품이다. 주로 입출력 장치를 부가한다.
- 아두이노 쉴드
기타 부품[편집]
- 아두이노 보조
아두이노 제품[편집]
수 많은 아두이노 보드가 만들어져 사용되고 있다 :[2][3]
모델 프로세서 형상 호스트 인터페이스 입출력 출시일/공개일 요약 모양 모델명 MCU 동작 주파수 크기 인터페이스 동작전압 플래쉬 (KiB)
EEPROM (KiB) SRAM (KiB) 디지털(핀) PWM
(핀)아날로그 (핀)
Arduino Uno[4][5] ATmega328P[6] 16 MHz Arduino 68.6x53.3mm
[2.7x2.1 in]USB 8U2[7](Rev1&2)/ 16U2[8](Rev3)
5 V 32 1 2 14 6 6 2010-09-24[9] Duemilanove 이후 모델로 ATmega328 사용. Duemilanove가 FTDI USB 칩을 사용하였으나 Uno는 ATmega16U2 (Rev3이전버전은 ATmega8U2)을 사용하여 시리얼 변환.
Arduino Mega2560[10][11] ATmega2560[12] 16 MHz Mega 101.6x53.3mm
[4x2.1 in]USB 8U2[7](Rev1&2)/ 16U2[8](Rev3)
5 V 256 4 8 54 15 16 2010-09-24[9] 256 KiB 메모리. ATmega16U2(Rev3이전에는 ATmega8U2) USB 칩. Duemilanove, Diecimila, 또는 Uno 등의 모양과 맞추어져 있고 기타의 핀이 확장 됨. Arduino Leonardo[13][14] Atmega32U4[15] 16 MHz Arduino 68.6x53.3mm
[2.7x2.1 in]USB 32U4[15] 5 V 32 1 2.5 20 7 12 2012-07-23[16] Leonardo는 Atmega32U4 사용, USB 컨트롤러가 장착. Zero Arduino Zero[17]
Arduino Zero Pro[18]ATSAMD21G18A[21](ARM Cortex-M0+) 48 MHz Arduino 101.6x53.3mm
[4x2.1 in]USB Native & EDBG Debug 3.3 V 256 0~16Kb 에뮬레이션 32 14 12 6 출시일
2015-06-15[22]공개
2014-05-15[23]베타 테스트 2014-08-01[24]
Arduino Due[25][26] ATSAM3X8E[27](ARMCortex-M3) 84 MHz Mega 101.6x53.3mm
[4x2.1 in]USB 16U2[8] + native host[28] 3.3 V 512 0[29] 96 54 12 12 2012-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 AR933116 MHz,
400 MHzArduino 68.6x53.3 mm
[2.7x2.1 in]USB 5 V 32 kB,
16 MB1 kB,
0 kB2.5 kB,
64 MB14 6 12 2013-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 V 32 1 2 14 6 8 2010-03-18[34] USB-XBee 소켓 연결 가능.[35] Arduino Nano[36] ATmega328[37]
(ATmega168 v3.0이전버전[38])16 MHz 소형 43.18x18.54mm
[1.70x0.73 in]USB FTDI FT232R[39] 5 V 16/32 0.5/1 1/2 14 6 8 2008-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 V 16 0.5 1 14 6 6 2008-08-23[42] Arduino 축소 버전으로 표면장착 프로세서 사용. Arduino Micro[43] ATmega32U4[15] 16 MHz 17.8x48.3mm
[0.7x1.9 in]5 V 32 1 2.5 20 7 12 2012-11-08[44] Adafruit과 같이 디자인함. LilyPad Arduino[45] ATmega168V or ATmega328V 8 MHz wearable 51 mm⌀
[2 in ⌀]2.7-5.5 V 16 0.5 1 14 6 6 2007-10-17[46] 웨어러블(wearable) 응용 가능. Arduino Pro [47] ATmega168 or ATmega328[47] 16 MHz Arduino 52.1x53.3mm
[2.05x2.1 in]UART 시리얼, I2C(TWI), SPI FTDI 5 V or 3.3 V 16/32 0.5/1 1/2 14 6 6 SparkFun Electronics에서 디자인하고 판매. Arduino ADK Arduino Mega ADK[48] ATmega2560[12] 16 MHz Mega 101.6x53.3mm
[4x2.1 in]8U2[7]
MAX3421E
USB Host5 V 256 4 8 54 14 16 2011-07-13[49] Arduino Ethernet[50] ATmega328[37] 16 MHz Arduino 68.6x53.3mm
[2.7x2.1 in]Ethernet 시리얼 인터페이스 328P 5 V 32 1 2 14 4 6 2011-07-13[49] 위즈넷(WIZnet)의 W5100칩을 사용한 Arduino Ethernet Shield와 Pro가 합쳐짐. 마지막 버전에서 PoE(Power over Ethernet)지원. Arduino Esplora[51] Atmega32U4[15] 16 MHz 165.1x61.0mm
[6.5x2.4 in]32U4[15] 5 V 32 1 2.5 2012-12-10 아날로그 조이스틱, 버튼 4개, 센서, 2 TinkerKit 입력 및 2 출력, LCD 커넥터
대체 보드 (초기 보드)[편집]
기능이 향상 된 보드가 나오고 있으나, Duemilanove 등을 포함한 몇몇 보드는 여전히 널리 사용되고 있다.
https://ko.wikipedia.org/wiki/%EC%95%84%EB%91%90%EC%9D%B4%EB%85%B8_%EB%B3%B4%EB%93%9C
모델 프로세서 형상 호스트 인터페이스 입출력 출시일/공개일 요약 모양 모델명 MCU 동작 주파수 크기 [mm] 인터페이스 동작전압 플래쉬 (KiB)
EEPROM (KiB) SRAM (KiB) 디지털(핀) PWM
(핀)아날로그 (핀)
Serial Arduino[52] ATmega8[53] 16 MHz Arduino 81.3x53.3 DE-9 시리얼 연결 native "아두이노"라는 이름이 처음 붙음. Arduino USB[2] ATmega8[53] 16 MHz Arduino 81.3x53.3 USB FTDI FT232BM RS-232 인터페이스를 USB로 대체되었고, 전원이 호스트로 부터 공급가능함. Arduino Extreme[2] ATmega8[53] 16 MHz Arduino 81.3x53.3 USB 이전 모델보다 더 많은 SMD 부품 사용.[2] Arduino NG (Nuova Generazione)[2] ATmega8[53] 16 MHz Arduino 81.3x53.3 USB FTDI FT232RL FT232BM 대신 FT232RL로 대체 되고, 핀 13에 LED 추가. Arduino NG plus ATmega168[38] 16 MHz Arduino 81.3x53.3 USB Arduino BT (Bluetooth)[54][55] ATmega168[38]
ATmega328[37]16 MHz Arduino 81.3x53.3 Bluetooth 168/328P 5 V 32 1 2 14 4 6 2007-10-22[56] 블루투스 모듈을 통한 시리얼 통신.[54] Arduino Diecimila[57] ATmega168 (DIP-28)[38] 16 MHz Arduino 68.6x53.3 USB FTDI 5 V 16 0.5 1 14 6 6 2007-10-22[56] 향상: 호스트 아두이노 리셋 가능, 리셋(reset)과 3.3 V 핀, 외부 전원으로 부터 전압변환. Arduino Duemilanove (2009)[58][59] ATmega168,[38]ATmega328P
(ATmega328 새 버전)16 MHz Arduino 68.6x53.3 USB FTDI 5 V 16/32 0.5/1 1/2 14 6 6 2008-10-19[60] 향상 : USB와 외부 전원 공급 자동전환. Arduino Mega[61][62] ATmega1280[63] 16 MHz Mega 101.6x53.3 USB FTDI 5 V 128 4 8 54 14 16 2009-03-26[64] SMD ATmega1280 사용.[65] 다운로드할 Arduino의 버젼을 선택하십시오:
소프트웨어 버젼 호환성 출시일 크기 다운로드 Arduino 1.8.5 원도우 XP, 윈도우 Vista, 윈도우 7, 윈도우 2000 02.10.2017 90.30MB 다운로드 Arduino 1.8.4 원도우 XP, 윈도우 Vista, 윈도우 7, 윈도우 2000 22.08.2017 89.60MB 다운로드 Arduino 1.8.3 원도우 XP, 윈도우 Vista, 윈도우 7, 윈도우 2000 05.06.2017 89.60MB 다운로드 Arduino 1.8.2 원도우 XP, 윈도우 Vista, 윈도우 7, 윈도우 2000 27.03.2017 89.60MB 다운로드 Arduino 1.8.1 원도우 XP, 윈도우 Vista, 윈도우 7, 윈도우 2000 10.01.2017 89.40MB 다운로드 Arduino 1.8.0 원도우 XP, 윈도우 Vista, 윈도우 7, 윈도우 2000 23.12.2016 87.70MB 다운로드 Arduino 1.7.10 원도우 XP, 윈도우 Vista, 윈도우 7, 윈도우 2000 02.06.2016 136.60MB 다운로드 Arduino 1.6.9 원도우 XP, 윈도우 Vista, 윈도우 7, 윈도우 2000 11.05.2016 84.20MB 다운로드 Arduino 1.6.8 원도우 XP, 윈도우 Vista, 윈도우 7, 윈도우 2000 09.03.2016 84.10MB 다운로드 Arduino 1.6.7 원도우 XP, 윈도우 Vista, 윈도우 7, 윈도우 2000 17.12.2015 80.02MB 다운로드 Arduino 1.6.6 원도우 XP, 윈도우 Vista, 윈도우 7, 윈도우 2000 07.11.2015 77.72MB 다운로드 Arduino 1.6.5-r5 원도우 XP, 윈도우 Vista, 윈도우 7, 윈도우 2000 31.08.2015 77.72MB 다운로드 Arduino 1.6.5-r2 원도우 XP, 윈도우 Vista, 윈도우 7, 윈도우 2000 26.06.2015 76.62MB 다운로드 Arduino 1.6.4 원도우 XP, 윈도우 Vista, 윈도우 7, 윈도우 2000 07.05.2015 76.62MB 다운로드 Arduino 1.6.3 원도우 XP, 윈도우 Vista, 윈도우 7, 윈도우 2000 02.04.2015 76.62MB 다운로드 Arduino 1.6.2 원도우 XP, 윈도우 Vista, 윈도우 7, 윈도우 2000 30.03.2015 98.70MB 다운로드 Arduino 1.6.1 원도우 XP, 윈도우 Vista, 윈도우 7, 윈도우 2000 10.03.2015 102.00MB 다운로드 Arduino 1.6.0 원도우 XP, 윈도우 Vista, 윈도우 7, 윈도우 2000 09.02.2015 52.50MB 다운로드 Arduino 1.0.6 원도우 XP, 윈도우 Vista, 윈도우 7, 윈도우 2000 16.09.2014 95130KB 다운로드 Arduino 1.0.5 원도우 XP, 윈도우 Vista, 윈도우 7, 윈도우 2000 15.05.2013 95130KB 다운로드 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
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언어로 프로그램을 작성한 후 컴파일하고아두이노 보드에 프로그램을 업로드해서실행합니다.
댓글 0
조회수 25,818등록된 댓글이 없습니다.