Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Manufacturing Technology >> Proses manufaktur

Kontrol Sirkuit Peka Gerakan melalui Intel Curie

Komponen dan persediaan

Arduino 101
× 1

Tentang proyek ini

Sasaran

  • Menyalakan (dan mematikan) lampu secara otomatis saat langkah kaki terdeteksi
  • Menyinkronkan kedipan lampu dengan tempo yang terdeteksi dari tarian di sekitar / mengetuk
  • Output pembacaan akselerometer/giroskop melalui USB/Bluetooth untuk mendeteksi peristiwa seismik

Repo GitHub

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

Sketsa

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() { // Kita tidak perlu memasukkan apapun ke dalam loop utama... } static void eventCallback(void) { if (CurieIMU.getInterruptStatus(CURIE_IMU_SHOCK)) { digitalWrite(LED_BUILTIN, HIGH); penundaan (50); digitalWrite(LED_BUILTIN, RENDAH); } }  
  • Mengedipkan LED onboard saat ketukan terdeteksi
  • Digunakan untuk mengetahui perubahan pada deteksi impuls

TapBeatMatch

  • Menyinkronkan kedipan LED onboard dengan tempo ketukan pada permukaan meja dekat Arduino 101
  • Menerapkan rata-rata tertimbang untuk membantu mengurangi kebisingan
  • Ambang deteksi guncangan yang dapat disesuaikan

Pembaca Seismik + Skrip Visualisasi Python

  • Papan Arduino 101 mengeluarkan nilai akselerometer dan giroskop berformat JSON melalui Serial, yang kemudian dibaca oleh komputer yang terhubung
  • Tulis skrip Python kecil yang membaca data dari papan dan membuat grafiknya pada baris yang sangat sederhana di terminal / command prompt
  • Menyimpan hasil ke CSV yang dapat dibuka di Excel dan dibuat grafiknya
  • Penggunaan Python 2.x / 3.x multiplatform:

Pencahayaan Getaran

  • Awalnya dirancang untuk mendeteksi langkah kaki yang mendekat dan mengaktifkan pencahayaan saat seseorang berada di dekatnya, diubah menjadi deteksi ketuk dua kali karena rasio signal-to-noise tidak cukup bersih untuk pemasangan saya
  • Strip LED yang direkatkan di bawah cermin pintu masuk menyala dan mati saat cermin diketuk dua kali berturut-turut

Bonus

Percakapan dengan Bogdan membuat saya menyadari bahwa akan sangat mudah untuk memodifikasi sketsa Arduino agar berfungsi dengan sensor akselerometer + giroskop mandiri yang terhubung ke hampir semua perangkat Arduino, dan kemudian menggunakan CurieGraph.py untuk memvisualisasikan data. Melihat bahwa tujuan mengumpulkan pembacaan seismik adalah untuk membuktikan bahwa dimungkinkan untuk mengumpulkan data secara massal tanpa peralatan yang rumit atau khusus, saya mencari-cari di meja saya untuk "ITG-MTU" / "GY-521" / "MPU-6050" papan sensor, dan menulis Sketsa berikut untuk itu. CurieGraph.py mungkin gagal untuk memulai beberapa kali, tetapi biasanya berhasil dengan baik pada upaya ketiga.

Giroskop Eksternal

#include const int MPU_addr=0x68; // alamat I2C untuk ITG-MTU int ax, ay, az, temp, gx, gy, gz; void setup(){ Serial.begin(9600); Kawat.mulai(); Wire.beginTransmission(MPU_addr); Kawat.tulis (0x6B); Kawat.tulis(0); Wire.endTransmisi (benar); } String jsonEncodeValue(String key, float keyVal){ return "\"" + kunci + "\":" + String(keyVal) + ""; } String assembleJson(String keysAndVals){ return "{" + keysAndVals + "}"; } void loop(){ Wire.beginTransmission(MPU_addr); Kawat.tulis (0x3B); Wire.endTransmission(salah); Wire.requestFrom(MPU_addr, 14, benar); kapak =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(); // suhu =suhu/340.00+36.53; // Konversi data temp ke celsius - TIDAK DIGUNAKAN 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)); penundaan(100); }  

Kode

arduino-101-sketsa
Kumpulan sketsa yang ditulis khusus untuk Arduino 101, memanfaatkan akselerometer dan giroskop Intel Curie.https://github.com/ckuzma/arduino-101-sketches

Proses manufaktur

  1. Sirkuit Kontrol Motor
  2. Aktifkan Kontrol Alexa ke Kipas Angin Anda
  3. Memrogram Seri Atmel AT89 Melalui Arduino
  4. Kontrol Jarak Jauh Universal menggunakan Arduino, 1Sheeld, dan Android
  5. Kontrol Penerima Koin dengan Arduino
  6. Pusat Kontrol Arduino
  7. Menggunakan IoT untuk Mengontrol Lengan Robot dari Jarak Jauh
  8. Arduino dengan Bluetooth untuk Mengontrol LED!
  9. Kontrol Humidifier Arduino
  10. Arduino Nano:Kontrol 2 Motor Stepper Dengan Joystick