Mục lục:
- Quân nhu
- Bước 1: Cấp nguồn cho mạch và Pi
- Bước 2: MPU6050
- Bước 3: GPS đột phá cuối cùng của Adafruit
- Bước 4: Màn hình LCD 16x2
- Bước 5: Servo, Đèn Led, Nút và Công tắc
- Bước 6: Toàn bộ mạch
- Bước 7: Mã
- Bước 8: Cơ sở dữ liệu
- Bước 9: Trường hợp
Video: Theo dõi & theo dõi các cửa hàng nhỏ: 9 bước (có hình ảnh)
2024 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2024-01-30 13:31
Đây là một hệ thống được tạo ra cho các cửa hàng nhỏ được cho là gắn vào xe đạp điện hoặc xe tay ga điện tử để giao hàng trong phạm vi ngắn, ví dụ như một tiệm bánh muốn giao bánh ngọt.
Theo dõi và Dấu vết có nghĩa là gì?
Theo dõi và theo dõi là một hệ thống được sử dụng bởi các nhà vận chuyển hoặc các công ty chuyển phát nhanh để ghi lại sự di chuyển của các bưu kiện hoặc vật phẩm trong quá trình vận chuyển. Tại mọi địa điểm chế biến, hàng hóa được xác định và chuyển dữ liệu đến hệ thống xử lý trung tâm. Dữ liệu này sau đó được sử dụng để cung cấp trạng thái / cập nhật vị trí hàng hóa cho người gửi hàng.
Hệ thống mà chúng tôi sẽ thực hiện cũng sẽ hiển thị tuyến đường đã thực hiện và số lượng cú sốc và va chạm nhận được. Phần hướng dẫn này cũng giả định rằng bạn có kiến thức cơ bản về pi raspberry, python và mysql.
lưu ý: điều này được thực hiện cho một dự án trường học, do đó, do hạn chế về thời gian, có rất nhiều chỗ để cải thiện
Quân nhu
-Raspberry Pi 4 mẫu B
-Raspberry PI T-cobbler
- Pin Li-ion 4x 3, 7V
-2x ngăn chứa pin đôi
-DC Buck Step-down Converter 5v
-2x đèn led màu cam lớn
-trên / tắt / bật công tắc
-cái nút
-adafruit cuối cùng gps v3
-mpu6050
-Màn hình LCD 16x2
-động cơservo
Bước 1: Cấp nguồn cho mạch và Pi
Khi nói đến cấp nguồn cho mạch pi bằng pin, bạn có một số tùy chọn về cách thực hiện.
Bạn có thể sử dụng pin sạc dự phòng và cấp nguồn cho pi qua USB, có thể bạn đang lắp thiết bị trên xe đạp điện hoặc xe tay ga có cổng USB, có thể bạn có pin điện thoại 5V đang chờ được sử dụng hoặc bạn có thể sử dụng 2 bộ pin 3.7V song song với một bộ chuyển đổi bước xuống như trong hình
Bất cứ thứ gì cũng được miễn là nó có thể cung cấp nguồn 5V liên tục và có tuổi thọ mà bạn hài lòng.
Bước 2: MPU6050
Giới thiệu Mô-đun cảm biến MPU6050 là một thiết bị theo dõi chuyển động 6 trục tích hợp.
- Nó có Con quay hồi chuyển 3 trục, Gia tốc kế 3 trục, Bộ xử lý chuyển động kỹ thuật số và cảm biến nhiệt độ, tất cả đều nằm trong một vi mạch duy nhất.
- Các tham số khác nhau có thể được tìm thấy bằng cách đọc các giá trị từ địa chỉ của một số thanh ghi sử dụng giao tiếp I2C. Đọc kính quang học và gia tốc kế dọc theo các trục X, Y và Z có sẵn ở dạng bổ sung của 2.
- Số đọc con quay hồi chuyển được tính bằng đơn vị độ trên giây (dps); Các số đọc của gia tốc kế được tính bằng đơn vị g.
Bật I2C
Khi sử dụng MPU6050 với Raspberry Pi, chúng ta nên đảm bảo rằng giao thức I2C trên Raspberry Pi đã được bật.
- gõ vào "sudo raspi-config"
- Chọn cấu hình giao diện
- Trong tùy chọn Interfacing, Chọn "I2C"
- Bật cấu hình I2C
- Chọn Có khi nó yêu cầu Khởi động lại.
Bây giờ, chúng tôi có thể kiểm tra / quét tìm bất kỳ thiết bị I2C nào được kết nối với bo mạch Raspberry Pi của chúng tôi bằng cách cài đặt các công cụ i2c. Chúng ta có thể tải các công cụ i2c bằng cách sử dụng trình quản lý gói apt. Sử dụng lệnh sau trong thiết bị đầu cuối Raspberry Pi.
"sudo apt-get install -y i2c-tools"
Bây giờ kết nối bất kỳ thiết bị dựa trên I2C nào với cổng chế độ người dùng và quét cổng đó bằng lệnh sau, "sudo i2cdetect -y 1"
Sau đó, nó sẽ phản hồi với địa chỉ thiết bị.
Nếu không có địa chỉ nào được trả lại, hãy đảm bảo MPU6050 được kết nối đúng cách và thử lại
Làm cho nó hoạt động
bây giờ chúng tôi chắc chắn rằng i2c đã được kích hoạt và pi có thể đạt đến MPU6050, chúng tôi sẽ cài đặt một thư viện bằng cách sử dụng lệnh "sudo pip3 install adafruit-circuitpython-mpu6050".
nếu chúng tôi tạo tệp thử nghiệm python và sử dụng mã sau, chúng tôi có thể xem liệu nó có hoạt động hay không:
thời gian nhập khẩu
bảng nhập khẩu
nhập khẩu busi
oimport adafruit_mpu6050
i2c = busio. I2C (board. SCL, board. SDA)
mpu = adafruit_mpu6050. MPU6050 (i2c)
trong khi Đúng:
print ("Gia tốc: X:%. 2f, Y:%.2f, Z:%.2f m / s ^ 2"% (mpu.acceleration))
print ("Con quay hồi chuyển X:%. 2f, Y:%.2f, Z:%.2f độ / s"% (mpu.gyro))
print ("Nhiệt độ:%.2f C"% mpu. nhiệt độ)
in("")
time.sleep (1)
khi chúng ta muốn gia tốc theo trục X / Y / Z, chúng ta có thể sử dụng như sau:
accelX = mpu.acceleration [0] accelY = mpu.acceleration [1] accelZ = mpu.acceleration [2]
kết hợp điều này với một câu lệnh if đơn giản trong một vòng lặp không đổi, chúng ta có thể đếm số lượng cú sốc trên một chuyến đi
Bước 3: GPS đột phá cuối cùng của Adafruit
Giới thiệu
Điểm đột phá được xây dựng dựa trên chipset MTK3339, một mô-đun GPS chất lượng cao, vô nghĩa có thể theo dõi tới 22 vệ tinh trên 66 kênh, có bộ thu độ nhạy cao tuyệt vời (theo dõi -165 dB!) Và một ăng-ten tích hợp. Nó có thể thực hiện tối đa 10 cập nhật vị trí mỗi giây cho tốc độ cao, ghi nhật ký hoặc theo dõi độ nhạy cao. Sử dụng năng lượng cực kỳ thấp, chỉ 20 mA trong quá trình điều hướng.
Bo mạch đi kèm: bộ điều chỉnh 3.3V loại bỏ cực thấp để bạn có thể cấp nguồn cho nó với đầu vào an toàn ở mức 3.3-5VDC, 5V, Đèn LED nhấp nháy ở khoảng 1Hz trong khi nó đang tìm kiếm vệ tinh và nhấp nháy 15 giây một lần khi có bản sửa lỗi được tìm thấy để bảo tồn quyền lực.
Kiểm tra gps với arduino
Nếu bạn đã sử dụng arduino, bạn nên kiểm tra mô-đun với nó.
Kết nối VIN với + 5 Kết nối GND với mặt đất Kết nối GPS RX (dữ liệu vào GPS) với Kỹ thuật số 0 Kết nối GPS TX (dữ liệu ra từ GPS) với Kỹ thuật số 1
Chỉ cần chạy một mã arduino trống và mở màn hình nối tiếp trên 9600 baud. Nếu bạn nhận được dữ liệu gps, mô-đun gps của bạn hoạt động.
Làm cho nó hoạt động
Bắt đầu cài đặt thư viện gps adafruit bằng lệnh "sudo pip3 install adafruit-circuitpython-gps".
Bây giờ chúng ta có thể sử dụng mã python sau để xem liệu chúng ta có thể làm cho nó hoạt động hay không:
bảng nhập thời gian nhập bảng nhập busioimport adafruit_gpsimport serial uart = serial. Serial ("/ dev / ttyS0", baudrate = 9600, timeout = 10)
gps = adafruit_gps. GPS (uart, debug = False) gps.send_command (b'PMTK314, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ') gps.send_command (b'PMTK220, 1000')
trong khi Đúng:
gps.update () trong khi không phải gps.has_fix:
print (gps.nmea_sentence) print ('Đang chờ sửa chữa…') gps.update () time.sleep (1) tiếp tục
print ('=' * 40) # In dấu phân tách dòng.print ('Vĩ độ: {0:.6f} độ'. định dạng (gps.latitude)) print (' Kinh độ: {0:.6f} độ'. định dạng (gps.longitude)) print ("Sửa chất lượng: {}". format (gps.fix_quality))
# Một số thuộc tính ngoài vĩ độ, kinh độ và dấu thời gian là tùy chọn # và có thể không có. Kiểm tra xem chúng có Không có không trước khi cố gắng sử dụng! Nếu gps.satellites không phải là Không có:
print ("# vệ tinh: {}". format (gps.satellites))
nếu gps.altitude_m không phải là Không có:
print ("Độ cao: {} mét".format (gps.altitude_m))
nếu gps.speed_knots không phải là Không có:
print ("Tốc độ: {} hải lý".format (gps.speed_knots))
nếu gps.track_angle_deg không phải là Không có:
print ("Góc theo dõi: {} độ".format (gps.track_angle_deg))
nếu gps.horizontal_dilution không phải là Không có:
print ("Độ pha loãng theo chiều ngang: {}". định dạng (gps.horizontal_dilution))
nếu gps.height_geoid không phải là Không có:
print ("ID địa lý độ cao: {} mét".format (gps.height_geoid))
time.sleep (1)
Bước 4: Màn hình LCD 16x2
Giới thiệu
Các mô-đun LCD được sử dụng rất phổ biến trong hầu hết các dự án nhúng, lý do là giá thành rẻ, tính khả dụng và thân thiện với lập trình viên. Hầu hết chúng ta đều đã bắt gặp những màn hình này trong cuộc sống hàng ngày, ở PCO’s hoặc máy tính. LCD 16 × 2 được đặt tên như vậy bởi vì; nó có 16 Cột và 2 Hàng. Có rất nhiều kết hợp có sẵn như 8 × 1, 8 × 2, 10 × 2, 16 × 1, v.v. nhưng được sử dụng nhiều nhất là LCD 16 × 2. Vì vậy, nó sẽ có tổng cộng (16 × 2 = 32) 32 ký tự và mỗi ký tự sẽ được tạo từ 5 × 8 Pixel Dots.
Cài đặt smbus
Bus quản lý hệ thống (SMBus) ít nhiều là một dẫn xuất của bus I2C. Tiêu chuẩn này do Intel phát triển và hiện đang được SBS Forum duy trì. Ứng dụng chính của SMBus là theo dõi các thông số quan trọng trên bo mạch chủ PC và trong hệ thống nhúng. Ví dụ, có rất nhiều màn hình điện áp nguồn, màn hình nhiệt độ và màn hình điều khiển / giám sát quạt với giao diện SMBus có sẵn.
Thư viện chúng ta sẽ sử dụng yêu cầu smbus phải được cài đặt ổn định. Để cài đặt smbus trên rpi, hãy sử dụng lệnh "sudo apt install python3-smbus".
Làm cho nó hoạt động
trước hết cài đặt thư viện RPLCD bằng lệnh "sudo pip3 install RPLCD".
bây giờ chúng tôi kiểm tra màn hình LCD bằng cách hiển thị ip bằng mã sau:
từ RPLCD.i2c nhập ổ cắm CharLCDimport
def get_ip_address ():
ip_address = 's = socket.socket (socket. AF_INET, socket. SOCK_DGRAM) s.connect (("8.8.8.8", 80)) ip_address = s.getsockname () [0] s.close () return ip_address
lcd = CharLCD ('PCF8574', 0x27)
lcd.write_string ('Địa chỉ IP: / r / n' + str (get_ip_address ()))
Bước 5: Servo, Đèn Led, Nút và Công tắc
Giới thiệu
Động cơ servo là một cơ cấu truyền động quay hoặc động cơ cho phép điều khiển chính xác về vị trí góc, gia tốc và vận tốc, những khả năng mà động cơ thông thường không có. Nó sử dụng một động cơ thông thường và ghép nối nó với một cảm biến để phản hồi vị trí. Bộ điều khiển là bộ phận phức tạp nhất của động cơ servo, vì nó được thiết kế đặc biệt cho mục đích này.
LED viết tắt của điốt phát quang. Một linh kiện bán dẫn điện tử phát ra ánh sáng khi có dòng điện chạy qua nó. Chúng hiệu quả hơn đáng kể so với bóng đèn sợi đốt và hiếm khi bị cháy. Đèn LED được sử dụng trong nhiều ứng dụng như hiển thị video màn hình phẳng và ngày càng trở thành nguồn ánh sáng chung.
Nút nhấn hay đơn giản là nút là một cơ chế chuyển đổi đơn giản để điều khiển một số khía cạnh của máy móc hoặc quy trình. Các nút thường được làm từ vật liệu cứng, thường là nhựa hoặc kim loại.
Công tắc bật / tắt / bật có 3 vị trí trong đó vị trí ở giữa là trạng thái tắt, các loại này chủ yếu được sử dụng để điều khiển động cơ đơn giản, nơi bạn có trạng thái chuyển tiếp, tắt và đảo ngược.
Làm cho nó hoạt động: servo
Servo sử dụng tín hiệu PWM để xác định xem nó cần ở góc nào, thật may mắn cho chúng tôi GPIO có tích hợp tính năng này.
servo_pin = 18duty_cycle = 7,5
GPIO.setmode (GPIO. BCM)
GPIO.setup (servo_pin, GPIO. OUT)
pwm_servo = GPIO. PWM (servo_pin, 50) pwm_servo.start (duty_cycle)
trong khi Đúng:
duty_cycle = float (input ("Enter Duty Cycle (Left = 5 to Right = 10):")) pwm_servo. ChangeDutyCycle (duty_cycle)
Làm cho nó hoạt động: đèn led và công tắc
Do cách đấu dây của đèn led và công tắc, chúng ta không cần điều khiển hoặc đọc đèn led và tự chuyển mạch.
Làm cho nó hoạt động: nút
Đối với nút, chúng ta sẽ tạo lớp đơn giản của riêng mình theo cách này, chúng ta có thể dễ dàng nhìn thấy khi nó được nhấn mà không cần phải thêm phát hiện sự kiện vào nó mỗi lần chúng ta sử dụng nó. Chúng ta sẽ tạo tệp classbutton.py bằng cách sử dụng mã sau:
từ Nút GPIOclass nhập RPi:
def _init _ (self, pin, bouncetime = 200): self.pin = pin self.bouncetime = bouncetime GPIO.setmode (GPIO. BCM) GPIO.setup (pin, GPIO. IN, GPIO. PUD_UP) @property def đã được nhấn (self):
ingedrukt = GPIO.input (self.pin) trả về không ingedrukt
def on_press (self, call_method):
GPIO.add_event_detect (self.pin, GPIO. FALLING, call_method, bouncetime = self.bouncetime)
def on_release (self, call_method):
GPIO.add_event_detect (self.pin, GPIO. RISING, call_method, bouncetime = self.bouncetime)
Bước 6: Toàn bộ mạch
Bây giờ chúng ta đã xem qua tất cả các thành phần đã đến lúc kết hợp tất cả chúng.
Trong khi các bức ảnh cho thấy các thành phần hiển thị mọi thứ trên bảng mạch chính thì tốt hơn hết là có màn hình LCD, GPS và nút kết nối bằng dây cái với dây đực Chỉ có t-cobbler và mpu6050 trên breadboard. sử dụng dây dài hơn để đảm bảo bạn có thể tiếp cận các thanh nhấp nháy và thanh lái.
Bước 7: Mã
Để giữ cho sự sạch sẽ có thể hướng dẫn này, tôi đã cung cấp một kho lưu trữ github với cả tệp phụ trợ và giao diện người dùng. Chỉ cần đặt các tệp vào thư mục giao diện người dùng trong / var / www / html. [tên người dùng] / [tên thư mục] thư mục
Bước 8: Cơ sở dữ liệu
Do cách hệ thống này được thiết lập nên một webhop đơn giản được thiết lập bằng cách sử dụng danh sách các sản phẩm trong cơ sở dữ liệu, hơn nữa chúng tôi có tất cả các điểm và đơn đặt hàng được lưu ở đây. Bạn có thể tìm thấy tập lệnh tạo trên kho lưu trữ github được liên kết trong bước tiếp theo
Bước 9: Trường hợp
Một khi chúng ta biết công việc của các thiết bị điện tử, chúng ta có thể nhét chúng vào một chiếc hộp. Bạn có thể tự do sáng tạo với nó. và gấp nó lại cho đến khi bạn có thứ mình thích. Đo và vẽ hộp đựng của bạn trên một mảnh giấy và làm nó từ vật liệu cứng cáp hơn như gỗ hoặc nếu đó không phải là thứ của bạn, hãy in nó. Chỉ cần đảm bảo tất cả các thiết bị điện tử vừa vặn bên trong và bạn có các lỗ cho nút bấm, dây dẫn đến công tắc, đèn LED và màn hình LCD.
Đề xuất:
Tự làm theo dõi năng lượng mặt trời thu nhỏ: 5 bước (có hình ảnh)
DIY Miniature Solar Tracker: Trong dự án này, tôi sẽ chỉ cho bạn cách tạo một thiết bị theo dõi năng lượng mặt trời giống như tên gọi của nó có thể theo dõi chuyển động của mặt trời suốt cả ngày. Và ở phần cuối, tôi sẽ cho bạn thấy sự khác biệt về thu hoạch năng lượng giữa bảng điều khiển năng lượng mặt trời gắn trên bộ theo dõi năng lượng mặt trời
Trượt Máy Ảnh Theo Dõi Đối Tượng Với Trục Xoay. 3D được in & xây dựng trên bộ điều khiển động cơ DC RoboClaw & Arduino: 5 bước (có hình ảnh)
Trượt Máy Ảnh Theo Dõi Đối Tượng Với Trục Xoay. 3D được in & xây dựng trên bộ điều khiển động cơ DC RoboClaw & Arduino: Dự án này là một trong những dự án yêu thích của tôi vì tôi đã kết hợp sở thích làm video với DIY. Tôi đã luôn xem xét và muốn mô phỏng những cảnh quay điện ảnh đó trong những bộ phim trong đó máy ảnh di chuyển trên màn hình trong khi lia để theo dõi
Theo dõi thời tiết M5Stack M5stick C dựa trên ESP32 với DHT11 - Theo dõi nhiệt độ độ ẩm & chỉ số nhiệt trên M5stick-C với DHT11: 6 bước
Theo dõi thời tiết M5Stack M5stick C dựa trên ESP32 với DHT11 | Theo dõi nhiệt độ độ ẩm và chỉ số nhiệt trên M5stick-C Với DHT11: Xin chào các bạn, trong phần hướng dẫn này, chúng ta sẽ học cách giao tiếp cảm biến nhiệt độ DHT11 với m5stick-C (một bảng phát triển của m5stack) và hiển thị nó trên màn hình của m5stick-C. Vì vậy, trong hướng dẫn này, chúng ta sẽ đọc nhiệt độ, độ ẩm & nhiệt tôi
Dự án Nhà kính (RAS): Theo dõi các yếu tố để phản ứng trên đồn điền của chúng ta: 18 bước (có hình ảnh)
Dự án Nhà kính (RAS): Theo dõi các yếu tố phản ứng trên việc trồng cây của chúng ta: Dự án này đề xuất theo dõi nhiệt độ không khí, độ sáng và độ ẩm, cũng như nhiệt độ và độ ẩm của khu rừng. Nó cũng đề xuất kết nối mạng các biện pháp này có thể đọc được trên trang web Actoborad.com Để thực hiện, chúng tôi kết nối 4 cảm biến với N
Chế tạo rô bốt nhỏ: Chế tạo rô bốt Sumo siêu nhỏ 1 inch khối và nhỏ hơn: 5 bước (có hình ảnh)
Xây dựng rô bốt nhỏ: Chế tạo rô bốt siêu nhỏ và rô bốt khối siêu nhỏ 1 inch Inch: Dưới đây là một số chi tiết về cách chế tạo rô bốt và mạch điện tí hon. Tài liệu hướng dẫn này cũng sẽ đề cập đến một số mẹo và kỹ thuật cơ bản hữu ích trong việc chế tạo rô bốt ở bất kỳ kích thước nào. Đối với tôi, một trong những thách thức lớn trong lĩnh vực điện tử là xem