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

23조 - 스물셋

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

전동킥보드 우리 모두 안전하게!!!

문제의 발견

요즘 들어 길거리에 전동킥보드를 타는 사람들이 많아졌다. 그런데 많은 사람들이 안전장치를 미착용 하거나 2인 이상 타는 등의 안전수칙을 올바르게 숙지하고 있지 않다. 그래서 아래와 같이 사고가 났을 경우 보다 더 큰 피해를 입을 수 있다. 그리하여 우리 조는 아두이노를 이용하여 문제를 해결하기로 하였다.
1.
안전장치 미착용
전동 킥보드 사고 환자 50% '얼굴·머리 부위' 다친다
2.
전동킥보드 2명 이상 탑승

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

최근 정부에서 전동킥보드 안전사고의 문제를 인식하여 그에 따른 안전 지침을 세우고, 위반 시 범칙금을 주는 등의 노력을 하고 있지만 실상 법의 제재는 미약하며 새로운 법을 개정하는 것에도 무리가 있고 전동킥보드 탑승 시 안전장치 미착용 또는 2인 이상 탑승으로 발생하는 안전 문제를 해결하기 위해 초음파 센서 와 터치패드 그리고 모터 제어를 통해 위 2가지 조건을 충족시켜야만 킥보드가 작동하도록 코딩을 하여 모형 킥보드를 만들어 보았다.

이렇게 만들었어요

초음파 센서와 키패드 그리고 서보모터와 LCD를 이용했어요!!
#include <Servo.h> #include <Wire.h> #include <hd44780.h> #include<hd44780ioClass/hd44780_I2Cexp.h> Servo servo_45c4; hd44780_I2Cexp lcd; int value=0; int angle = 0; int trig =12; int echo=13; float distance = 0; float duration =0; void setup() { // put your setup code here, to run once: Serial.begin(9600); servo_45c4.attach(8); lcd.begin(16,2); pinMode(2,INPUT_PULLUP); pinMode(3,INPUT_PULLUP); pinMode(4,INPUT_PULLUP); pinMode(5,INPUT_PULLUP); pinMode(trig, OUTPUT); pinMode(echo, INPUT); } void loop() { // 초음파 센서를 통해 측정값(trig)값을 받아들이고 거리를 계산하는 코드 digitalWrite(trig,HIGH); delay(1); digitalWrite(trig,LOW); duration = pulseIn(echo,HIGH); distance = ((float)(duration * 340) / 10000) / 2 ; //value값이 0 이고 측정거리가 5 보다 작은면 ==> 한명이 탑승해있고 헬멧을 착용한 상태 if(value ==0 && (distance >5) ) { lcd.init(); //LCD클리어 lcd.setCursor(0,0); //각 코드의 문구를 각각 LCD에 축력 lcd.print("Kickboard in use"); lcd.setCursor(0,1); lcd.print("plz hemlt,alone"); angle +=20; //각도 20씩 증가시켜 회전 180도가 되면 0으로 reset if(angle ==180) angle =0; } servo_45c4.write(angle); if(distance<5 ) //초음파 측정거리가 5이상일 경우 => 헬멧을 쓰지 않았을 경우 { lcd.init(); //LCD클리어 lcd.setCursor(0,0); //각문구를 LCD화면에 출력 lcd.print("not wearing"); lcd.setCursor(1,1); lcd.print("a helmet"); } if(distance >5) //초음파 거리가 5이하 일경우 => 헬멧을 쓰고있을경우 { value = check_press(); //혼자 탑승하였는지를 확인 하는 함수를 통해 value값을 확인 delay(1000); //1초 딜레이 } } int check_press() { //키패드 변수 선언 int key1S = digitalRead(2); int key2S = digitalRead(3); int key3S = digitalRead(4); int key4S = digitalRead(5); //초음파 거리 출력 Serial.print(distance); Serial.println(" "); // 키패드가 모두 눌려졌을 경우 => 두명이상 탑승할 경우 if( (!(key1S)&&!(key2S)&&!(key3S)&&!(key4S)) ) { lcd.init(); //LCD클리어 아래의 코드 LCD출력 lcd.setCursor(0,0); lcd.print("only one ride"); return 10; //value값 10 리턴 } else return 0; //아닐경우 => 혼자 탈경우 value값 0리턴 }
JavaScript
준비물
헬멧 착용 여부를 확인하기 위해 헬멧 걸이에 초음파 센서를 달아서 헬멧 걸이에 헬멧이 달려있으면 킥보드 작동이 멈추도록 코딩을 하였다. 반대로 헬맷을 착용하면 킥보드가 작동한다.
2명 이상의 사람이 킥보드에 탑승하는 것을 방지하기 위해 4개 이상의 키패드 센서가 눌리면 킥보드가 작동이 되지 않도록 코딩을 하였다.
위 2개의 조건을 LCD패널과 서보모터를 통해 확인 할 수 있다. 먼저 LCD의 경우 헬멧이 걸려있는 상태인지 아닌지 2명 이상 타고 있는지 아닌지 LCD화면에 상태가 표시되도록 코딩하였다. 또한 서보모터는 평소에는 작동되다 헬맷을 착용하지 않거나 4개 이상의 키패드가 눌려지는 경우 작동을 중지한다.
작동영상

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

대상고객
1. 안전장치를 착용하지 않고 안전수칙을 지키지 않는 킥보드 이용객
2. 전동킥보드 사고에 대한 정책을 만들어야 하는 정부
3. 전동킥보드 회사
수익모델- 전동킥보드 소프트웨어를 통한 수익 창출
시장조사
TAM(전체시장)-전동킥보드 시장규모
SAM(유효시장)-전동킥보드 대여 회사 시장규모
SOM(수익시장)-전동킥보드 대여 회사 중 헬멧을 제공하는 회사 시장규모
하지만 킥보드 회사들은 아래 자료와 같이....
전동킥보드 탑승 시 헬멧 착용을 의무화하는 규제를 완화해 달라고 요구를 하고 있다. 정부에서도 사고를 줄이기 위해 헬멧 미착용 시 2만원의 범칙금을 내도록 하였고, 그로 인해 전동킥보드 이용 횟수가 감소 되었기 때문에 헬멧을 무조건 착용하게 만드는 기술을 당연히 킥보드 회사들은 꺼려할 것이고 기술을 사려고 하지 않을 것이다. 우리가 조사한 시장이 킥보드 회사인데 킥보드 회사가 원하지 않으면 판매가 안 될 것이고 그러면 수익을 창출 해낼 수 없다.
그리하여 생각해낸 방법은 정부와 협의를 하는 것이다. 정부에서도 안전사고를 줄이기 위하여 많은 노력하고 있지만, 아직도 헬멧을 안 쓰고 다니는 사람들이 많고 잘 지켜지지 않고 있다. 그렇다고 킥보드 타는 사람들을 일일이 감시 할 수도 없으므로 우리가 만든 기술을 정부가 산다면 킥보드 회사에 배포를 하여 꼭 설치를 하라고 권유를 하여 전동킥보드 회사에 나오는 킥보드에 우리 프로그램을 설치하면 앞으로 사람들이 킥보드를 탈 때 헬멧을 꼭 착용할 수 밖에 없으므로 머리가 다치는 등 큰 사고를 예방하고 2인 이상 타지 못하게 함으로써 사고를 줄이는 것이 저희가 기대하고 있는 효과입니다. 이렇게 정부에게 우리의 기술을 판매함으로써 수익을 창출해 낼 계획입니다.

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

Fenny_전인석: 생각보다 12주란 시간이 빨리 지나간 것 같고 아두이노를 한번은 집중적으로 배우고 싶었는데 12주 동안 충분히 배운 것 같아서 만족스럽고 수가업 속 경남사회문제를 해결하고 조원들과 토론하는 부분도 이런 이야기들을 처음 해봐서 어색하고 많이 낯설었지만 12주 동안 계속 말을 해보고 이걸 아두이노를 이용하여 어떻게 해결하면 좋을까 라는 생각들이 경남사회문제의 부분에서 더 이해하기 쉽고 더 접근하기 쉽게 완화 되어 12주 동안 큰 어려움과 없이 너무 쉽게 이해하고 재밌게 수업을 들은 것 같습니다!
Bin_안병빈 : 짧지 않은 12주라는 기간 동안 아침마다 일어나기 힘들텐데 한번도 지각하거나 빠진 적 없었던 우리 팀원들한테 고맙고, 매주 팀원들과 팀미션을 할수록 친해질 수 있었던 거 같아 좋았고 경남의 문제를 해결 하기 위해 팀원들과 같이 토론을 하면서 문제 해결 방안을 찾을 수 있었다. 그리고 팀원들과 같이 모여서 작품을 만들고 발표를 준비 하면서 재미있었고 좋은 경험을 할 수 있었던 거 같습니다. 그리고 멘토님들 덕분에 어렵게만 생각했던 아두이노를 재미있게 배울 수 있었던 거 같아 좋았습니다.
Nichol_김병희 : 4차 산업시대가 도래하면서 많은 전문인들이 코딩의 중요성을 언급하는 것을 알고 USG 아두이노 활동에 신청하였습니다. 단지 아두이노가 무엇인지 호기심에 신청하였으나 매주 토요일마다 듣는 양질의 수업은 비대면에도 불과하고 적절한 피드백과 팀원 간의 의사소통을 통해 코딩에 대한 좋은 인식을 쌓을 수 있었습니다. 특히 경남의 문제를 해결해보자는 조별 프로젝트를 통해 킥보드 안전 문제 해결에 도움이 되는 장치를 직접 생각해 보는 것부터 실제로 만들고 가치를 설정하여 시장에 판매할 계획을 짜는 활동은 향후 창업을 비롯한 팀플에 큰 도움이 되는 경험치를 얻었다는 생각에 뿌듯합니다. 마지막으로 12주간 모든 활동에서 빠짐없이 만난 저희 조원들과 멘토님에게 감사의 인사를 나눕니다.
Cherry_박민지 : 아두이노를 한 번도 접해 본 적이 없어서 아두이노에 대한 호기심이 많았고 이번 기회에 배워두면 좋을 것 같아 참여했었습니다. 처음엔 12주가 되게 길다고 느껴졌는데 매주마다 경남의 문제점을 찾아 해결방안을 모색하고 아두이노에 어떻게 접목시켜 해결할 것인지 생각하고 팀원들과 같이 하나하나 해나가다 보니 12주가 금방 지나갔습니다. 팀 미션 뿐만 아니라 개인 미션도 어렵지 않게 알려주셔서 잘 따라갈 수 있었습니다. 다음에 아두이노를 사용하게 될 때 지금보다는 어색하지 않게 다룰 수 있을 것 같고 처음 접해보는 것들도 많았는데 다른 프로젝트를 진행할 때 도움이 될 것 같은 것들을 배워갑니다. 12주 동안 함께한 팀원, 멘토분들 모두 감사합니다!