micro:bit(마이크로비트)는 영국의 BBC에서 마이크로소프트, 삼성전자, ARM,랭커스터 대학교 등의 단체들이 3년이 넘는 기간 동안 연구 개발을 통해서 개발한 4×5cm 크기의 소형 교육용 보드이다. 마이크로비트를 사용하면 기초적인 코딩의 개념과 여러가지 센서의 연결과 제어를 비교적 간편하게 구현할 수 있다.
1. pxt.io를 검색하여 micro:bit용 프로그램 작성하기 클릭
2. 새 프로젝트를 클릭하여 시작
3. MakeCode 초기화면
편의성을 위해 우측 상단의 「설정 - 언어 선택 - English」로 변경하는 것을 권장
ㅁ
파일 전송 방법
1. 위의 좌측 그림 같이 마이크로비트와 PC를 케이블(데이터 전송이 가능한 5핀, USB)로 연결한다.
2. 우측 그림의 하단의 "Download"를 클릭하여 hex 확장자 파일을 PC의 USB포트에 연결된 Microbit로 이동 또는 복사한다. 또는 다운로드 우측의 ···을 클릭하여 "Connect device"를 통해 마이크로비트를 페어링에 성공(페어링 후 새로고침 필요)하면 hex파일을 옮길 필요 없이 다운로드 버튼을 클릭하면 자동으로 파일이 전송된다.
*우측 그림의 "show icon"은 명령어창의 "Basic"에서 생성했으며 파일을 전송했을 때 하트가 마이크로비트에 표시되는 것을 확인하기 위해 만들었다.
1. 숫자, 문자열 만들기
on start - 좌측의 "Basic"을 클릭하여 "show icon"을 드래그하여 붙이기
on button A pressed - 좌측의 "Input"을 클릭하여 가져온 후 "Basic"의 "show number"를 가져오고 값을 2023 입력
on button B pressed - 좌측의 "Input"을 클릭하여 가져온 후 "Basic"의 "show string"를 가져오고 값을 Hello 입력
다운로드를 통해 파일을 마이크로비트로 전송
2. 만보기 만들기(변수 생성)
A버튼을 누르면 초기화 되는 만보기
"Variables"를 클릭하여 "Make a valuables..."를 클릭하여 변수(본 예시는 count로 생성)를 생성
on start - 좌측의 "Valuables"를 클릭하여 생성(변수 count를 초기값 0으로 설정)
forever - "Basic"의 "show number"를 가져오고 "Valuables"에서 변수 count를 가지고 와서 붙이기
on shake - "Input"에서 생성 후 "Valuables"에서 "change count by"를 가져와 값에 1 입력(변수 값을 1씩 증가 시키는 의미)
on button A pressed - "Valuables"에서 "set count to"를 생성(A버튼을 누르면 count 값을 0으로 설정)
2-1. 10이 되면 초기화 되는 만보기
forever - "Loops"의 "if ~ then"과 등호식을 가져온 후 "Valuables"에서 변수 count를 가지고 와서 값을 10으로 설정
on shake - "Input"에서 생성 후 "Valuables"에서 "set count to"를 가져오고 "Math"에서 더하기 연산을 가져온 뒤 count 변수를 끼워 넣기
2-3. 10개 단위로 멜로디가 출력되는 만보기
change count by 1을 이용해 흔들 때마다 변수 값을 1증가
Math의 remainder of count 나누기 10 = 0을 사용하여 10단위의 값에 멜로디가 출력되도록 코딩
확장보드(Robotbit)
ㄴ
\조도센서
온습도ㅁㄴㅇㄴㅁㅇㄴㅁㅇ센서
온습도센서
네오픽
셀
ㄹ호
네오픽셀
초음파센서
초음파센서
sa
dsfsdfsdf
dsf
LCD
서보모터
DC모터
1. Neopixel(네오픽셀) 제어하기
2. 조도센서 제어하기
네오픽셀은 코드 생략되어 있음
조도센서 P0핀에 연결
조도센서 값에 따라 네오픽셀 제어
3. 온습도센서(DHT11) 제어하기
네오픽셀 - P8, 온습도센서(DHT11) - P13에 연결
Extensions를 통해 DHT11을 검색하여 명령어 생성
온도 변화에 따라 네오픽셀 제어하기
4. 초음파센서(Ultrasonic) 제어하기
초음파센서 연결
Trig - P14 yellow
Echo - P15 yellow
Vcc - P15 red
Gnd - P15 black
*3V전원에 연결하기(5V에 연결하면 오작동)
초음파센서 사용시 명령어를 추가해야 함.
Extensions에서 "ultrasonic"검색하여 추가
5. 서보모터 제어하기(feat. 조도센서 + LCD)
LCD 명령어 추가 - Extensions에서 "i2cLCD1602" 검색
Servo 명령어 추가 - Extensions에서 "robotbit" 검색
※ LCD 사용 주의사항
3V에 연결시 전압 부족으로 화면이 어둡게 나오기에 5V 모터 핀에 연결
LCD 화면에 문자가 아닌 박스 형태가 출력된다면 뒷면의 가변저항을 +자 드라이버로 돌려 맞추면 문제 상황이 해결됨.
6. DC모터 제어하기
DC 모터 명령어 추가 - Extensions에서 "robotbit" 검색하여 추가
Robotbit 명령어 블럭에서 M1의 A,B , M2의 A,B를 선택하여 -255~255 속도로 제어가능(-속도는 역방향 회전을 의미)
7. 마이크로비트 라디오 통신
송신측(Send) 코드
마이크로비트가 시작되면 라디오 그룹을 1로 설정
A버튼을 누르면 라디오 통신 1번을 송신, 1을 LED에 출력
B버튼을 누르면 라디오 통신 2번을 송신, 2를 LED에 출력
수신측(Receive) 코드
마이크로비트가 시작되면 라디오 그룹을 1로 설정
1번 라디오 송신을 수신하면 1을 LED에 출력
2번 라디오 송신을 수신하면 2를 LED에 출력