스파이크 프라임(Spike Prime)_ 겨울 학기 9주 차
오늘은 '키 작동식 도어' 3차시 수업으로, 카드 리더기를 사용한 '카드 키' 방식을 추가하여 카드의 색상을 인식하는 방식을 구현했습니다.
![[마곡 코딩] 스파이크 프라임 2월 12일 목요일 3시 수업_키 작동식 도어 3차시 사진 1](/blog/224181567932/001.jpg)
오늘 확장한 모형을 살펴보면, 중형모터를 포함해 컬러 센서와 힘 센서가 활용된 카드리더기와 2가지의 색상이 혼합된 카드 키가 추가되었습니다.
카드리더기에 카드 키를 넣게 되면 힘 센서가 눌리게 되어 카드가 삽입되었음을 인식하게 되고, 중형 모터를 회전해 카드 키가 끝까지 삽입될 수 있게 해주며, 컬러 센서를 통해 카드의 색상을 인식할 수 있게 되어 있습니다.
이때, 카드 키의 색상은 2가지로 구성되어 있어, 카드 키의 2가지 색상이 암호와 일치하게 된다면 문을 열 수 있게 만들어봤습니다.
이 과정을 수행하기 위해, 각각의 카드 색깔을 저장하여 암호와 일치하는지 비교하는 과정이 필요합니다.
![[마곡 코딩] 스파이크 프라임 2월 12일 목요일 3시 수업_키 작동식 도어 3차시 사진 2](/blog/224181567932/002.png)
이를 위해서 이번 시간에는 '리스트' 블록을 활용했습니다. '리스트' 블록은 여러 데이터를 항목으로 표현한 블록으로 데이터들을 순차적으로 저장하며, '변수' 블록처럼 이름을 정해 사용할 수 있다는 특징이 있습니다.
'리스트' 블록의 종류와 사용 방식에 대해 익힌 후, 카드리더기 구현 과정에서 카드의 색상을 '카드'라는 이름의 리스트에 저장해 비교할 수 있도록 만들었습니다.
![[마곡 코딩] 스파이크 프라임 2월 12일 목요일 3시 수업_키 작동식 도어 3차시 사진 3](/blog/224181567932/003.png)
코드를 살펴보면 '카드'의 색상 정보를 저장하기 리스트가 사용되었습니다. 힘 센서가 눌린다면 카드가 카드리더기에 삽입되었다고 판단하여 중형 모터를 회전하여 카드의 첫 번째 색상이 위치한 곳까지 이동시킨 후, 카드의 첫 색상 정보를 리스트에 추가하도록 만들었습니다. 이후에는 마찬가지로 중형 모터를 회전하여 카드의 두 번째 색상이 위치한 곳으로 이동하여 인식된 색상, 즉 카드의 두 번째 색상 정보를 리스트에 추가하도록 하였습니다.
이후에는 두 색상의 값이 우리가 만든 카드의 색상과 일치하는지 검사하여 일치하면 문이 열리고, 일치하지 않는다면 경고하도록 만들어 봤습니다.
![[마곡 코딩] 스파이크 프라임 2월 12일 목요일 3시 수업_키 작동식 도어 3차시 사진 4](/blog/224181567932/004.png)
해당 코드를 살펴보면 '그리고' 블록을 사용해서 2가지 조건을 모두 만족하는지 검사하도록 했습니다. 이후 '리스트의 ~번째 항목' 블록을 사용하여 특정 항목의 값이 카드의 색상 번호와 일치하는지 검사할 수 있게 코딩할 수 있었습니다.
동영상은 블로그 원문에서 볼 수 있습니다.
동영상은 블로그 원문에서 볼 수 있습니다.
이렇게 이번 시간에는 '리스트' 개념을 배우고 활용해 봤습니다. 다음 시간에는 새로운 주제로 돌아오겠습니다~
#마곡역코딩학원 #신방화역코딩학원 #유아코딩 #공항초 #공진초 #코드페 어 #송화초 #초딩코딩 #AI #대회 #마곡나루맛집 #신방화역학원 #코딩학원 #소프트웨어 #대회준비 #VR #올림피아드 #엔트리 #신방화역맛집 #신방화역카페 #라온lc #laonlc #엔트리 #coding #파이썬 #스크래치