산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Manufacturing Technology >> 제조공정

인텔 퀴리(Arduino 101) 기반 모션 감지 조명 시스템

부품 및 소모품

부품수량
아두이노 101 (Arduino 101, 인텔 퀴리 탑재)1

프로젝트 소개

목표

GitHub 저장소

https://github.com/ckuzma/arduino-101-sketches

스케치 모음

1. TapFlashTest - 탭 감지 시 내장 LED 점멸

#include "CurieIMU.h"
void setup() {
  pinMode(LED_BUILTIN, OUTPUT);
  CurieIMU.begin();
  CurieIMU.attachInterrupt(eventCallback);
  CurieIMU.setDetectionThreshold(CURIE_IMU_SHOCK, 1050); // 1.050g = 1050mg
  CurieIMU.setDetectionDuration(CURIE_IMU_SHOCK, 75);    // 75ms
  CurieIMU.interrupts(CURIE_IMU_SHOCK);
}
void loop() { }
static void eventCallback(void) {
  if (CurieIMU.getInterruptStatus(CURIE_IMU_SHOCK)) {
    digitalWrite(LED_BUILTIN, HIGH);
    delay(50);
    digitalWrite(LED_BUILTIN, LOW);
  }
}

2. TapBeatMatch - 탭 템포에 맞춰 LED 깜빡임 동기화

인텔 퀴리(Arduino 101) 기반 모션 감지 조명 시스템

3. SeismicReader + Python 시각화 스크립트

인텔 퀴리(Arduino 101) 기반 모션 감지 조명 시스템
인텔 퀴리(Arduino 101) 기반 모션 감지 조명 시스템

4. VibrationLighting - 진동 감지 조명 제어

인텔 퀴리(Arduino 101) 기반 모션 감지 조명 시스템
인텔 퀴리(Arduino 101) 기반 모션 감지 조명 시스템

보너스: 외부 자이로스코프(MPU-6050) 연동

별도 가속도/자이로 센서(ITG-MTU / GY-521 / MPU-6050)를 거의 모든 아두이노에 연결하고 CurieGraph.py로 데이터 시각화 가능. 지진파 데이터 크라우드소싱 가능성 입증용.

인텔 퀴리(Arduino 101) 기반 모션 감지 조명 시스템
#include <Wire.h>
const int MPU_addr = 0x68; // MPU-6050 I2C 주소
int ax, ay, az, temp, gx, gy, gz;
void setup() {
  Serial.begin(9600);
  Wire.begin();
  Wire.beginTransmission(MPU_addr);
  Wire.write(0x6B); Wire.write(0); Wire.endTransmission(true);
}
String jsonEncodeValue(String key, float keyVal) {
  return "\"" + key + "\":" + String(keyVal);
}
String assembleJson(String keysAndVals) {
  return "{" + keysAndVals + "}";
}
void loop() {
  Wire.beginTransmission(MPU_addr);
  Wire.write(0x3B); Wire.endTransmission(false);
  Wire.requestFrom(MPU_addr, 14, true);
  ax = Wire.read()<<8 | Wire.read();
  ay = Wire.read()<<8 | Wire.read();
  az = Wire.read()<<8 | Wire.read();
  temp = Wire.read()<<8 | Wire.read();
  gx = Wire.read()<<8 | Wire.read();
  gy = Wire.read()<<8 | Wire.read();
  gz = Wire.read()<<8 | Wire.read();
  String keyVals = jsonEncodeValue("ax", ax) + ",";
  keyVals += jsonEncodeValue("ay", ay) + ",";
  keyVals += jsonEncodeValue("az", az) + ",";
  keyVals += jsonEncodeValue("gx", gx) + ",";
  keyVals += jsonEncodeValue("gy", gy) + ",";
  keyVals += jsonEncodeValue("gz", gz);
  Serial.println(assembleJson(keyVals));
  delay(100);
}

코드

아두이노 101 전용 스케치 모음. 인텔 퀴리의 가속도계/자이로스코프 활용.
GitHub 저장소 바로가기

제조공정

  1. 고급 모터 제어 회로: 래칭, 정지, 시간지연 기법
  2. 알렉사(Alexa)로 천장 선풍기 제어하기 - 단계별 가이드
  3. 아두이노 우노로 Atmel AT89 시리즈 손쉽게 프로그래밍하기 - 단계별 가이드
  4. 아두이노, 1Sheeld, IR 제어로 만능 안드로이드 리모컨 만들기
  5. 스마트 저금통 만들기: 아두이노 나노로 동전 인식기 제어하기
  6. 아두이노 파워 컨트롤 센터: N-FET, P-FET, 릴레이 & RTC 키트
  7. 원격 IoT 제어 커스텀 로봇 팔: 아두이노 MKR1000과 심링크(Simulink) 활용
  8. 아두이노 블루투스로 LED 제어하기 - HC-05 & MIT App Inventor 입문 가이드
  9. 아두이노 릴레이 제어 가습기 자동화 – 고전압 안전 설계
  10. 아두이노 나노와 조이스틱으로 2개 스테퍼 모터 제어하기 – 비주이노(Visuino) 튜토리얼