본 체험 제품은 아이씨뱅큐㈜ 에서 진행하는 무상 체험단 활동으로 작성한 것입니다.



 오랫만에 icbanq 카페를 둘러보다 마이크로비트WIFI를 연결하여 IoT 서비스를 할 수 있는 제품이 출시 되어 무상체험 이벤트에 참여하게 되었어요. 그럼 Gravity 마이크로비트 IoT 스타터 키트(Gravity IoT Starter Kit for micro:bit)가 어떻게 구성 되어 있는 볼께요.


[정면사진]


 한글이 아닌 영어로 되어 있어요ㅠㅠ. 그래도 'IoT'와 'OBLOQ Wi-Fi Module' 글씨가 제일먼저 보이네요 @.@. 아직까진 MQTT 프로토콜를 이용하여 외부(휴대폰 또는 인터넷)에서 직접 IoT 기기들을 제어해본 적이 없지만, 사용 연령 12+인걸 보니 쉽게 할 수 있겠단 생각이 들었어요. 그럼 케이스를 열어 볼께요! ^^


[열려진 케이스]


 덮개는 디바이스 사진, 이름 그리고 SKU 넘버가 있는 출력물이 있고, 상자안에는 SKU 별로 아래의 사진처럼 잘 포장이 되어 있어요. 예전에 아두이노 디바이스 세트를 중국에서 산 적이 있는데 칸이 나눠진 케이스에 디바이스만(포장X) 있어서 이게 새거인지 중고인지 모르겠더라구요(지저분한 디바이스도 꽤 있었음). 이제품은 개봉하는 맛이 있어 좋았어요^^. 


[잘 포장된 부품들]


[포장에서 벗어난 부품들]


큰 이미지를 보고 싶다면 ->  이미지.pdf



 마이크로비트와 마이크로 서보 이외에 'GRAVITY'이름을 가진 디바이스들은 정말 고급지게 보이는데 요즘 다크모드가 트렌드인지 몰라도 블랙PCB라 더 좋은거 같아요^^. 

 제일 관심이 많았던 Obloq Wi-Fi Module퀵가이드 대로 따라해 봤는데요!. 문제는 있었지만, 너무나도 쉽게 인터넷을 통해서 마이크로 비트에 연결된 디바이스를 제어 할 수 있었어요!. 그럼 Obloq Wi-Fi Module과 Micro:Mate Expansion Board 알아 볼께요.


 Obloq Wi-Fi Module은 아래 표에 있는 특징과 사양을 보면 '표준 MQTT 프로토콜' 지원해요. '표준 MQTT 프로토콜'에 따라 MQTT서버에 메세지만 보내면 되기 때문에 휴대폰 앱이든 일반 PC프로그램 이용하여 IoT 디바이스들을 제어 할 수 있어요. 집에서 와이파이를 통하여 접속이 안된다면 'Encryption type' 및 'Wireless mode' 확인해 보면 될거 같아요.


Obloq Wi-Fi Module 

특징

  • Built-in low-power 32-bit CPU: Can be used as an application processor
  • Built-in protocol: TCP / IP stack
  • Encryption type: WPA WPA2 / WPA2-PSK
  • 무선 애플리케이션에 표준 MQTT 프로토콜 및 TTL 직렬 포트에 대한 연결 지원
  • 사양

  • Operating Voltage: 3.3-5V
  • Supply Voltage: 3.3 ~ 5.5V
  • Baud rate: 9600 bps
  • Wireless Frequency: 2.4GHz
  • Interface Type: Gravity UART 4PIN
  • Wireless mode: IEEE802.11b / g / n
  • SRAM: 160KB
  • External Flash: 4MB
  • Supports low power consumption: <240mA
  • Dimension: 35mm * 32mm / 1.38inch * 1.26inch
  • Weight: 16g
  •  Micro:Mate Expansion Board은 Obloq Wi-Fi Module 및 디바이스들을 마이크로비트에 쉽게 연견해 주는 확장보드에요. 3 웨이 아날로그 입력 및 6-way 디지털 입력 / 출력 (PWM)과 반전된 연결 보호가 눈에 보이네요.


    Micro:Mate Expansion Board

    FEATURES

  • Color coded Gravity 3-Pin interface, compatible with hundreds of plug&play electronic modules
  • 3-way analog input; 6-way digital input/output (PWM); 3V/5V jumper switch; 3.5mm audio jack
  • External Micro USB power port, up to 5V 2A power output.
  • Well-designed component lay-out and silk-screen. Reversed connection protection.
  • SPECIFICATION

  • Interface: 6 x Gravity 3Pin
  • Operating Voltage: 5V/3.3V
  • Input Power: <10W
  • Measuring Range: 0-3.3V (Analog), 0-5V (Digital):
  • Dimension:68.5 * 53.3mm/ 2.7 * 2.1 inches
  • Weight:22.8g
  • * 나머지 디바이스에 대한 특징과 사양은 아래 링크를 이용하면 되요. *


    제품

    Gravity 마이크로비트 IoT 스타터 키트(Gravity IoT Starter Kit for micro:bit) 


    구성품 

    QuickStart Guide

    micro:bit

    Micro:Mate Expansion Board

    Obloq Wi-Fi Module 

    Analog Capacitive Soil Moisture Sensor

    Waterproof DS18B20 Sensor Kit

    Digital PIR (Motion) Sensor

    Digital 5A Relay Module

    Digital Speaker Module

    Analog Sound Sensor For Arduino

    9g Metal Gear Micro Servo


    icbanq에서 개별로 구매 할 수 있는 부품 링크

    구성품


    dfrobot.com에 있는 구성품 정보 링크




     간단하게 'Gravity 마이크로비트 IoT 스타터 키트(Gravity IoT Starter Kit for micro:bit)' 개봉을 해봤어요. 구성품 중에 링크로만 소개한 디바이스들과 Obloq Wi-Fi Module을 이용하면 IoT 서비스를 체험하고 만들기엔 충분하고, 초보자가 IoT에 관한 아이디어를 현실로 쉽게 구현 할 수 있는 제품이라고 생각되네요. 단지 영어때문에 못하는 사람을 위한 한글 퀵가이드가 있으면 좋겠다고 생각해요.


     다음 체험 활동퀵가이드의 내용을 기본으로 MQTT, Broker, Subscribe, Publish, 및 IoT 서비스를 이해해 볼 생각이에요. 그럼 구독 추천 부탁해요~~



    마이크로비트 지니어스키트 공식 구입처 : 아이씨뱅큐 https://www.icbanq.com/

    아이씨뱅큐 공식 카페 : https://cafe.naver.com/icbanq

    아이씨뱅큐 공식 블로그 : https://blog.naver.com/icbanq

    마이크로비트 공식 카페 : https://cafe.naver.com/bbcmicro

    나도메이커 유튜브 채널 : https://www.youtube.com/user/ICbanQ




    블로그 이미지

    김코치 나미쵸

    컴퓨터 코치 김코치 컴퓨터 자격증 취득과 아는 힘의 즐거움을 드립니다. 나도 할 수 있다는 자신감은 덤으로 드립니다. 기초부터 실무까지 김코치를 찾아 주세요.

    나중에 서버랑 GPIO 핀들을 이용하면 꽤 괜찮은 IOT 제품이 될거 같다. 오늘은 간단하게 LED만 동작 해본다.



    ----------------------------------------------------------------
    본 체험 제품은 아이씨뱅큐㈜ 에서 진행하는 무상 체험단 활동으로 작성한 것입니다.
    ----------------------------------------------------------------
    라즈베리파이3 B+ 개봉기
    --------------------------------------------------...
    cafe.naver.com


    라즈베리파이 3B+ 사용기 : 라즈베...
    --------------------------------------------------...
    cafe.naver.com



    체험단 신청한 이유가 게임기 만들 목적도 있었지만, 라즈베리파이를 이용한 개발도 있었습니다.
    그래서 라즈베리파이로 LED를 컨트롤 해볼려고 합니다.

    ---------------------------------------------------------
    '아두이노처럼 사용하는 라즈베리파이3 직접 코딩하기' 책을 참조했습니다.
    ---------------------------------------------------------

    저는 리눅스 명령어를 잘 몰라 
    1) 윈도우에서 코딩 하고 
    2) ftp를 이용하여 파일을 업로드/다운로드 했습니다.
    3) notepad++ 에 nppftp 플로그인을 설치하고


    4) teraterm을 이용하여 원격 접속하여 


    5) 작성한 코드를 컴파일 하고 실행했습니다.



    아래 동영상은 위 코드로 실행시킨 LED 동작 동셩상입니다.


    라즈비안에 원격 접속을 하기 위해선 설정에서 ssh enable을 해줘야 합니다. 한번에 잘 동작해 주니 기분이 좋습니다.
    예제 하나하나 따라하면서 재미난 것들을 만들어 볼 예정입니다. =스마트미러=

    그럼 간단한 라즈베리파이 사용기 마치겠습니다.
    -----------------------------------------------------------
    라즈베리파이3 Model B+ 공식 구입처 : 아이씨뱅큐 http://www.icbanq.com/
    마이크로비트 공식 카페 : http://cafe.naver.com/bbcmicro
    아이씨뱅큐 공식 블로그 : http://blog.naver.com/icbanq
    -----------------------------------------------------------


    블로그 이미지

    김코치 나미쵸

    컴퓨터 코치 김코치 컴퓨터 자격증 취득과 아는 힘의 즐거움을 드립니다. 나도 할 수 있다는 자신감은 덤으로 드립니다. 기초부터 실무까지 김코치를 찾아 주세요.

    NESPI 레트로게임 케이스를 이용하여 라즈베리파이를 게임기로 만들어 봤다. GBA롬이라 그래픽은 별루 였지만 심심풀이로 해볼만 한거 같다.^^



    ----------------------------------------------------------------
    본 체험 제품은 아이씨뱅큐㈜ 에서 진행하는 무상 체험단 활동으로 작성한 것입니다.
    ----------------------------------------------------------------
    라즈베리파이3 B+ 개봉기
    --------------------------------------------------...
    cafe.naver.com


    개봉기에 이어 라즈베리파이를 게임기로 만들어 보겠습니다. 리눅스 명령어를 몰라도 할 수 있습니다.!!!!!!

    1. NESPI 레트로 게임기 케이스에 라즈베리파이3 B+ 설치하기

    -라즈베리파이3 B+ 와 케이스 사진
    생각보다 어렵지 않게 NESPI 레트로 게임기 케이스에 설치 합니다. 오늘은 옆에 지인이 없어 패드는 하나만 설치 했습니다.
    전원 연결하고, 패드 연결하고, 와이파이 대신 유선으로 연결 하고, HDMI로 PC에 연결 했습닌다. 너무 간단하네요 -.-

    2. SD 카드에 레트로파이 이미지 굽기
    Download - RetroPie
    Contents1 Pre-made images for the Raspberry Pi1.1 BerryBoot2 Installing on top of an existing OS2.1 Raspbian ..
    retropie.org.uk

    위 링크에 있는 이미지를 다운로드 합니다. 너무 시간이 오래 걸려서 결국 토렌트를 이용하여 다운로드 했습니다.
    Win32DiskImage를 이용하여 이미지를 구울려고 했는데...... win10에서는 안되네요. 그래서 라즈비안 이미지 구울때
    사용한 Etacher를 사용했습니다. 뭐. 그냥...... 쉽게 됩니다. 
    -Etcher 링크

    -이미지 파일 굽는중

    3. 열심히 게임 하기 

    -게임 동영상
    동영상 보면 알겠지만!!!!!! 전원을 키고 게임을 하기 까지 시간은 대락 1분~2분 정도 걸립니다. 괜찮은거 같습니다.
    게임을 좋아하면 아실만한 '킹오브파이터즈'입니다. 오락실에서도 재미 있게 했던 게임이죠!!!!!! 

    레트로파이 말고, 리콜박스도 있으니 관심 있으신 분은 아래 링크 보시면 됩니다.
    라즈베리파이 리콜박스 - Google 검색
    검색결과 약 701,000개 라즈베리파이 리콜박스 게임기 만들기 (Recalbox 추억의 오락실 설치) withcoding.com/114 2017년 8..
    www.google.co.kr


    마지막으로 레트로파이 롬 폴더에 게임 롬을 넣어야 하는데, 아이피를 확인 후 PC에서 접속하면 됩니다.
    id : pi
    password : raspberry
    잊지 마세요^^.

    라즈베리파이3 B+로 LED 점멸하기!
    --------------------------------------------------...
    cafe.naver.com


    -----------------------------------------------------------
    라즈베리파이3 Model B+ 공식 구입처 : 아이씨뱅큐 http://www.icbanq.com/
    마이크로비트 공식 카페 : http://cafe.naver.com/bbcmicro
    아이씨뱅큐 공식 블로그 : http://blog.naver.com/icbanq
    -----------------------------------------------------------


    블로그 이미지

    김코치 나미쵸

    컴퓨터 코치 김코치 컴퓨터 자격증 취득과 아는 힘의 즐거움을 드립니다. 나도 할 수 있다는 자신감은 덤으로 드립니다. 기초부터 실무까지 김코치를 찾아 주세요.

    아이씨밴큐에서 진행한 라즈베리파이3B+ 체험단에 선정됐다. 그래서 간단한 개봉기 개봉기를 써 봤다.  


    https://cafe.naver.com/icbanq/4283 <- 원본 게시글

    ----------------------------------------------------------------
    본 체험 제품은 아이씨뱅큐㈜ 에서 진행하는 무상 체험단 활동으로 작성한 것입니다.
    ----------------------------------------------------------------

    개봉기는 항상 설레입니다^^. 라즈베리파이는 오래전부터 알고 있었지만(알고만 있었음......), 구매만 하고 아무것도
    하지 않은채 세월이 지났습니다. 분명 그 때 그 시절 뭔가를 할려고 구매를 했었는데 말이죠. 일단 제가 가지고 있는
    라즈베리파이 B, 라즈베리파이 3B, 그리고 이번에 체험할 라즈베리파이3B+ 사진으로 보겠습닌다.


    -라즈베리 파이 B, 3B, 3B+

    3B+박스가 예전것과 비슷한것으로 봤는데, 이번 체험할 B+는 박스포장이 더 좋은거 같습니다. 어쨋든 설레는 마음으로
    예전것과 같이 개봉하여 같이 사진을 찍어봤습닌다.


    - 라즈베리파이 B, 3B, 3B+ 전면사진



    B와는 레이아웃자체가 다르고! 3B와는 비슷합니다. B와 3B는 완전 체감상 차이가 나는데 3B+ 어떨지 모르겠습니다. 
    아래 링크는 라즈베리파이 3B+ 구매 및 스펙과 응용 예제가 있습니다. 저도 하나씩 따라해 볼 예정입닌다.

    라즈베리파이3 B+ (Raspberry pi3 B+) - 국내 최대 전자부품 전문 쇼핑몰 아이씨뱅큐
    라즈베리파이3 B+ (Raspberry pi3 B+),라즈베리파이3B+,1.4Ghz, 듀얼밴드, BLE 4.2, PoE 지원, 라즈베리파이 재단 Appro..
    www.icbanq.com

    -라즈베리파이 3B+ 구매 및 스펙 & 예제

    예제를 따라해보기 앞서서 라즈베리파이3B+를 가지고 NESPI 레트로 게임기를 만들어 볼 것입니다.
    이미 3B+를 받기전에 구매를 했습니다. ^_____________^/~. 예전 구매 할때 할인 중이였는데, 지금도
    할인중이니, 필요하신 분은 구매를 하세요. 참고로 알리보다 가격이나 배송이 빠릅니다.

    라즈베리파이 NESPI 레트로 게임기 케이스+컨트롤러 세트 - 국내 최대 전자부품 전문 쇼핑몰 아이씨뱅큐
    라즈베리파이 NESPI 레트로 게임기 케이스+컨트롤러 세트,라즈베리파이 2, 라즈베리파이 3, 라즈베리파이 3B+ 호환 - 모든 전..
    www.icbanq.com

    -라즈베리파이 NESPI 레트로 게임기 케이스 -

    이상 라즈베리파이 3B+ 개봉기였습니다.
    -----------------------------------------------------------
    라즈베리파이3 Model B+ 공식 구입처 : 아이씨뱅큐 http://www.icbanq.com/
    마이크로비트 공식 카페 : http://cafe.naver.com/bbcmicro
    아이씨뱅큐 공식 블로그 : http://blog.naver.com/icbanq
    -----------------------------------------------------------


    블로그 이미지

    김코치 나미쵸

    컴퓨터 코치 김코치 컴퓨터 자격증 취득과 아는 힘의 즐거움을 드립니다. 나도 할 수 있다는 자신감은 덤으로 드립니다. 기초부터 실무까지 김코치를 찾아 주세요.

    본 체험 제품은 element14 의 후원을 받아 아이씨뱅큐㈜ 에서 진행하는 무상 체험단 활동으로 작성한 것입니다


    현재 아쉽게도 메모리 관련 오류로 테트리스를 완성하지 못했다. 이번 단품팩 체험단에서는 난이도 있는걸 해 볼려구 했는데, 하지만 정확하지는 않지만 원인도 알거 같고 필요 없는 모듈 빼고 해보고, c++ 개발환경에서 해보면 어느정도 답은 나올듯 하다. 아크릴판은 구매 했는데...... 다음주엔 꼭 셀프자작소 가서 완성하고 이벤트 해야 겠다.


    아래 링크는 실패담을 적은 게시물이다. 

    http://cafe.naver.com/bbcmicro/1072


    다시 도전해 봐야 겠다.!


    본 체험 제품은 element14 의 후원을 받아 아이씨뱅큐㈜ 에서 진행하는 무상 체험단 활동으로 작성한 것입니다.

    마이크로비트 공식 구입처 : 아이씨뱅큐 http://www.icbanq.com/

    엘리먼트14의 특장점 - 글로벌 전자부품 유통회사, 6만원 이상 무료배송, 60만가지 재고 보유, MOQ 없음, 한글 웹사이트, 국내서비스센터 운영

    (http://kr.element14.com/?CMP=DSP-ODB-KR-JAN2018-BLOG-ICBanQ1-HOMEPAGE)

    마이크로비트 공식 카페 : http://café.naver.com/bbcmicro

    아이씨뱅큐 공식 블로그 : http://blog.naver.com/icbanq



    블로그 이미지

    김코치 나미쵸

    컴퓨터 코치 김코치 컴퓨터 자격증 취득과 아는 힘의 즐거움을 드립니다. 나도 할 수 있다는 자신감은 덤으로 드립니다. 기초부터 실무까지 김코치를 찾아 주세요.

    본 체험 제품은 element14 의 후원을 받아 아이씨뱅큐㈜ 에서 진행하는 무상 체험단 활동으로 작성한 것입니다.


    http://cafe.naver.com/bbcmicro/1070



    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    from microbit import *
    import random
     
    randomNumber = 0
    inputNumber = 1
    gameStatus = 0
     
    def gameStart():
        global randomNumber, gameStatus, inputNumber
        randomNumber = random.randint(19)
        inputNumber = 1
        gameStatus = 1
        
        display.scroll("Game Start"80)
        
    def aPressed():
        global inputNumber, gameStatus
        
        if gameStatus != 1:
            display.scroll("Please press button AB",80)
            return
     
        if inputNumber > 1:
            inputNumber -= 1
            
        display.show(str(inputNumber))
        
    def bPressed():
        global inputNumber, gameStatus
        
        if gameStatus != 1:
            display.scroll("Please press button AB",80)
            return
            
        if inputNumber < 9 :
            inputNumber += 1
            
        display.show(str(inputNumber))
        
    def shake():
        global inputNumber, randomNumber
        if randomNumber == inputNumber:
            display.scroll("^^")
        elif randomNumber > inputNumber:
            display.scroll("UP")
        else:
            display.scroll("DOWN")
            
        display.show(str(inputNumber))
        
    while True:
        if button_a.is_pressed() and button_b.is_pressed():
            #display.scroll("AB")
            gameStart()
        elif button_a.is_pressed():
            #display.scroll("A")
            aPressed()
        elif button_b.is_pressed():
            #display.scroll("B")
            bPressed()
        elif accelerometer.was_gesture("shake"):
            shake()
        
        sleep(100)
     
    cs


    마이크로비트 공식 구입처 : 아이씨뱅큐 http://www.icbanq.com/

    엘리먼트14의 특장점 - 글로벌 전자부품 유통회사, 6만원 이상 무료배송, 60만가지 재고 보유, MOQ 없음, 한글 웹사이트, 국내서비스센터 운영

    (http://kr.element14.com/?CMP=DSP-ODB-KR-JAN2018-BLOG-ICBanQ1-HOMEPAGE)

    마이크로비트 공식 카페 : http://café.naver.com/bbcmicro

    아이씨뱅큐 공식 블로그 : http://blog.naver.com/icbanq



    블로그 이미지

    김코치 나미쵸

    컴퓨터 코치 김코치 컴퓨터 자격증 취득과 아는 힘의 즐거움을 드립니다. 나도 할 수 있다는 자신감은 덤으로 드립니다. 기초부터 실무까지 김코치를 찾아 주세요.

    본 체험 제품은 element14 의 후원을 받아 아이씨뱅큐㈜ 에서 진행하는 무상 체험단 활동으로 작성한 것입니다.


    운이 좋게 마이크로비트 체험단에 당첨이 됐다. 항상 뭔가를 기다리는 마음은 설렌다. 단품팩이라 박스 하나만 있다. 마이크로 비트는 색을 선택할 수가 없다. 그래서 개봉전에 무슨 색일까 무지 궁금했다.

    짜잔~ 노란색이다!. 좋다. 그냥 좋다. 개봉기는 조촐하게 "노란색 마이크로비트"로  끝내야 겠다.


    이번에 체험단 신청하면서 목표를 몇개 세웠다.

     1. 파이썬으로 코딩 할것!

     2. 아크릴 케이스를 만들것!

     3. DOT MATRIX & HT16K33 모듈을 이용하여 테트리스를 만들것!

     4. 어떤것이든 이벤트를 할것!


    2주안에 못 할 수도 있지만, 시도하다 보면 좋은 결과가 있을거라 생각 한다.  아래 동용상은 MU 에디터를 이용하여 간단한 파이썬 코딩을 하였다. REPL이 되서 참 좋다. 


    마이크로비트 공식 구입처 : 아이씨뱅큐 http://www.icbanq.com/

    엘리먼트14의 특장점 - 글로벌 전자부품 유통회사, 6만원 이상 무료배송, 60만가지 재고 보유, MOQ 없음, 한글 웹사이트, 국내서비스센터 운영

    (http://kr.element14.com/?CMP=DSP-ODB-KR-JAN2018-BLOG-ICBanQ1-HOMEPAGE)

    마이크로비트 공식 카페 : http://café.naver.com/bbcmicro

    아이씨뱅큐 공식 블로그 : http://blog.naver.com/icbanq



    블로그 이미지

    김코치 나미쵸

    컴퓨터 코치 김코치 컴퓨터 자격증 취득과 아는 힘의 즐거움을 드립니다. 나도 할 수 있다는 자신감은 덤으로 드립니다. 기초부터 실무까지 김코치를 찾아 주세요.

    마이크로비트네오픽셀터치센서이용하여 돼지등동작하는 것을 확인 했다. 그러나 실생활에 사용하기 위해서는 배터리 이용해야 하고, 전원 ON/OFF를 할 수 있어야 하고, 편하게 사용 할 수 있어야 한다. 어떻게든 마이크로비트로 가능 하겠지만 시중에 다른 사람들이 만들어 놓은 돼지등 무드등을 본다면 꽤나 휴대성 면에서 떨어진다. 그래서 그런 부분을 해결 하고자, 지 저금통 & 아두이노 나노 & 배터리 & 네오픽셀 & ON/OFF 스위치 & 충반전 모듈 & 터치 모듈& 여러개의 점퍼선을 가지고 만들어 봤다. 만든지는 꽤 됐는데, 이제서야 글을 쓴다 ㅡ.ㅡ


    예전에도 그러했듯이 완성품 동영상을 보자.

    <터치로 동작하는 돼지등 무드등 동영상>


    며칠동안 밤에 들고 다녔는데, 괜찮은거 같다. 한여름 공원에 모여 얘기할때 옆에 돼지 무드등 있는거 상상해 보니, 좋다^^.


    그럼 만들어 보자!


    돼지 무드등 만들기 #1

    재료

     돼지 저금통

     아두이노 나노

     배터리

     네오픽셀

     ON/OFF 스위치

     충반전 모듈

     터치 모듈

    *다이소에서 500원에 구입 가능한 돼지 저금통이다. 

    *꽤 오래전에 알리에서 구입한 것이다. 싼 가격에 막 쓸 수 있어서 좋다.

    *LI-PO 18650 3.7V 500mA다. 옛날 휴대폰 충전지로 사용 가능 하다.

    *일반 LED로 사용 가능 하며, 내가 원하는 색을 사용 할 수 있어서 대부분 네오식셀을 사용한다. 제어 하기도 편하다.

    *돼지 무드등을 켜고 끄기 위해 필요하다.

    *TP4056은 배터리를 충전 시키기 위한 모듈이다. 두가지 종류가 있다. 돼지 무드등에 사용한 배터리는 이미 보호 회로가 있기 때문에 충전 기능만 있는 모듈을 사용했다.

    *알리에서 싸게 구입한 모듈이다. 앞에 어느 정도 두께가 가로 막아도 터치 동작이 잘 된다.

    원래 계획은 아두이노 나노보다 더 작은 ATTINY85 모듈을 사용 할려고 했으나, 터치 센서 연결 후 프로그램 업로드를 하기 위해 컴퓨터에 연결 하면 인식을 못한다. 어떤 경우는 부트로트가 날라가 버린다 ㅠㅠ. 입력핀 쪽으로 기준 이상의 전류가 흘러 망가지는거 같은데...... 나중에 알아 봐야 겠다.


    돼지 무드등 만들기 #2

    재료들 연결 하기

    회로도























    실제 연결 사진

    <회로도 사진>




    <연결 사진>

    *fritzing으로 회로도 그리는건 거의 처음이라 잘 다루지 못한다. 포토샵으로는 마구마구 변형이 가능한데......


    *돼지 무드등에 들어가기 전 사진이 없다 ㅠㅠ. 그래서 동영상에 있는걸 캡쳐 했더니......


    돼지 무드등 만들기 #2

    코드

    코드

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    #include <Adafruit_NeoPixel.h>
    #include <MsTimer2.h>
    #ifdef __AVR__
      #include <avr/power.h>
    #endif
     
    #define PIN 6
    #define TouchSensor 9 // Pin for capactitive touch sensor
     
    boolean currentState = LOW;
    boolean lastState = LOW;
    int event = 0;
    int eventCount = 0;
    Adafruit_NeoPixel strip = Adafruit_NeoPixel(6, PIN, NEO_GRB + NEO_KHZ800);
     
     
    void setup() {
      Serial.begin(9600);
      pinMode(TouchSensor, INPUT);
      strip.begin();
      strip.show(); // Initialize all pixels to 'off'
      
      MsTimer2::set(60, backGroundRun);
      MsTimer2::start();
    }
     
    void loop() {
         
      currentState = digitalRead(TouchSensor);
        if (currentState == LOW && lastState == HIGH){
          eventCount++;
          event = eventCount % 3;
      }
      lastState = currentState;
     
    }
     
    void backGroundRun()
    {
      if(event == 0)
      {
        for(uint16_t i=0; i<strip.numPixels(); i++) {
          strip.setPixelColor(i, strip.Color(25500));
        }
        strip.show();
      }else if(event == 1)
      {
        for(uint16_t i=0; i<strip.numPixels(); i++) {
          strip.setPixelColor(i, strip.Color(02550));
        }
        strip.show();
      }
      else
      {
        for(uint16_t i=0; i<strip.numPixels(); i++) {
          strip.setPixelColor(i, strip.Color(255255255));
        }
        strip.show();
      } 
    }
    cs

    *Color Scripter사요하는 것도 거의 처음이다. 편하다. 

     사이트에 들어가 

     코드 붙혀 넣고,

     필요한 설정을 한 다음,

     클립코드로 복사하고,

     원하는 곳에 붙혀넣기 하면 된다.


    *팁으로 편집창에는 정상적으로 보이나, 실제 표시되는 것은 가운데 정렬로 된다. 그냥 선택 후 왼쪽 정렬 해주면 간단하게 해결 된다.


    *단색만 지정할 경우는 backGroundRun()부분은 빼도 된다. 그 부분을 루프에 넣으면 된다.


    *이벤트는 간단하게 손가락을 뗄때, 동작하도록 했다. 원래 코드에는 롱터치도 구현했지만, 뺐다!


    블로그 이미지

    김코치 나미쵸

    컴퓨터 코치 김코치 컴퓨터 자격증 취득과 아는 힘의 즐거움을 드립니다. 나도 할 수 있다는 자신감은 덤으로 드립니다. 기초부터 실무까지 김코치를 찾아 주세요.

     돼지등DIY 카페에서 처음 DIY를 시작하는 분들이 간단하게 만드는 것중에 하나다. 값싸게 재료를 구할 수 있고, 작은 노력으로 집에서 평상시에 사용할 수 있다. 개인적으로 터치센서네오픽셀제어하기 위해 마이크로비트사용 하였다.


    돼지등 만들기

    (마이크로비트로 동작 확인 하기)

    1. 돼지등이란


    2. 재료













    3. 동작 확인 동영상























    4. 네오픽셀로 안에 들어갈 LED 만들기
























































    5. 마이크로비트에 네오픽셀과 터치센서 연결하기

























































    6. 터치센서 동작의 이해






















    7. 블록코딩 하기


































































    8. 자바스크립트 코드

     DIY 시작하는 분들이 값싼 재료를 이용하여 만드는 무드등이다. 


     스위치

     LED -> 네오픽셀 : 일반 LED 대신 색을 제어하기 위해 네오픽셀을 사용

     배터리 -> 요즘 DIY에서 흔히 많이 쓰는 18650배터리다

                   휴대폰 보조배터리로도 많이 사용한다.

     1셀충전회로 -> TP4056이다. 충방전 회로가 있는건 사용하면 된다

     전선

     돼지저금통

     글루건

     납땜 세트

     ----------

     추가 터치 센서 

     추가 마이크로비트


     

     <https://youtu.be/iSLO6EvCeZY>


     터치할 때마다 등의 색이 바뀐다.



     

     <네오픽셀로 LED등 만들기 사진>

    네오픽셀 6개로 등을 만들었다. 그냥 큐브(주사위) 각 면에 LED를 붙혔다고 생각하면 된다. 사실 둥글게 만들고 싶었지만 막손이라...... 각지게 만드는게 편해서 큐브 모양으로 만들었다.


     

     <네오픽셀등 완서된 사진>



     

    <마이크로비트, 네오픽셀, 터치센서 사진>


     

     <fritzing로 만든 연결 사진>


     위 사진대로 연결 해 주면 면된다.

     P0 - DI -> 네오픽셀

     P1 - I/O -> 터치 센서


     터치센서동작은 3가지로 구분 할 수 있다.

      1. 터치 센서에 손가락을 처음 댄 상태        현재 상태 1 이전상태 0

      2. 처음 대고 그 상태를 유지한 상태           현재 상태 1 이전상태 1

      3. 대고 유지한 상태에서 손가락을 땐 상태  현재 상태 0 이전상태 1


     여기서 더 구분을 할 수 있으나, 돼지등에 터치 기능을 구현하는데는 3번만(1번으로 해도 된단) 필요하기 때문에 다음과 같이 블록을 만들었다. 

     

    <터치센서 동작 부분 블록코딩 사진>

     

     

     <블록코딩 사진> 

    microbit-네오픽셀터치센서누르는2 (19).hex


    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    let item: neopixel.Strip = null
    let eventCount = 0
    let event = 0
    let last = 0
    let current = 0
    current = 0
    last = 0
    event = 0
    eventCount = 0
    item = neopixel.create(DigitalPin.P0, 6, NeoPixelMode.RGB)
    basic.forever(() =&gt; {
        current = pins.digitalReadPin(DigitalPin.P1)
        if (current == 0 &amp;&amp; last == 1) {
            event += 1
            eventCount = event % 3
        }
        last = current
    })
    control.inBackground(() =&gt; {
        while (true) {
            basic.showNumber(eventCount)
            if (eventCount == 0) {
                item.showColor(neopixel.colors(NeoPixelColors.White))
            } else if (eventCount == 1) {
                item.showColor(neopixel.colors(NeoPixelColors.Red))
            } else {
                item.showColor(neopixel.colors(NeoPixelColors.Red))
                basic.pause(200)
                item.showColor(neopixel.colors(NeoPixelColors.Orange))
                basic.pause(200)
                item.showColor(neopixel.colors(NeoPixelColors.Yellow))
                basic.pause(200)
                item.showColor(neopixel.colors(NeoPixelColors.Green))
                basic.pause(200)
                item.showColor(neopixel.colors(NeoPixelColors.Indigo))
                basic.pause(200)
                item.showColor(neopixel.colors(NeoPixelColors.Violet))
                basic.pause(200)
                item.showColor(neopixel.colors(NeoPixelColors.White))
                basic.pause(200)
            }
        }
    })
     
    cs

    1. 쉽게 할 수도 있었는데...... run time error는 미리 알 수도 없고, 실제 소스 올리고 나서 나는 것들인데...... 에러나면 그냥 멈춘다...... 그것도 모르고 나는 고생을 했다. 0 / 3 ......


    2. 네오픽셀을 단색으로 표현하는건 쉽다. 그러나 화려하게 레인보우를 적용하면 쓰레드가 필요한데...... 마이크로비트에서는 어떻게 해야 할지...... 백그라운드 실행으로 할려고 했으나, 내가 이전에 했던 생각한것처럼 안되어 이 글에는 빼 버렸다. 검색을 해야 겠다.


    3. 동작 확인으로 마이크로비트를 사용했다. 이번 글에서 아쉬웠던건 실제 사용할 수 있도록 꾸밀 수가 있었는데, 그 부분이 조금 아쉽다. 마이크로비트로 동작 확인것이기 때문에 이걸로 만족한다.


    4. 아래는 원래 목표했던 돼지등이다. 배터리와 충전회로를 넣어서 제품(?)처럼 만들었다. 이 글을 쓰는 시점에서 완성 되었다. 이것 또한 정리해서 올려야 겠다.




    블로그 이미지

    김코치 나미쵸

    컴퓨터 코치 김코치 컴퓨터 자격증 취득과 아는 힘의 즐거움을 드립니다. 나도 할 수 있다는 자신감은 덤으로 드립니다. 기초부터 실무까지 김코치를 찾아 주세요.

     예전부터 만들어 보고 싶었던 돼지등이다. 간단하게 동작 되는것만 확인 하기 위해서 만들었다. 마이크로비트는 동작 확인만 한 것이고, ATTINY85 MCU를 이용하여 최소한의 비용으로 만들 것이다. 

    <흐린날 책상 앞에서...... 동영상>


    <캄캄한 침실에서 동영상>


    블로그 이미지

    김코치 나미쵸

    컴퓨터 코치 김코치 컴퓨터 자격증 취득과 아는 힘의 즐거움을 드립니다. 나도 할 수 있다는 자신감은 덤으로 드립니다. 기초부터 실무까지 김코치를 찾아 주세요.