Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Manufacturing Technology >> Processus de fabrication

Système d'éclairage activé par le mouvement basé sur Intel Curie (Arduino 101)

Composants et fournitures

Composant Quantité
Arduino 101 (Intel Curie) 1

À propos de ce projet

Objectifs

Dépôt GitHub

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

Sketches (programmes)

1. TapFlashTest

#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

Système d éclairage activé par le mouvement basé sur Intel Curie (Arduino 101)

3. SeismicReader + Script Python de visualisation

Système d éclairage activé par le mouvement basé sur Intel Curie (Arduino 101)
Système d éclairage activé par le mouvement basé sur Intel Curie (Arduino 101)

4. VibrationLighting

Système d éclairage activé par le mouvement basé sur Intel Curie (Arduino 101)
Système d éclairage activé par le mouvement basé sur Intel Curie (Arduino 101)

Bonus : Capteur externe (MPU-6050 / GY-521)

Une conversation m'a fait réaliser qu'il est facile d'adapter le sketch pour fonctionner avec des capteurs accéléromètre/gyroscope autonomes connectés à presque n'importe quel Arduino, puis d'utiliser CurieGraph.py pour visualiser les données. Dans l'optique de collecter des données sismiques via du matériel peu coûteux, j'ai ressorti un capteur « ITG-MTU » / « GY-521 » / « MPU-6050 » et écrit le sketch suivant. CurieGraph.py peut échouer au démarrage 1-2 fois mais fonctionne généralement à la 3e tentative.

ExternalGyroscope

Système d éclairage activé par le mouvement basé sur Intel Curie (Arduino 101)
#include <Wire.h>
const int MPU_addr = 0x68; // Adresse I2C pour ITG-MTU
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();
  // temp = temp/340.00+36.53; // Conversion température en °C - NON UTILISÉ

  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);
}

Code

arduino-101-sketches : Une collection de sketches pour l'Arduino 101 exploitant l'accéléromètre et le gyroscope de l'Intel Curie.

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

Processus de fabrication

  1. Circuits de commande moteur avancés : verrouillage, arrêt et techniques à temporisation
  2. Contrôler votre ventilateur de plafond avec Alexa : Guide étape par étape
  3. Programmer facilement les Atmel AT89 avec Arduino Uno – Guide pas à pas
  4. Construire une télécommande Android universelle avec Arduino, 1Sheeld et contrôle IR
  5. Construire une Tirelire Intelligente : Contrôler un Accepteur de Pièces avec Arduino Nano
  6. Centre de contrôle d'alimentation Arduino : N-FET, P-FET, Relais et RTC
  7. Contrôle IoT à Distance d'un Bras Robotique Personnalisé avec Arduino MKR1000
  8. Contrôler une LED par Bluetooth avec Arduino et MIT App Inventor
  9. Contrôleur d'humidificateur DIY avec Arduino et relais – Installation haute tension sécurisée