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

Menguasai Kontrol Sensor dan Aktuator Raspberry Pi: Akselerometer, Servo, dan Streaming Data

Sementara sebagian besar pengembang bekerja dengan file statis atau grafis sederhana, komputasi fisik membuka pintu untuk interaksi dengan dunia nyata. Dengan membaca data dari sensor dan menggerakkan aktuator, Anda dapat membuat sistem yang merasakan, membuat keputusan, dan bertindak di dunia fisik.

Tujuan

Menggunakan Raspberry Pi untuk membaca nilai akselerometer dan mengkomando servo motor, menunjukkan konsep utama komputasi fisik.

Konsep Utama

Artikel ini membahas empat proyek Python praktis yang menggambarkan kemampuan hardware Pi:

Membuat LED Berkedip

LED (Dioda Pemancar Cahaya) memancarkan cahaya ketika arus mengalir ke satu arah. Untuk melindungi Pi dan LED, gunakan resistor antara 500 Ω dan 1,5 kΩ. Nilai resistor dapat dihitung dengan R = (V_s - V_d) / I tetapi rentang di atas bekerja untuk sebagian besar kit hobi.

import time from itertools import cycle import RPi.GPIO as io io.setmode(io.BCM) io.setup(12, io.OUT) for state in cycle([1, 0]): io.output(12, state) time.sleep(0.5)

Kode mengatur pin 12 sebagai output dan menggantinya setiap setengah detik, sehingga LED berkedip.

Membaca Potensiometer

Potensiometer adalah resistor variabel yang mengubah posisi knob menjadi tegangan. Karena pin GPIO bersifat digital, kita memerlukan Konverter Analog-ke-Digital (ADC). MCP3008 menawarkan delapan saluran 10-bit, memetakan 0–3,3 V ke nilai integer 0–1023.

Instal spidev untuk berkomunikasi dengan MCP3008 melalui SPI:

pip install spidev

Jalankan skrip berikut untuk membaca nilai dari saluran 0:

import spidev import time spi = spidev.SpiDev() spi.open(0, 0) def readadc(adcnum): if not 0 <= adcnum <= 7: return -1 r = spi.xfer2([1, (8 + adcnum) << 4, 0]) adcout = ((r[1] & 3) << 8) + r[2] return adcout while True: val = readadc(0) print(val) time.sleep(0.5)

Stream Data dengan ØMQ

ØMQ menyederhanakan jaringan dengan menyediakan pustaka pesan berkinerja tinggi. Menggunakan pola REQUEST/REPLY, Anda dapat membangun server dan klien ringan dalam Python.

Server

import zmq context = zmq.Context() socket = context.socket(zmq.REP) socket.bind('tcp://*:1980') while True: message = socket.recv() print(message) socket.send(b"I'm here")

Klien

import zmq context = zmq.Context() socket = context.socket(zmq.REQ) socket.connect('tcp://192.168.1.6:1980') for _ in range(10): socket.send(b'You home?') message = socket.recv() print(message)

Dengan traits dan enaml, Anda dapat membuat UI responsif yang memvisualisasikan data stream. Lihat demo acc_plot untuk contoh lengkap.

Mengontrol Servo Motor

Servo bergerak ke posisi presisi menggunakan Modulasi Lebar Pulsa (PWM). Servo hobi standar menterjakan pulsa 0,5 ms sebagai sudut minimum dan 2,5 ms sebagai sudut maksimum, berulang setiap 20 ms.

Waktu yang presisi sulit dicapai dalam OS umum. ServoBlaster adalah modul kernel yang melepaskan pembuatan PWM ke pengontrol DMA, mengekspos antarmuka sederhana /dev/servoblaster.

Saya membungkus fungsionalitas ini dalam pustaka kecil berorientasi objek: RobotBrain. Contoh di bawah menunjukkan penggerakan servo dari 0 % ke 100 % siklus kerja.

import time import numpy as np from robot_brain.servo import Servo servo = Servo(0, min=60, max=200) for val in np.arange(0, 1, 0.05): servo.set(val) time.sleep(0.1)

Gunakan demo servo_slider di GitHub untuk melihat bagaimana servo dapat dikontrol melalui jaringan.

Untuk penjelasan lebih mendalam tentang kontrol sensor dan aktuator dengan Raspberry Pi, lihat dokumentasi asli atau tutorial komunitas.

Proses manufaktur

  1. Integrasi MQTT yang Lancar: Sensor NodeMCU DHT22 dengan Raspberry Pi 3 B+ sebagai Broker
  2. Membangun Pencatat Suhu Raspberry Pi dengan Sensor I2C $5
  3. Menghubungkan Beberapa Sensor DS18B20 1-Wire ke Raspberry Pi untuk Pemantauan Suhu yang Akurat
  4. Membuat Sensor Suhu Jarak Jauh dengan Raspberry Pi dan Python – Panduan Langkah demi Langkah
  5. Membangun Stasiun Cuaca Raspberry Pi yang Mengirim Data Cuaca Harian melalui Email
  6. Menghubungkan Sensor Ultrasonik HC-SR04 ke Raspberry Pi 3 – Panduan Lengkap
  7. Mengontrol LED dengan Sensor Gerak PIR pada Raspberry Pi
  8. Bangun Sensor Kelembaban Tanah Berbasis Raspberry Pi Biaya Rendah untuk Irigasi Cerdas
  9. Membaca Sensor Hall Linier dengan Raspberry Pi: Panduan Java & Wawasan ADC0832
  10. Bangun Sistem Pemantauan Suhu & Cahaya Multi-Sensor dengan Raspberry Pi & DS18B20