[메이커 페어 이후] mblock을 활용한 무드등 코딩

by 고학능 | 2018-10-21 21:46
3d 프린터 3d 프린팅 무드등 아두이노 앱인벤터2
앞서 무드등을 블럭코딩하기 위한 mblock을 설정했습니다.

이번에는 mblock을 가지고 간단한 블럭코딩을 해보겠습니다.

먼저 mblock 구조입니다.


아두이노 모드에는 기본 블럭인 'Arduino', 확장블럭 'Moodlight_neopixel_DHT_bluetooth'가 있습니다.

그리고 블럭을 만드는 곳인 초록색 원

블럭이 텍스트 코딩으로 변환되어 보이는 파란색 원

혹시나 Moodlight_neopixel_DHT_bluetooth가 안보이면 '확장'에서 확장관리 선택해주어야 합니다.


확장블럭을 보면 네오픽셀, 온습도센서, 블루투스, 문자열 처리 확장블럭이 있습니다. 

IDE에서 네오픽셀, 온습도센서, 블루투스 모듈을 사용하기 위해서는 라이브러리를 불러오고 클래스 선언을 하듯 

mblock에서도 초기 설정이 필요합니다.

아두이노 프로그램 아래에 빨간색, 파란색, 주황색 상자처럼 초기설정 블럭에서 시작해야 합니다.

1. 먼저 LED를 켜 줍니다.


참고로 LED는 0번부터 시작합니다.

2. LED를 1초단위로 깜빡입니다.


그런데 매번 0번부터 7번 LED 블럭을 만들면 귀찮고 색상도 매번 넣으면 귀찮으니 변수로 설정해보겠습니다.

변수 만들기에서 RGB 색상값 변수를
블록 만들기에서 0번부터 7번 LED를 한꺼번에 켜고 끄는 블럭을 만들겠습니다.

빨간 동그라미가 함수이고 파란 동그라미가 1초 blink 코드입니다. 매우 짧아졌죠

3. 온도에 따라서 네오픽셀 색을 바꿔보겠습니다.
24도 보다 높으면 빨간색
22도 ~ 24도면 초록색
22도 보다 낮으면 파란색으로 설정하겠습니다.

빨간네모처럼 온습도 센서 초기설정을 합니다.
하나만 연결하면 No. 1, 연결한 핀은 5번, 저희가 쓰는 센서는 DHT22 입니다.
파란블럭을 적절한 곳에 넣으면 온도가 나옵니다. 

4. 피에조를 이용해서 학교종이 땡땡땡을 넣어보겠습니다.

기본 블럭인 Arduino에서 '톤...'을 사용합니다.
핀번호_6번, 음_C4/D4/E4/F4/G4/A4/B4/C5(도레미파솔레이도), 박자(ms)단위를 넣어줍니다.
쉼표랑 박자는 길이가 같은데 단위가 다릅니다. 박자는 ms, 쉼표는 s 단위여서 주의합니다.
(박자가 400이면 쉼표는 0.4여야 같습니다.)
박자랑 쉼표는 반복되므로 변수를 활용했습니다. 


5. 조도센서를 활용해서 밝으면 꺼지고 어두이면 켜지도록 해보겠습니다.
먼저 조도센서 값을 측정해야 합니다.
밝을 때 어떤 값을 갖는지, 어두울 때 어떤 값을 갖는지 알아야 알고리즘을 작성할 수 있기 때문입니다.
아날로그 6번핀 값을 시리얼 쓰기 알고리즘 작성 후 아두이노에 업로드 합니다.
값 확인은 업로드 후 아두이노 IDE로 편집하기를 누릅니다.
우리가 사용하던 IDE가 나왔습니다.
'도구 - 포트' 설정 후 '시리얼 모니터'를 켠뒤 통신 속도는 '115200'으로 설정합니다.
 
조도센서를 밝게 했을 때 값, 조도센서를 어둡게 했을 때 값을 봅니다.
(밝으면 값이 0에 가까워지고 어두워지면 값이 1023에 가까워 집니다.)

어두워지면 켜지고 밝으면 꺼지도록 합니다.



 

댓글 0

교육용 무드등 만들기!

[메이커 페어 이후] mblock을 활용한 무드등 코딩

by 고학능

MADE BY

고학능

3d모델링, 아두이노, 전기회로 구성
[메이커 페어 이후] mblock을 활용한 무드등 코딩현재글 [메이커 페어 이후]아두이노 프로그래밍 이전글