본문 바로가기

컴퓨터78

[아두이노] Uno에서 Adafruit_SSD1306와 SoftwareSerial 동시 사용 불가(OLED와 Bluetooth) 아래 상황 처럼 위의 스캐치를 업로드 한 경우 Adafruit_SSD1306와 SoftwareSerial 즉, OLED와 Bluethooth모듈을 동시에 사용하고 싶은 경우 위 스캐치는 업로드 되고 작동 잘 되는데 아래 스케치에서는 Oled가 작동이 안된다. 이유는 메모리 때문이다. https://github.com/adafruit/Adafruit_SSD1306/issues/28 incompatibility with SoftwareSerial · Issue #28 · adafruit/Adafruit_SSD1306 As soon as I instantiate a SoftwareSerial object, my OLED display doesn't work anymore. I tried different pi.. 2021. 12. 3.
[아두이노] 안드로이드와 BLE(Bluetooth4) 통신3 - 앱으로 데이터 전송 0. 준비 앞서 아래 글에서 안드로이드 앱에서 아두이노로 블루투스 통신을 통해 값을 전송했었다. https://waytocse.tistory.com/74 [아두이노] 안드로이드와 BLE(Bluetooth4) 통신2 - 회로도/코드 0. 준비 앞서 아래 글을 통해 통신할 안드로이드를 개발하고 https://waytocse.tistory.com/73 [아두이노] 안드로이드와 BLE(Bluetooth4) 통신1 - 안드로이드 개발 0. 준비 안드로이드에서 BLE통신을 구현하. waytocse.tistory.com 이 글에서 이어서 진행한다. 1. 아두이노 블루투스 통신 회로도 앞 글과 아두이노 회로도는 같다. RX를 5번, TX를 4번핀에 연결한다. GND를 연결하고 VCC를 3.3V에 연결한다. 2. 아두이.. 2021. 12. 2.
[아두이노] 안드로이드와 BLE(Bluetooth4) 통신2 - 회로도/코드 0. 준비 앞서 아래 글을 통해 통신할 안드로이드를 개발하고 https://waytocse.tistory.com/73 [아두이노] 안드로이드와 BLE(Bluetooth4) 통신1 - 안드로이드 개발 0. 준비 안드로이드에서 BLE통신을 구현하는 것은 매우 어렵고 복잡하다. 그래서 reference문서를 보거나 서칭해가면서 ble를 직접 앱상에 구현해보려고했는데 너무 어려워서 일단 중단하고 프로 waytocse.tistory.com 그 다음 이 글의 과정을 진행해야한다. 그리고 이 글은 아두이노 우노를 기준으로 작성됐다. 아두이노 메가에서 작동하는 것은 아래 링크의 문제해결3번을 참고하면서 이 글을 따라하면 된다. https://waytocse.tistory.com/77 아두이노 메가와 OLED, BLE(.. 2021. 11. 30.
[아두이노] 안드로이드와 BLE(Bluetooth4) 통신1 - 안드로이드 개발 0. 준비 안드로이드에서 BLE통신을 구현하는 것은 매우 어렵고 복잡하다. 그래서 reference문서를 보거나 서칭해가면서 ble를 직접 앱상에 구현해보려고했는데 너무 어려워서 일단 중단하고 프로젝트 기능 완성에 초점을 맞춰보기 위해 구현된 ble앱을 깃헙에서 다운받아서 필요한 UI만 새로 코딩하여 작동시키는 방식으로 진행했다. 이용한 ble앱은 SimpleBluetoothLeTerminal로 깃헙주소는 다음과 같다. https://github.com/kai-morich/SimpleBluetoothLeTerminal GitHub - kai-morich/SimpleBluetoothLeTerminal: Android terminal app for Bluetooth LE devices using custom.. 2021. 11. 30.
[아두이노] OLED에 온습도 센서값 출력하기 oled에 온습도 값과 토양습도값을 출력하고자 한다. 소스코드는 다음과 같다. #include #include #include #include #include "Timer.h" //pin setting int soil = A0; DHT11 dht11(A2); Timer t; //value initialize float humi=0, temp=0,soilmoisture=0; #define SCREEN_WIDTH 128 // OLED display width, in pixels #define SCREEN_HEIGHT 64 // OLED display height, in pixels Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, -1); void .. 2021. 11. 15.
[아두이노] OLED 아두이노 우노(Arduino UNO R3)를 기준으로 작성했다. 아두이노 메가를 기준으로 하고싶다면 이 글을 따라하고 아래 게시글의 문제해결 2번을 참고하면 된다. https://waytocse.tistory.com/77 아두이노 메가와 OLED, BLE(HM-10) 연동 오류 해결 전에 아두이노 우노에서 oled와 블루투스 모듈을 한번에 사용하려고 했다가 메모리 문제로 인해 동시 사용을 못하게 된 후 (바로 그 문제를 직면했던 날 게시글) https://waytocse.tistory.com/76 [아두이 waytocse.tistory.com OLED을 통해 원하는 문구나 그림을 표시할 수 있다. 내가 사용한 OLED는 전에 ESP로 OLED동작시켰을 때와 같은 [ELECROW] 128x64 OLED 디.. 2021. 11. 15.
[아두이노] 토양습도센서 SoilMoisture 회로는 딱히 말할 거 없이 5V VCC, GND연결하고 DO이나 AO을 출력핀에 연결한다. 나는 A0를 출력핀으로 설정했다. 코드는 다음과 같다. int soil = A0; void setup() { Serial.begin(9600); } void loop() { int value = analogRead(soil); Serial.print("read sensor value: "); Serial.println(value); //수분이 없으면 1023, 수분이 높을수록 0 delay(1000); } 다음과 같은 환경에서 실행을 해본다. 수분이랑 닿아있지 않음으로 1023이 나타날 것이다. 시니얼모니터로 본 결과는 다음과 같다. 굿. 2021. 11. 15.
[아두이노] DHT11 온습도 센서 + 타이머 기능 활용 아래와 같이 코드를 작성한다. Timer를 사용하고 싶지 않다면 그냥 바로 loop에다가 온습도값 출력을 하면 된다. #include #include "Timer.h" int pin=A2; //출력핀 아날로그2로 설정 DHT11 dht11(pin); Timer t; void setup(){ Serial.begin(9600); t.every(2000, getValue); //2초마다 getValue()함수 호출 } float humi=0, temp=0; void loop(){ t.update(); } void getValue(){ //온습도값 출력 dht11.read(humi, temp); Serial.print("temperature: "); Serial.println(temp); Serial.print.. 2021. 11. 15.
임베디드시스템설계실험 텀프 - 손 크기에 따른 세정제 양 분출 조절기 작년 이 맘때쯤했던 임베디드 시스템 설계 및 실험 텀프로젝트 당시 코로나로 인해 어딜가든 손세정제를 볼 수 있었는데 수동으로 짜서 쓰는(펌프) 손세정제나 자동분출기들은 사람들의 다양한 손 크기에 따라 양 조절이 불가하여 세정제를 낭비하게 됨과 공공장소에 비치된 세정제들은 통이 비어도 빠른 교체가 되지 않는 불편함에서 착안하여 이 프로젝트를 기획하게 됐다. 그래서 프로젝트의 목표는 다음과 같다. 수업시간에 배운 여러 센서 및 보드의 기능을 이용하여 하드웨어를 개발한다. Bluetooth 와 같은 통신 관련 기능을 이용하고 인터럽트를 활용한다. 센서 사이 의존성을 추가하여 한 센서 값이 다른 센서 이용을 호출하도록 개발한다. 낭비되는 손 세정제의 양을 줄이고 알맞지 않은 양으로 인한 사용자의 불편을 줄인다... 2021. 11. 14.
새내기 자료구조 멘토링 - Stack,Queue,Tree,Graph 오늘은 교내 학술동아리 신입회원분들을 대상으로한 멘토링에서 자료구조 멘토링을 진행했습니다. Stack, Queue, Tree, Graph를 위주로 퀴즈를 풀어가면서 자료구조를 빠르고 쉽게 찍어먹어 봤습니다. 제 소개를 드리고 배울 내용에 대해 소개드렸습니다. (멘토 소개 생략) 인터넷에 검색해보면 Primitive Data Structure는 char, integer, real, string, pointer.. 처럼 다양하게 적혀있습니다. 아마 프로그래밍 언어별로 다를 수도 있는 것 같습니다. 그래서 그냥 크게 신경쓰지 않고 Boolean, Char, Integer, Floating-Point로 나눴습니다. Non-Primitive Data Structure도 검색해보면 많이 다르게 나뉘는데 그냥 대충!.. 2021. 11. 14.
Sort에 사용하는 Compare 커스텀 + priority_queue 비교연산자 차이 주로 vector를 정렬할 때 sort를 사용하는데 vector 가 아니라 vector vector 같은 것을 사용하게 되는 경우 기본 오름차수 sort가 의도하는 대로 작동이 안되거나 그냥 작동이 안되기 때문에 커스텀으로 compare함수나 오브젝트를 만들어서 sort(v.begin(), v.end(), compare)로 사용할 필요가 있습니다. https://www.cplusplus.com/reference/algorithm/sort/ sort - C++ Reference custom (2)template void sort (RandomAccessIterator first, RandomAccessIterator last, Compare comp); www.cplusplus.com 레퍼런스를 참고해보면.. 2021. 11. 9.
깃허브를 이용한 알고리즘 스터디 하는법 Github에 잔디심기가 은근히 신경쓰일 때도 있습니다. 그럴 때는 알고리즘 스터디를 할 때 깃허브를 이용하면서 잔디도 심을겸 알고리즘 공부도 할 수 있습니다! 깃허브를 이용한 알고리즘 그룹스터디 하는 법 직접 깃허브 레파지토리를 만드셔도 됩니다!! 제가 이용하고 있는 스터디 기준으로 소개하겠습니다. https://github.com/ellynhan/Challenge100_Code_Test_Study GitHub - ellynhan/Challenge100_Code_Test_Study: 알고리즘 코딩테스트 문제풀이 스터디 - 100문제를 목표로🔥 알고리즘 코딩테스트 문제풀이 스터디 - 100문제를 목표로🔥. Contribute to ellynhan/Challenge100_Code_Test_Study dev.. 2021. 10. 24.