반응형

개발자 1215

nano 33 iot 보드 타이머 인터럽트 예제

모듈식 신세사이저 클럭-Modular synth clock. 원래 게시글 BPM 및 듀티 사이클은 두 개의 로터리 엔코더를 사용하여 업데이트됩니다. 출력은 Eurorack Modular 신디사이저를 제어하기 위해 잭 소켓을 통해 0-3.3v입니다. 배경: 저는 NANO 33 IoT로 작업 해 왔으며 UNO / MEGA에서 코드를 전송할 때 타이머에 여러 문제가있었습니다. 이 때문에 SAM D21 플랫폼에서 내부 타이머 (TC)를 배우고 사용하는 방법을 배울 때라고 생각합니다. 이 스레드의 게시물 # 8에서 제공한 Markus Bader 코드는 많은 도움이되었습니다 (아래 링크). BPM이 120 (4/4)이고 듀티 사이클이 50 % 인 SAMD21 TC 카운트 기능의 기본 예를 누구나 공유 할 수 있습니..

개발자/Arduino 2020.10.20

스마트 팩토리 연결도와 소스코드 20201018

가끔은 일도 하는 게 맞다. 아침 저녁으로 국화에 물을 주고, 달리기로 정해진 날에 비록 재미가 없더라도 달리고, 가을이 가득 차는 나무와 하늘과 바람을 아주 많이 쐬고 나서 그래도 시간이 남으면 일을 하기 바란다. 사람은 어떤 일이든 할 일을 가져야 한다. 그래야 잡념에 빠지지 않는다. 현재 되어 있는 곳까지 정리는 하고 간다. 며칠 내로 마무리해야 하기 때문이다. 아래는 연결도면이다. 거리센서와 사운드 센서는 코드에 없다. 회로 연결도는 그려야 하고, 여기서는 표로 나타내었다. 표를 참고한 곳은 'Introduction to the Nano 33 IoT' 에서 카피해 수정하였다. Left side Board Image Right side Extra function Analog Pin Number Di..

개발자/Arduino 2020.10.18

인공지능 윤리에 관한 4가지 쟁점

인공지능 윤리에 관한 4가지 쟁점 지난 몇 년간 인공지능이 유발하는 윤리적 문제가 주목받으면서 해외 유수의 기관들은 일련의 원칙과 지침 등을 수립해 왔다. 하버드대 버크만센터는 “원칙에 입각한 인공지능(Principled Artificial Intelligence)” 연구를 통해 주요한 인공지능 원칙 36개의 내용을 분석하여 공통되는 8가지 핵심 주제를 선정하였다. 연구에서 제시한 키워드 8개는 개인정보(privacy), 책무(accountability), 안전 및 보안(safety and security), 투명성 및 설명 가능성(transparency and explainability), 공정성 및 비차별(fairness and nondiscrimination), 인간의 기술 통제(human cont..

Nano 33 IoT 데이터 서버 전송 Get 방식

가을은 점점 가득 찬다. 곱게 물들어가는 날이 빠르기만 하다. 무엇을 놓치고 사는 게 중요한 게 아니라 무엇을 가지고 살아가는지 돌아볼 일이다. 스마트 팩토리 센서 데이터 전송으로 한참을 고생하다가 결국 출장을 가서 겨우 코드를 만들어 왔다. 어차피 할 거라서 잘해야겠다.라고 생각할 필요도 없다. 무슨 일을 하느냐가 중요한 게 아니라 일을 어떻게 하느냐가 중요하다고 말은 한다. 말이 의미하는 그 겉멋에 감동받게 되지만 속지 않아야 한다. 아무리 그래도 무슨 일을 하는지가 더 중요하다. 돈을 버는 일인지, 낭비를 하는 일인지, 자신을 성장시키는지 여하튼 어떻게 하더라도 일 자체가 자지고 있는 특성은 변함이 없다. 그래서 그런지 무엇 하나 되더라도 너무 어렵게 된다. 데이터가 전혀 들어오지 않는다고 해서 출..

개발자/Arduino 2020.10.13

openweathermap 온도 데이터를 섭씨온도로 변환

읽어 온 데이터를 char 배열이라고 하자. 우선 온도 데이터 char 배열을 String으로 변환한다. 캘빈 데이터를 섭씨 온도로 변화하는 방법은 K - 273.15 = 섭씨 온도가 된다. 코드로 옮기면 아래와 같다. // Print the data extracted from the JSON void printclientData(const struct clientData* clientData) { Serial.print("Temp = "); String receivedTemp = clientData->temp; Serial.print(receivedTemp.toFloat()-273.15); Serial.println(" ℃"); Serial.print("Humidity = "); Serial.print..

개발자/Arduino 2020.10.13

Decoding and Encoding JSON with Arduino Nano 33 IoT 3

Encoding JSON – Generate JSON string, JSON 인코딩 – JSON 문자열 생성 다음 JSON 문자열을 인코딩 / 생성하는 방법을 알아 보겠습니다. {"sensor":"gps","time":1351824120,"data":[48.756080,2.302038]} 여기에서 enconding에 대한 문서를 읽을 수 있습니다. ArduinoJson 라이브러리를 가져옵니다. #include Arduino JSON은 사전 할당 된 메모리 풀을 사용하여 객체 트리를 저장하며, 이는 StaticJsonBuffer에 의해 수행됩니다. ArduinoJson Assistant를 사용하여 정확한 버퍼 크기를 계산할 수 있지만, 이 예에서는 200이면 충분합니다. StaticJsonBuffer js..

개발자/Arduino 2020.10.12

Decoding and Encoding JSON with Arduino Nano 33 IoT 1

Arduino로 JSON 데이터 주고받기와 OpenWeatherMap API 스마트 팩토리 분야 중 인쇄장비 데이터 송수신 장치를 개발 중입니다. 센서 데이터 수집 서버로 JSON 형식의 데이터를 주고받아야 하는 데 잘 안되네요. 센서 데이터 수집 서버하고 프로토콜 맞추는 일도 한참 걸리고, JSON은 알지도 못하니 배우면서 해야 하거든요. 이런. 아래 자료의 출처는 Decoding and Encoding JSON with Arduino or ESP8266 임을 알립니다. 정리가 잘 되어 있습니다. 관련 포스팅은 아래를 참고하십시요. ArduinoJson 데이터의 Decoding / Ecoding 예제 Decoding and Encoding JSON with Arduino Nano 33 IoT 2 Dec..

개발자/Arduino 2020.10.10

Decoding and Encoding JSON with Arduino Nano 33 IoT 2

Arduino로 JSON 데이터 주고받기와 OpenWeatherMap API 두 번째 포스팅 Arduino로 API 요청 프로그래밍하기 이전 포스팅과 이어서 진행합니다. 이전 포스팅을 보시려면 아래 링크를 따라가서 확인하십시요. Decoding and Encoding JSON with Arduino Nano 33 IoT 1 이제 지역 날씨 데이터를 반환하는 URL이 생겼습니다. 이 작업을 자동화하고 Arduino 또는 ESP8266 프로젝트에서 해당 데이터에 액세스 할 수 있습니다. 다음은 켈빈 및 습도로 온도를 반환하기 위해 이더넷 실드가있는 Arduino에 업로드해야하는 전체 스크립트입니다. 아래 코드는 Ethernet을 사용합니다. Nano 33 iot에서 제대로 출력하는 코드는 끝 부분에 있습니다..

개발자/Arduino 2020.10.09

ArduinoJson 데이터의 Decoding / Ecoding 예제

간단하게 아두이노 Nano 33 IoT 보드에서 확인할 수 있도록 예제를 제공합니다. Decoding / Parsing 예제 구문은 아래에 있고 IoT보드에 올리려서 테스트하느 코드도 함께 올립니다. char json[] = "{\"sensor\":\"gps\",\"time\":1351824120,\"data\":[48.756080,2.302038]}"; StaticJsonBuffer jsonBuffer; JsonObject& root = jsonBuffer.parseObject(json); const char* sensor = root["sensor"]; long time = root["time"]; double latitude = root["data"][0]; double longitude = roo..

개발자/Arduino 2020.10.08

format을 가진 출력을 위한 sprintf( ), dtostrf( )

아두이노에서 직렬 통신 또는 LCD 등에 문자열을 출력할 수 있다. 이때, format을 가진 내용을 단순히 print( )라는 함수만으로 구현하기는 귀찮은 면이 있다. 이때 사용하는 함수가 sprintf( )이다. 이 함수는 아두이노를 구성하는 AVR에서 제공하는 함수이다. int sprintf( char *buffer , const char *format[,argument]...) C-언어에서 printf( )가 문자열을 화면에 출력하는데 비해 sprintf( )는 첫번째 매개변수인 buffer에 출력한다. 즉, 출력할 내용이 문자열 buffer에 저장된다. 이 문자열 buffer[ ]를 전송하면 format이 있는 양식으로 직렬포트 또는 LCD에 출력할 수 있다. char buffer[20]; in..

개발자/Arduino 2020.10.07

SSD1306 OLED 로 LM35 온도센서 값을 디스플레이

아두이노에서 온도 습도와 같은 데이터를 ssd1306 oled에 디스플레이하기 위한 소스코드를 보려고 찾아서 코드를 올려둡니다. 아래 참고 사이트에 기록된 사이트를 번역하여 올려둔 내용임을 알립니다. 이 튜토리얼은 Arduino UNO 보드를 SSD1306 OLED 디스플레이 및 LM35 아날로그 온도 센서와 인터페이스 하는 방법을 보여줍니다. 이 프로젝트에서 SSD1306 OLED 디스플레이 (128x64 픽셀)는 섭씨, 켈빈 및 화씨로 환경 온도를 표시하는 데 사용됩니다. Arduino를 SSD1306 OLED 디스플레이와 인터페이스 하는 방법을 보려면 다음 게시물을 방문하십시오. Interfacing Arduino with SSD1306 OLED display 이 프로젝트에서 SSD1306 OLED..

개발자/Arduino 2020.10.07

달리기와 술자리도 마다하고, 여기까지 돌아가는 코드

임베디드 프로그램을 짤 때는 대부분 사소한 코드로 시간을 다 잡아먹는다. % 하나 더 붙였다고, 아랫줄과 윗줄이 바뀌었다고 방금 전까지 잘 나오던 디스플레이가 안 나오는 경우도 있고, 마이크로 컨트롤러 내부에서 일어나는 일을 알지 못하니 에러가 나면 정확한 위치를 찾기도 어렵다. 이것저것 해보지 말아야 한다. 검증된 코드만 사용하고, 순서를 정확히 지킨다. 이런 과정을 정확히 배운 때가 있었다. 아마 가장 먼저 입사한 연구소에서 펌웨어와 C언어를 배웠을 때다. 훈련하는 날이 화, 목, 토로 정해져 있다. 반드시 지켜야 하는 훈련이라 달리러 나갈 때 날도 좋은 데 왜 달려요? 혹은 인생이 좀 힘들죠? 하는 질문은 등산하는 사람에게 왜 산에 올라가느냐는 질문과 같다. 마찬가지로 달리지 않을 때도 이유 없다...

개발자/Arduino 2020.10.06

Nano 33 IoT 보드 온도 습도 센서 dht11 테스트

DHT11은 NTC 방식으로 온도센서와 프로세서를 포함하고 있고 트리거 신호에 의해 온도와 습도 값을 40bit로 보내어 줍니다. 40bit에는 습도(상위 8Bit, 하위 8bit) + 온도(상위 8Bit, 하위 8bit) + Parity Bit(8bit)로 되어 있습니다. 0001 0101 0000 0000 + 0001 0110 0000 1000 + 0011 0011 그럼 NTC 가 무엇인지 알아보겠습니다. 저항의 온도 계수에 따라 서미스터는 크게 두 종류로 구분할 수 있습니다. k(1차 저항 온도 계수) > 0인 경우, 서미스터의 저항은 온도에 따라 증가하며, 이러한 서미스터를 정특성 서미스터(PTC thermistor:Positive Temperature Coefficient thermistor)라..

개발자/Arduino 2020.10.06

Nano 33 IoT 보드 간단한 서버 만들고 AP로 동작

이 예제에서 간단한 웹 서버를 사용하면 웹을 통해 LED를 깜박일 수 있습니다. 이 예에서는 beginAP( ) 함수를 사용하여 로컬 WiFI 네트워크에 의존하지 않고 액세스 포인트를 설정합니다. 이 예제는 WiFi 모듈의 IP 주소를 Arduino 소프트웨어 (IDE) 직렬 모니터에 나타냅니다. 보드의 IP 주소를 알고 나면 웹 브라우저에서 해당 주소를 열어 Nano 33 IoT 보드의 13번 BuilrIn LED를 켜고 끌 수 있습니다. 보드의 IP 주소가 yourAddress 인 경우 : http://yourAddress/H는 LED를 켭니다. http://yourAddress/L는 LED를 끕니다. 서버로 동작하는 씨리얼 모니터 화면은 다음과 같습니다. 아래 소스코드를 보면 arduino_secr..

개발자/Arduino 2020.10.03

Nano 33 IoT 보드 WiFi 스캔 코드

Nano33 IoT 보드는 저전력 아키텍처와 결합된 WiFi 및 Bluetooth 연결을 지원하는 소형 보드로 네트워크 연결 프로젝트를위한 실용적이고 비용 효율적인 해결책이다. Wifi 와 bluetooth chip 에 대한 설명자료는 링크를 참고합니다. 반복해서 나오는 이미지는 중요한 이유겠죠. Nano 33 IoT 보드의 Pinmap 이미지를 참고하세요. 특징적인 굵은 글씨를 참고하세요. This table highlights some of the features Product variants Antenna Antenna pin ✓ Internal antenna – Short range features Bluetooth qualification v4.2 (Bluetooth low energy and ..

개발자/Arduino 2020.10.03
반응형