공장 내 설비와 기계에 사물인터넷(IoT)을 설치하여 공정 데이터를 실시간으로 수집하고, 이를 분석하고 스스로 제어할 수 있는 공장을 스마트 팩토리라고 한다.
그렇다면 당연히 IoT를 활용하는 방법을 알아야한다!!
이를 위한 기초 활동으로 아두이노를 사용해보려고 한다.
1. C언어란?
1970년대 초 AT&T의 Dennis Ritchie 에 의하여 개발되었으며 UNIX 운영 체제 개발에 필요해서 만들어졌다.
장점으로는 간결하고 효울적이며, 강력하고 유연하다.
무슨 말인지 너무 어렵죠...?! 쉽게 말하면 사람과 컴퓨터 사이의 의사소통을 위한 프로그래밍 언어라고 생각하시면 됩니다.
- C프로그래밍의 기본 골격
2. 아두이노란?
2005년 이탈리아 Masimo Banzi 교수 팀에 의해 개발되었으며 절친한 친구라는 어원을 가지고 있습니다.
사용하기 쉬운 하드웨어와 소프트웨어를 기반으로 한 오픈 소스 플랫폼이며 인터엑티브 프로젝트를 만들려는 모든 사람 을 위해 만들어졌습니다.
장점은 무료로 쉽게 배우고 응용할 수 있으며 프로토타입을 만들기에 적합하고 활용되는 주변 장치가 저렴합니다. (이걸 무료로 배포하다니...)
저는 미세먼지 측정 프로젝트를 진행할 때 라즈베리파이를 사용했었습니다.
두 개의 큰 차이를 간단하게 설명하자면 둘 다 전자기기를 컨트롤 할 수 있지만 외부기기 제어가 주라면 아두이노를, 데이터 처리가 주라면 라즈베리파이를 사용하는것이 좋다고 합니다!
근데...미세먼지 측정하려면 외부기기(센서)를 제어하는 것도 중요하고 일정 주기마다 들어오는 수치를 측정해서 데이터를 처리하는 것도 중요한거 아닌가? 라고 생각이 들었는데 정답은 없답니다.
3. 개발환경 구축
1. 아두이노 설치
아래 사이트에 들어가서 자신의 컴퓨터 OS에 맞는 파일을 다운을 받으면 된다.
들어가면 갑자기 돈에 관한 팝업이 뜨는데, 무료배포이다 보니 자율적으로 기부금을 받는 것 같다.
왼쪽 아래에 JUST DOWNLOAD를 누루면 무료로 받을 수 있다.
https://www.arduino.cc/en/software
Software
Open-source electronic prototyping platform enabling users to create interactive electronic objects.
www.arduino.cc
***다운을 받은 다음에 실행파일을 폴터 밖으로 꺼내면 실행이 안되니 주의하자.
2. 스케치 화면
텍스트 에디터에 소스 코드를 작성한 뒤에 확인 or 업로드를 하면 상태 표시창에 막대바로 실행상태가 표시되고 알림메시지 창에 결과를 보여준다. (여기서 말하는 결과는 실행으로 나온 결과물이 아닌, 진행에 대한 결과이다)
3. 아두이노와 컴퓨터 연결
아두이노와 컴퓨터를 연결한 다음 툴 -> 포트 -> 할당된 번호 선택을 하면 연결이 된다. 아두이노에 초록색 버튼이 반짝반짝하면 연결이 잘 된 것이다.
4. 프로그램 업로드
아두이노 구동에 필요한 파일은 binary 파일이다. 그러므로 소스코드를 컴파일하여 binary 파일을 생성한 뒤에 아두이노에 업로드 한다.
5. 아두이노 프로그램 구조 및 규칙
* void setup() : 처음 1회만 실행되며 속성에 대한 정의와 관련된 내용이 들어간다.
* void loop() : 무한 반복으로 실행되며 전원이 공급되는 한 계속 동작할 내용이 들어간다.
- 대소문자를 구분
- 문장의 끝은 항상 세미콜론(;)으로 끝내야 한다.
- 괄호는 모양과 짝(열고 닫힘)이 맞아야 한다.
- setup() 함수와 loop()함수는 반드시 선언해야 한다.
- 주석: 프로그램 실행에서 제외되는 부분으로 사용자가 코드에 관한 설명을 기록하는 내용
- /* (문장 내용) */ : 1줄 이상되는 문장에서 사용되며, 범위로 지정한다.
- // : 해당줄만 주석으로 지정할 때 사용 - 신호 출력 프로그램
- pinMode(핀번호, 입력또는 출력) //디지털핀의 입출력 설정
- digitalWrite(핀번호,5V전압 또는 0V전압) //지정한 핀으로 디지털 신호 출력
- delay(msec) //시간 지연
6. 온라인 실습
꼭 아두이노를 직접 구매하지 않으면 실습을 해볼 수 없을까? 아니다. 착한 사람들이 온라인상에서 무료로 이용할 수 있도록 만들어놨다. 아래의 링크로 들어가서 회원가입을 한 뒤에, 메뉴창에 있는 "회로"로 들어가면 온라인 상으로도 아두이노를 연결하고 코드를 테스트 할 수 있다.
https://www.tinkercad.com/dashboard
'스마트한 개발 공부' 카테고리의 다른 글
[Arduino] ESP8266 WIFI Module 사용시 생기는 Port Error 해결 (2) | 2021.06.08 |
---|