요약
안녕하세요, 아이디어 창작 도우미 아두맨입니다.
오늘은 웹(wokwi)를 사용해 코딩하는 방법을 살펴보겠습니다.
아두이노 IDE 2에서 실제로 테스트하기 전 간단하게 웹(wokwi)에서 시뮬레이션 테스트하는 방법입니다.
실제 개발보드로 테스트 진행하는 것이 물론 좋지만,
핀을 수작업으로 일일이 연결하는 게 귀찮고 시간이 많이 소요됩니다.
시작하기에 앞서 wokwi가 뭔지 간단하게 살펴보자
wokwi란 온라인으로 간단하게 시뮬레이션할 수 있는 플랫폼이다. 하드웨어와 소프트웨어를 시뮬레이션하고 테스트할 수 있는 가상 랩 환경을 제공하며 교육용으로 사이트가 제작되었습니다.
다양한 언어와 MCU 하드웨어를 지원하며(라즈베리파이, 아두이노, ESP32, STM32 등) 각종 라이브러리를 적용할 수 있어서 실제 개발보드를 사용하는 것과 같은 환경을 제공합니다.
LED, LCD, WIFI, GYRO, PIR, MOTOR 등 개발에 필요한 센서들 종류가 다양하게 있으며 실제 제품을 사용할 때와 동일하게 동작합니다. 복잡하지 않은 WIFI연결도 지원하므로 FIREBASE, AWS 등 클라우드 연동 테스트 또한 확인 가능해서 웬만한 프로젝트는 모두 wokwi로 구현할 수 있습니다.
진짜 강력한 아두이노 웹 시뮬레이션 도구다!
아두이노 시뮬레이션 Wokwi 웹 시작
아두이노 시뮬레이션 테스트 웹 wokwi페이지를 접속해서 우측 상단에 SIGN IN으로 로그인합니다.
GOOGLE 아이디로 접속하면 1초 만에 로그인되니까 진짜 편합니다.
샘플코드를 작성해서 테스트해 보자
아두이노 우노를 클릭하고 스크롤을 조금 내려 Starter Templates에서 아두이노 우노를 선택합니다.
그러면 오른쪽 그림과 같이 아두이노 우노 모양이 나오며 테스트 환경은 끝났습니다.
그리고 실행버튼을 누르면 저장하라는 창이 뜨는데 Public으로 저장하면 됩니다.(유료 결제하면 Private 할 수 있으나 그냥 Public으로 진행합니다.)
LED 불빛 OUTPUT 제어
이제 Hello World 벽을 넘었으니 LED 불빛을 깜빡이는 Output 제어를 해보겠습니다.
실행 버튼 옆에 (+) 버튼을 누르면 각종 센서 리스트가 뜹니다.
아래 그림과 같이 회로를 구성하고 코드를 입력해서 불빛이 깜빡이는지 테스트 해보겠습니다.
코드를 복사 붙여 넣기만 하면 됩니다.
#define LED_PIN 3
int toggle = 0;
void setup() {
Serial.begin(115200);
pinMode(LED_PIN, OUTPUT);
}
void loop() {
toggle++;
digitalWrite(LED_PIN,toggle%2);
delay(500);
}
자세히 보면 LED에는 방향이 있고 led1:A가 3PIN 부분과 연결이 되어야 하고, led1:C가 저항과 연결되어야 정상적으로 동작합니다. (저항은 330Ω으로 설정)
LED 방향이 반대일 경우 아무런 동작이 되지 않습니다.
실제 개발보드로 진행할 때 위치가 틀리게 연결하면 각종 소자가 불에 타버리는 경우가 많이 발생됩니다.
하지만 시뮬레이션으로 실제 동작을 다 확인한 후에 연결하면 비교적 안전하게 작업을 할 수 있습니다. (정말 편하다)
펌웨어를 개발하는 과정에서 정말 알 수 없는 일들이 많이 발생합니다. (핀 연결 실수, 그라운드 이슈, 전압 이슈 등)
더 큰 문제는 내가 코드를 잘못 짜서 동작 안하나? 라는 의문으로 하드웨어 보단 코드를 다시 보게 됩니다.
하드웨어를 다시 수정해서 확인해도 동작 안 하면 정말 멘붕 오고 헤매게 됩니다.
이런 일을 최소한으로 줄일 수 있는 게 먼저 wokwi로 시뮬레이션해보는 겁니다.
하드웨어 부담 없이 연결해도 되고(불에 타지 않으니) 어디서든 테스트 가능하니 편합니다.
ESP32, PICO, STM 등을 아두이노로 개발할 때에는 가능하면 시뮬레이션으로 확인 후에 진행해 보도록 합시다.
'아두이노 > 장치설정' 카테고리의 다른 글
[아두이노] 아두이노 Serial Monitor 사용법 (0) | 2024.07.03 |
---|---|
[아두이노] 아두이노 우노 IDE 2 설치하는 방법 (0) | 2024.07.01 |