정해진 틀 없이 자유로운 주제와 도구로 아이디어를 실현합니다
시제품부터 양산까지, 실제 사업화를 목표로 합니다
누코드 DK로 함께 만들고 성장하는 메이커들의 공간
NU-MAKERS 커뮤니티의 생생한 순간들
대한민국 누코드의 메이커 커뮤니티로, 한국에서 만든 모듈과 초보자용/전문가용 DK(Development Kit)로 자유로운 프로젝트를 진행하는 양산 연계 시제품 개발 플랫폼입니다.
아두이노 IDE 호환
NU-MAKERS 커뮤니티가 만들어낸 혁신적인 프로젝트들
NU40 DK를 활용한 실시간 데이터 수집 및 모니터링 시스템
NU54 EVK 기반 스마트홈 통합 제어 시스템
NU87 DK로 구현한 장애물 회피 자율주행 플랫폼
NU40 EVK를 활용한 생체신호 측정 웨어러블 디바이스
NU54 DK 기반 자동 환경 제어 시스템
여러 NU 보드를 활용한 대규모 센서 네트워크 구축
누코드 DK/EVK 시작하기
공식 아두이노 웹사이트에서 아두이노 IDE 2.x 버전을 다운로드하고 설치합니다. (Windows, Mac, Linux 모두 지원)
아두이노 IDE 다운로드아두이노 IDE를 실행하고 파일 > 환경설정(Preferences) 메뉴를 엽니다. "추가 보드 매니저 URL" 필드에 아래 URL을 입력하세요.
https://raw.githubusercontent.com/NUCODE-TECH/Arduino/main/package_nucode_index.json
💡 팁: 여러 URL이 있을 경우 쉼표(,)로 구분하거나 창 옆 버튼을 눌러 추가할 수 있습니다.
도구 > 보드 > 보드 매니저 메뉴를 엽니다. 검색창에 "nucode"를 입력하고 NUCODE by NUCODE를 찾아 "설치" 버튼을 클릭합니다.
검색: nucode → NUCODE by NUCODE 설치
⏳ 설치에 몇 분 정도 소요될 수 있습니다.
NU 보드를 USB로 PC에 연결합니다. 도구 > 보드 메뉴에서 사용하는 NUCODE 보드를 선택하고, 도구 > 포트에서 연결된 COM 포트를 선택합니다.
🔌 포트가 보이지 않는다면 드라이버 설치를 확인하세요.
파일 > 예제 > 01.Basics > Blink를 열어 LED 점멸 예제를 실행합니다. 업로드 버튼(→)을 클릭하여 보드에 업로드합니다.
파일 > 예제 > 01.Basics > Blink
✅ 보드의 LED가 1초 간격으로 깜박이면 성공입니다!
누코드 DK/EVK 예제 코드 모음
기본 LED 점멸 예제 - 모든 NU 보드에서 사용 가능
// LED Blink Example for NU Boards
void setup() {
pinMode(LED_BUILTIN, OUTPUT);
}
void loop() {
digitalWrite(LED_BUILTIN, HIGH); // LED ON
delay(1000); // 1초 대기
digitalWrite(LED_BUILTIN, LOW); // LED OFF
delay(1000); // 1초 대기
}
시리얼 통신 기본 예제
// Serial Communication Example
void setup() {
Serial.begin(115200);
Serial.println("NU-MAKERS Board Ready!");
}
void loop() {
if (Serial.available()) {
String input = Serial.readStringUntil('\n');
Serial.print("Received: ");
Serial.println(input);
}
}
아날로그 센서 값 읽기
// Analog Sensor Reading
const int sensorPin = A0;
void setup() {
Serial.begin(115200);
}
void loop() {
int sensorValue = analogRead(sensorPin);
float voltage = sensorValue * (3.3 / 4095.0);
Serial.print("Sensor Value: ");
Serial.print(sensorValue);
Serial.print(" | Voltage: ");
Serial.println(voltage);
delay(500);
}
DHT 온습도 센서 예제
// DHT Sensor Example (requires DHT library)
#include "DHT.h"
#define DHTPIN 4
#define DHTTYPE DHT22
DHT dht(DHTPIN, DHTTYPE);
void setup() {
Serial.begin(115200);
dht.begin();
}
void loop() {
float humidity = dht.readHumidity();
float temperature = dht.readTemperature();
Serial.print("Temperature: ");
Serial.print(temperature);
Serial.print("°C | Humidity: ");
Serial.print(humidity);
Serial.println("%");
delay(2000);
}
WiFi 연결 예제 (NU40/NU54 EVK)
// WiFi Connection Example
#include
const char* ssid = "YOUR_SSID";
const char* password = "YOUR_PASSWORD";
void setup() {
Serial.begin(115200);
WiFi.begin(ssid, password);
Serial.print("Connecting to WiFi");
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("\nConnected!");
Serial.print("IP Address: ");
Serial.println(WiFi.localIP());
}
void loop() {
// Your code here
}
Bluetooth Low Energy 비콘 예제
// BLE Beacon Example
#include
#include
#include
#define SERVICE_UUID "4fafc201-1fb5-459e-8fcc-c5c9c331914b"
#define CHARACTERISTIC_UUID "beb5483e-36e1-4688-b7f5-ea07361b26a8"
void setup() {
Serial.begin(115200);
BLEDevice::init("NU-MAKERS Device");
BLEServer *pServer = BLEDevice::createServer();
BLEService *pService = pServer->createService(SERVICE_UUID);
BLECharacteristic *pCharacteristic = pService->createCharacteristic(
CHARACTERISTIC_UUID,
BLECharacteristic::PROPERTY_READ |
BLECharacteristic::PROPERTY_WRITE
);
pCharacteristic->setValue("Hello from NU-MAKERS!");
pService->start();
BLEAdvertising *pAdvertising = BLEDevice::getAdvertising();
pAdvertising->addServiceUUID(SERVICE_UUID);
pAdvertising->start();
Serial.println("BLE device is ready!");
}
void loop() {
delay(1000);
}
FreeRTOS를 활용한 멀티태스킹
// FreeRTOS Multi-Task Example
void taskBlink(void *pvParameters) {
pinMode(LED_BUILTIN, OUTPUT);
while(1) {
digitalWrite(LED_BUILTIN, HIGH);
vTaskDelay(500 / portTICK_PERIOD_MS);
digitalWrite(LED_BUILTIN, LOW);
vTaskDelay(500 / portTICK_PERIOD_MS);
}
}
void taskSerial(void *pvParameters) {
while(1) {
Serial.println("Task is running...");
vTaskDelay(1000 / portTICK_PERIOD_MS);
}
}
void setup() {
Serial.begin(115200);
xTaskCreate(taskBlink, "Blink Task", 1024, NULL, 1, NULL);
xTaskCreate(taskSerial, "Serial Task", 2048, NULL, 1, NULL);
}
void loop() {
// Empty - tasks handle everything
}
저전력 딥슬립 모드 활용
// Deep Sleep Mode Example
#define SLEEP_TIME 60 // seconds
void setup() {
Serial.begin(115200);
delay(1000);
Serial.println("Going to sleep for " + String(SLEEP_TIME) + " seconds");
esp_sleep_enable_timer_wakeup(SLEEP_TIME * 1000000ULL);
esp_deep_sleep_start();
}
void loop() {
// Never reached due to deep sleep
}
NU-MAKERS와 함께하는 파트너사들