교육 프로그램
home
선생님 도입 커리큘럼
home
🤟

14조 - 무지성 아두이노

삼각형을 누르면 목차가 나와요 클릭하면 바로 이동합니다!

우리 팀을 소개합니다

팀 소개: 저희 조의 이름은 무지성 아두이노 입니다. 함께해서 좋았던 점: 저희 조는 누구나 빠지는 일 없이 모두 함께 하였습니다! 팀 이름의 의미: 어렵고 힘든일이 있어도 너무 깊게 생각해 겁먹지말고 일단 부딪혀보자라는 의미 입니다.
팀원 소개

해커톤 프로젝트 타이틀을 적어주세요!

아래의 내용을 모두 채웠다면, 가이드라인 내용은 지워주세요! 아래의 내용은 필수로 적어주시되, 이외에 더 넣고 싶은 내용이 있다면 자유롭게 채워주세요

문제의 발견

문제의 결정은 큰 틀의 문제를 찾고 범위를 좁혀가며 최종 문제를 결정하기로 하였습니다. 큰 틀의 사회적 문제는 수도권으로의 인구 유출로 인한 고령화로 잡았습니다. 그 후 좀 더 세세한 문제를 찾기 위해 고령화에 대한 자료를 찾던 중, 고령화로 인해 경남지역의 독거노인 가구의 비율이 2015년 8.2%에서 2020년 9.8%까지 매해 증가하고 있다는 통계자료와 경남 지역의 무연고 사망자의 수가 2016년 83명에서 2020년 172명으로 매해 증가하고 있다는 통계를 찾았습니다. 앞의 두 자료는 경남지역의 독거노인문제와 고독 사문제를 보여주고 있습니다. 우리는 두 현상이 서로 연관된다고 생각하여 독거노인의 고독사문제를 주제로 결정하였습니다.

그래서 우리가 찾은 해결 방법은!

독거노인을 주 대상으로 고독사 문제를 해결하기 위해 건강 알리미를 만들었습니다.

이렇게 만들었어요

#include <OneWire.h> #include <DallasTemperature.h> #define PIN 3 #define LEDNUM 16 #include <Adafruit_NeoPixel.h> const int PulseWire = 0 ; #define USE_ARDUINO_INTERRUPTS true #include <PulseSensorPlayground.h> PulseSensorPlayground pulseSensor; Adafruit_NeoPixel strip = Adafruit_NeoPixel(LEDNUM, PIN, NEO_GRB + NEO_KHZ800); //DS18B20 온도 센서의 데이터선인 가운데 핀을 아두이노 3번에 연결합니다. #define ONE_WIRE_BUS 5 //1-wire 디바이스와 통신하기 위한 준비 OneWire oneWire(ONE_WIRE_BUS); // oneWire선언한 것을 sensors 선언시 참조함. DallasTemperature sensors(&oneWire); //다비아스 주소를 저장할 배열 선언 DeviceAddress insideThermometer; int c; void setup(void) { //시리얼 포트 초기화 Serial.begin(9600); Serial.println("Dallas Temperature IC Control Library Demo"); pulseSensor.analogInput(PulseWire); //1-wire 버스 초기화 sensors.begin(); //발견한 디바이스 갯수 Serial.print("Found "); Serial.print(sensors.getDeviceCount(), DEC); Serial.println(" devices."); // parasite power 모드일 때에는 2핀(GND와 DQ 핀)만 연결하면 됨. if (pulseSensor.begin()) { Serial.println("We created a pulseSensor Object !"); //This prints one time at Arduino power-up, or on Arduino reset. } Serial.print("Parasite power is: "); if (sensors.isParasitePowerMode()) Serial.println("ON"); else Serial.println("OFF"); //버스에서 첫번째 장치의 주소를 가져온다. if (!sensors.getAddress(insideThermometer, 0)) Serial.println("Unable to find address for Device 0"); //버스에서 발견한 첫번째 장치의 주소 출력 Serial.print("Device 0 Address: "); printAddress(insideThermometer); Serial.println(); //데이터시트에서 확인결과 9~12비트까지 설정 가능 sensors.setResolution(insideThermometer, 10); Serial.print("Device 0 Resolution: "); Serial.print(sensors.getResolution(insideThermometer), DEC); Serial.println(); strip.begin(); } // 온도를 출력하는 함수 void printTemperature(DeviceAddress deviceAddress) { //섭씨 온도를 가져옴 float tempC = sensors.getTempC(deviceAddress); Serial.print("Temp C: "); c=tempC+4; Serial.print(c); Serial.print(" Temp F: "); //화씨 온도로 변환 Serial.println(DallasTemperature::toFahrenheit(tempC)); } //디바이스 주소를 출력하는 함수 void printAddress(DeviceAddress deviceAddress) { for (uint8_t i = 0; i < 8; i++) { if (deviceAddress[i] < 16) Serial.print("0"); Serial.print(deviceAddress[i], HEX); } } void loop(void) { int myBPM = pulseSensor.getBeatsPerMinute(); if (pulseSensor.sawStartOfBeat()) { // Constantly test to see if "a beat happened". Serial.println("♥ A HeartBeat Happened ! "); // If test is "true", print a message "a heartbeat happened". Serial.print("BPM: "); // Print phrase "BPM: " Serial.println(myBPM); } Serial.print("Requesting temperatures..."); //sensors.requestTemperatures(); //연결되어 있는 전체 센서의 온도 값을 읽어옴 sensors.requestTemperaturesByIndex(0); //첫번째 센서의 온도값 읽어옴 Serial.println("DONE"); if((c >= 36) && (c < 37)) { for (int i = 0; i < myBPM/18; i++) { strip.setPixelColor(i,0,128,0); strip.show(); } delay(100); strip.clear(); } else if((c>=35) && (c<36)) { for (int i = 0; i < myBPM/18; i++) { strip.setPixelColor(i,128,106,0); strip.show(); } delay(100); strip.clear(); } else if((c>=34) && (c<35)) { for (int i = 0; i < myBPM/18; i++) { strip.setPixelColor(i,128,25,77); strip.show(); } delay(100); strip.clear(); } else if((c>=33) && (c<34)) { for (int i = 0; i < myBPM/18; i++) { strip.setPixelColor(i,128,0,0); strip.show(); } delay(100); strip.clear(); } else if(c<=32) { for (int i = 0; i < myBPM/18; i++) { strip.setPixelColor(i,0,0,0); strip.show(); } delay(100); strip.clear(); } else if((c>=37) && (c<38)) { for (int i = 0; i < myBPM/18; i++) { strip.setPixelColor(i,128,106,0); strip.show(); } delay(100); strip.clear(); } else if((c>=38) && (c<39)) { for (int i = 0; i < myBPM/18; i++) { strip.setPixelColor(i,128,25,77); strip.show(); } delay(100); strip.clear(); } else if((c>=39) && (c<40)) { for (int i = 0; i < myBPM/18; i++) { strip.setPixelColor(i,128,0,0); strip.show(); } delay(100); strip.clear(); } else if(c>40) { for (int i = 0; i < myBPM/18; i++) { strip.setPixelColor(i,0,0,0); strip.show(); } delay(100); strip.clear(); } //센서에서 읽어온 온도를 출력 printTemperature(insideThermometer); }
Arduino
복사

이러한 효과를 기대하고 있어요!

정성적, 정량적 기대효과를 알려주세요! 비즈니스 모델은 어떻게 잡아서 수익을 창출할 것인지, 이를 통해 사회적으로 낼 수 있는 효과는 어떤 것인지 등이요 서울시에서는 2020년 독거노인을 대상으로 한 IoT 프로그램에서 담당 생활지원사가 움직임 및 온도·습도·조도 등을 감지하는 환경데이터 수집 센서 기기를 설치, 감지된 데이터를 각 수행기관의 상황판과 담당 생활지원사 휴대전화 앱을 이용해 실시간 모니터링하였습니다. 일정 시간 동안 활동 움직임이 감지되지 않거나 온도·습도·조도 등에 이상 징후가 의심될 경우 담당 생활지원사가 즉시 노인 가정에 연락 및 방문하고, 119에 신고하는 등 긴급조치를 취하여 큰 위기상황을 예방하는 효과를 확인하였습니다. 따라서 이러한 센서 기기는 생명을 보호하는데 큰 효과를 보이는 것을 확인 할 수 있었고, 저희 제품은 더 확실한 정보 수집이 가능하여 보다 확실한 대처가 가능 할 것으로 예상됩니다. 저희가 잡은 비즈니스 모델은 초기엔 고독사의 위험이 높은 독거노인 분들부터 시작해 독거노인분들 뿐만 아니라, 타지에 혼자 사는 가족이 있거나, 집에 건강이 나쁜 가족이 있어 혼자 두고 사회활동이 하기 힘들어 생계유지에 어려움을 겪는 사람들 까지 대상으로 생각하고 있습니다. 저희가 생각한 제품 및 내용이 성공적으로 사회에 안착한다면 독거노인의 고독사를 줄이는 것은 물론이고, 홀로 사는 사람 및 그 가족에게 안심을 줄 수 있으며, 나아가서는 건강에 문제가 있는 사회 구성원의 사회 참여도 이끌어 낼 수 있을거라고 생각합니다. 출처 : 웰페어뉴스(http://www.welfarenews.net)

발표 자료가 궁금하다면?

이 아래에 발표 자료 혹은 링크를 첨부해주세요!
14조 발표자료 (무지성 아두이노).pptx
6619.9KB

appendix

12주 간의 기록을 더 자세히 보고 싶다면?

12주간의 여정을 통해 느낀 점

아래 카드의 이모지를 누르면 바꿀 수 있어요!
James_김제현 좋은 사람들과 좋은 만남을 가지고, 유익하고 즐거운 시간들을 보낸 것 같습니다. 아두이노에 대해서 다양한 활동을 통해 많이 알게되었고, 팀 프로젝트에서 처음 주제 선정 과정에서부터 문제 해결 방법 논의, 그리고 사업 구상과 재현해 보는 과정들을 겪음으로써 새로운 경험과 그리고 앞으로 우리가 대학교 과정을 끝낸 뒤, 사회로 나아 갔을 때 방향을 알려주는 지표가 되어줄 만한 좋은 경험을 한 것 같습니다. 무엇보다 이 과정을 아무 불만없이 같이 나아가준 무지성 아두이노 팀원들에게 고맙고 앞으로도 다들 잘 되었으면 좋겠습니다. ^~^
Nick_김세연 처음에는 4명씩 조를 이루어 시작했지만 다른 몇몇 조를 봤을 때 중간중간 빠지시는 분들이 보였습니다. 하지만 저희 조원들은 끝까지 포기하지 않고 참여하는 것에 뿌듯함을 많이 느꼈습니다. 매주 진행되는 개인미션으로 흥미로운 작품들도 많이 만들어 보는 경험 정말 재미 있었습니다. 그와 함께 진행되었던 팀 미션은 힘든 점도 분명 있었지만 팀원들과 하나씩 의견을 맞추고 해결해 나갈수록 보람있는 활동이었습니다. 얼마 남지 않았지만 마무리 잘 했으면 좋겠습니다! 무지성 아두이노 화이팅^^
Ale_손용경 처음 시작하였을 때에는 어떻게 이 많은 것을 해야하나, 시간이 너무 많이 남았다 등 걱정이 많았습니다. 하지만 매주 다양한 아이템을 만들어 보고 구동해보며, 아두이노에 대한 재미를 알 수 있었습니다. 또한 좋은 팀원분들에게 많은 도움을 받으며 시작할 때의 걱정과는 달리 여러 난관을 해쳐 앞으로 나아갈 수 있었습니다. 이 과정동안 얻은 학습적인 배움과 멘탈적인 배움을 앞으로 마음에 간직하겠습니다. 12주간 감사했습니다!
Young_이영래 새로운 사람들과 새로운 경험을 하게 되어서 인생에 있어서 커다란 교훈을 남기게 된 것 같습니다. 처음 팀 미션들을 할 때에는 "아두이노 하는 법을 배우려고 했지 이런 문제들을 생각해야 하나?" 라고 가볍게 생각했지만, 회차가 지나면서 사회 문제에 대해 진지하게 고민하고 있는 제 자신을 보게 되고 직장에서 또는 개인 사업을 통해 배울 수 있는 내용들을 멘토분들과 팀원들과의 활동을 통해서 직접 체험해보니 인생에 있어서 손에 꼽힐 정도로 유익했던 것 같습니다. 유종의미를 거두길 바라며 팀원분들과도 앞으로 연락 이어나가고 싶네요! 팀원분들 다들 너무 재밌었습니다ㅎㅎㅎ