* 트윈콥터 ì œìž‘ ì „ 연습삼아서 ZeroPageì—서 ë†€ê³ ìžˆëŠ” ë¼ì¦ˆë² 리파ì´2(ë¼íŒŒì´)를 ì´ìš©í•˜ì—¬ ZPì‹¤ë¬¸ì„ ì—¬ëŠ” 아주 간단한 IOTë„ì „ == ê¸°íš == * Slack-ZeroBotì—게 문열ë¼ëŠ” ëª…ë ¹ì–´ë¥¼ 주면 ë¬¸ì„ ì—´ 수 있ë„ë¡ í•¨(ex- ZeroBot OpenDoor) == ì‚¬ìš©ëœ ë¶€í’ˆ == * ë¼íŒŒì´2(테스트용으로 ë¼íŒŒì´B+) * 서보모터 - 한양대 ìžë™ì°¨ 대회때 ì‚¬ìš©í•˜ê³ ë‚¨ì€ 1ê°œ 사용(아래 ë°ì´í„°ì‹œíЏ 첨부) attachment:sample.png * UTPì„ (약 10m) - ì›ëž˜ëŠ” 8ê°œ ì„ ì¤‘ 4개는 ëžœì„ 3개는 서보모터 ì»¨íŠ¸ë¡¤í•˜ë ¤ë‹¤ê°€ 귀찮아서 3개만 사용 * ë¹µíŒ(ë¸Œë ˆë“œë³´ë“œ) - 납땜하기 ê·€ì°®ê³ ë‚˜ì¤‘ì— ë˜ ì¶”ê°€í• ì§€ 몰ë¼ì„œ... == 설계 == * 사용 언어 : 파ì´ì¬(해보니 C보다 훨~~~~~~~~~~~~~~~~씬 쉬움) * ìž…êµ¬ì— ìžˆëŠ” 버튼 하나만 눌러주면 ë¬¸ì´ ì—´ë¦¬ë¯€ë¡œ 스위치는 서보모터 하나로 단순하게 ì œìž‘ * ì„¸ì½¤ì´ ë©ì²í•˜ê²Œ 버튼 ëœ¯ì„ ìˆ˜ 있게 해놨ì„ë¦¬ë„ ì—†ê³ ê·¸ëž˜ì„œ ì§ì ‘ì—°ê²° ì•ˆí•˜ê³ ì´ë ‡ê²Œ 하는ê²ë‹ˆë‹¤ * ë¬´ì„ ë™ê¸€ì„ ì´ìš©í•˜ê¸°ì—는 êµ¬ìž…ì´ ê·€ì°®ê¸°ë„ í•˜ê³ ë‹¤ë¥¸ ë¬´ì„ ì‹ í˜¸ê°€ ë§Žì€ 6í”¼ì˜ íŠ¹ì„±ìƒ ìœ ì„ ìœ¼ë¡œ í• ì˜ˆì • * ì¶”í›„ì— ê¸°ëŠ¥ì„ ì¶”ê°€ í• ìˆ˜ 있ë„ë¡ ë¼íŒŒì´ëž™ì— ë¼íŒŒì´ë¥¼ ë‘ê³ UTPì„ ì„ ê¸¸ê²Œ 뽑아서 서보모터만 입구버튼 ìƒë‹¨ì— 장착 * 7.24 ì „ì›ë¬¸ì œë¡œ ì¸í•´ 별ë„로 외부 ì „ì› ì—°ê²°í• ì˜ˆì • * í”„ë¡œê·¸ëž¨ì€ ì„œë³´ëª¨í„°ë¥¼ íšŒì „ì‹œì¼œ 입구 ì•žì— ìžˆëŠ” ì—´ë¦¼ë²„íŠ¼ì€ ëˆŒë €ë‹¤ê°€ ì›ìœ„치 시킴 attachment:Example.jpg == 구현 == * ip는 ZPì— í• ë‹¹ë°›ì€ ëŒ€ì—í 중 하나를 사용 * 코드{{{ ì•„ì§ì•ˆí•¨ã…‹ }}} * ZeroBotì´ëž‘ì€ ì–´ë–»ê²Œ ì—°ë™í• 까? - 천천히 ìƒê°í•´ë´…시다 * Raspberry piì—서 Python으로 Web Server를 만들어 ë†“ê³ ê·¸ ì›¹ì„œë²„ì— ì ‘ì†í•˜ë©´ 열리는 ë°©ì‹ìœ¼ë¡œ í•´ë‘ë©´ ZeroBotì´ í•´ë‹¹ URL로 HTTPì ‘ì†ì„ 하면 ë¨. 만약 ë³´ì•ˆì„ ì‹ ê²½ì“°ê³ ì‹¶ë‹¤ë©´ ì¸ì¦ì„ 달면 ë˜ê³ . -bluemir- === 7.24 === * 약 10mì˜ ê±°ë¦¬ì—서 파워를 ì œê³µë°›ë‹¤ë³´ë‹ˆ 파워부족으로 ì»¨íŠ¸ë¡¤ì´ ìž˜ì•ˆë¨ * 0 ~ 180ë„로 ë°˜ë³µí• ë•Œ 10번 중 2번 ì •ë„ê°€ ì¤‘ê°„ì— ë˜ëŒì•„옴 * ì˜ˆì œ 코드{{{ 0 ~ 180ë„ ë°˜ë³µí•˜ëŠ” 코드 1 import RPi.GPIO as GPIO 2 import time 3 pin = 18 4 GPIO.setmode(GPIO.BCM) 5 GPIO.setup(pin, GPIO.OUT) 6 p = GPIO.PWM(pin, 50) 7 8 p.start(7.5) 9 try: 10 while True: 11 p.ChangeDutyCycle(7.5) 12 time.sleep(2) 13 p.ChangeDutyCycle(12.5) 14 time.sleep(2) 15 p.ChangeDutyCycle(2.5) 16 time.sleep(5) 17 except keyboardInterrput: 18 p.stop() 19 GPIO.cleanup() }}} * 별ë„ì˜ ì „ì›í•„ìš”í• ë“¯(4.8~6v) - ìžë™ì°¨ëŒ€íšŒìš© 배터리 사용하면 ë 듯 * ë³„ë„ 5V(íœ´ëŒ€í° ì¶©ì „ê¸°) ì“°ê³ ëª¨í„°ë“œë¼ì´ë¸Œë¥¼ 사용하는건? -bluemir * ë³„ë„ ì „ì›ì´ 들어가서 모터드ë¼ì´ë¸Œ ë„£ì–´ì¤˜ì•¼í•˜ëŠ”ë° IC칩하나만 쓸지 ìžë™ì°¨ëŒ€íšŒë¡œ 준거 쓸지 ê³ ë¯¼ì´ë„¤ìš” -[김한성] === 7.27 === * ì´ê±° 하러 온 ê±´ ì•„ë‹Œë° ë‹¤ì‹œ ìƒê°í•´ë´„ * 별ë„ì˜ ì „ì›(5v) 추가 ì˜ˆì • - í•¸ë“œí° ë°°í„°ë¦¬ ì¶©ì „ê¸° * ì´ìœ - 24ì¼ì— 기ë¡í•œê±°ì²˜ëŸ¼ 파워 부족(ì „ì••ì€ ì ì •ì¹˜ì´ë‚˜ ê¸°ë³¸ì¶œë ¥ ì „ë¥˜ê°’ì´ ë„ˆë¬´ ì ìŒ....)으로 ì»¨íŠ¸ë¡¤ì´ ìž˜ ì•ˆë¨ * 모터드ë¼ì´ë¸Œë„ 추가 ì˜ˆì • * IC칩 사용(SN754410NE) - http://html.alldatasheet.com/html-pdf/28616/TI/SN754410NE/24/1/SN754410NE.html attachment:sample1.png * 모터드ë¼ì´ë¸Œì˜ ì—í• {{{ 1. 별ë™ì˜ 외부 ì „ì› ê³µê¸‰ 가능 2. í•˜ë‚˜ì˜ ì•ˆì •ìž¥ì¹˜?(ë¼íŒŒì´ ëŒ€ì‹ ì–˜ê°€ ëŒ€ì‹ íƒ€ì¤Œã…‹) 3. 열차단 회로 내장 4. ê³¼ì „ë¥˜ 보호회로 내장 5. ì—ê¸°ì „ë ¥ í¡ìˆ˜ìš© 다ì´ì˜¤ë“œ 내장 }}} * ì´ì˜ê²Œ ë§Œë“¤ì–´ì•¼í• ë“¯ * 대충 ë‹¬ë ¤ê³ í–ˆëŠ”ë° ì• ë§¤í•©ë‹ˆë‹¤(ê±¸ì¹ ê³³ì´ ì—†ì„œì„œ ã„·ã„·) * IOTê°€ 불가능한 ìƒí™©ì¼ë•Œ 물리ì 으로 ë²„íŠ¼ì— ì ‘ê·¼ì´ ê°€ëŠ¥í•˜ë„ë¡ ì œìž‘ === 8.5 === * PWM(Pulse Width Modulation) * ì•„ë‚ ë¡œê·¸ ì‹ í˜¸ë¥¼ 디지털 형태로 나타낸 것. * ì „ì›ì´ onë˜ëŠ” ì‹œê°„ì„ íŽ„ìŠ¤ í * 펄스 íì„ ì¡°ì •í•¨ìœ¼ë¡œì¨ on/off사ì´ì˜ ì „ì••ì„ í‰ë‚´ë‚¼ 수 있다. attachment:pwm.png == ë¬¸ì œì == * ZeroBotì´ ì£½ì—ˆì„ ê²½ìš° * ì§ì ‘ ë¼íŒŒì´ì— ì ‘ê·¼í•˜ì—¬ ë¬¸ì„ ì—°ë‹¤ * Slackì´ ë§‰íž ê²½ìš° * 설마;;; * 불순한 ì˜ë„로 ë¼íŒŒì´ì— ssh로 ì ‘ê·¼í•˜ì—¬ íŠ¸ë¡¤ë§ í•´ë†“ëŠ” 경우 * ë…¸ë ¥ì´ ê°€ìƒí•´ì„œ ë´ì¤€ë‹¤ * 물리ì 으로 ë¼íŒŒì´ ì „ì› or ì¸í„°ë„·ì„ 사용 못하게 하는 경우 * 현장범ì´ë©´ ë¹ ë”°ë¡œ.... * 다시 연결해야지.... {{{그냥 귀찮아서 í•™ìƒì¦ìœ¼ë¡œ ì—´ê³ ë§Œë‹¤;;}}} --------------------------------- [엔진소리죽ì´ëŠ”ë°]