Robot an ninh trong nhà với Raspberry Pi & Arduino

Đăng lúc: Thứ tư - 09/11/2016 09:42 - Người đăng bài viết: SuperG
Raspberry Pi & Arduino camera Robot

Raspberry Pi & Arduino camera Robot

Giới thiệu thiết kế Robot Raspberry Pi & Arduino, theo dõi camera an ninh trong nhà, giao tiếp điều khiển trên giao diện web, kết nối wireless. Thiết kế ver 1.0 phục vụ nghiên cứu và học tập phát triển các ứng dụng thực tế với Arduino & Pi.
Video:  https://youtu.be/ORDoXQM1LWI
Chuẩn bị:
01 Kết cấu Robot có bánh xe (các bạn có thể mua sẵn)
01 Raspberry Pi 
01 PiCam, camera dùng cho PI
01 Mini Servo điều khiển cảm biến vật cản
01  Servo phụ trợ camera
01 module WiFi
01 Cảm biến siêu âm
01 Arduino Nano
01 Battery Pack (pin và giá pin 5V, 3000mA)
01Module điều khiển động cơ
01 Board mở dộng cho Nano, co thể mua sẵn
01 Bộ mạch nguồn 5V
01 Bộ chuyển nguồn từ USB
01 bộ chuyển điện áp 3.3vol 
04 tụ 1uF dùng lọc cho động cơ...
Hình ảnh minh họa:

 

cameraRobot Schematics

cameraRobot Schematics
 
Tilt & Pan with Servos detail
Tilt & Pan with Servos detail

 

Raspberry Pi / Arduino and Level Converter
Raspberry Pi / Arduino and Level Converter
Sensor and Servos connections
Sensor and Servos connections
Battery and USB Output Converter Module
Battery and USB Output Converter Module
Motors and voltage regulator
Motors and voltage regulator
Transversal detail overview
Transversal detail overview
 
 

 

Mã nguồn tham khảo:
  #include <ecat.h>
  #include <Servo.h>
   
  Servo servoP1B2; Servo servoP1B3;
   
  #define MAX_GRAUS 170
  #define MIN_GRAUS 20
   
  String szMissatge;
  Ecat ecat;
  int valorServoV;
  int valorServoH;
   
  void setup(){
  ecat.setupNibbleMode(NIBBLE_H_P1,OUTPUT);
  ecat.vUltrasonicSensorP1b0b1_init();
   
  valorServoV=90;
  valorServoH=90;
  pinMode(ecat.nPinP1B2,OUTPUT);
  pinMode(ecat.nPinP1B3,OUTPUT);
  servoP1B2.attach(ecat.nPinP1B2);
  servoP1B3.attach(ecat.nPinP1B3);
  servoP1B2.write(valorServoV);
  servoP1B3.write(valorServoH);
  pinMode(ecat.nPinP2B7,OUTPUT);
  pinMode(ecat.nPinP2B6,INPUT);
  pinMode(ecat.nPinP2B5,INPUT);
  pinMode(ecat.nPinP2B4,INPUT);
  ecat.setupNibbleMode(NIBBLE_L_P2,INPUT);
  Serial.begin(115200);
  }
   
  void vRobotAturat(){
  ecat.vWriteHighNibbleP1(0x00);
  }
   
  void vRobotEndarrera(){
  ecat.vWriteHighNibbleP1(B00000110);
  }
   
  void vRobotEndavant(){
  ecat.vWriteHighNibbleP1(B00001001);
  }
   
  void vRobotEsquerra(){
  ecat.vWriteHighNibbleP1(B00000101);
  }
   
  void vRobotDreta(){
  ecat.vWriteHighNibbleP1(B00001010);
  }
   
   
   
  void vManageMsg(){
   
  if(szMissatge == "b"){
  vRobotEndarrera();
  }
  if(szMissatge == "f"){
  if (ecat.nUsDistanceCmP1b0b1()>7) {
  vRobotEndavant();
  }
  }
  if(szMissatge == "s"){
  vRobotAturat();
  }
  if(szMissatge == "l"){
  vRobotEsquerra();
  }
  if(szMissatge == "r"){
  vRobotDreta();
  }
  if(szMissatge == "w"){
  if (valorServoH<MAX_GRAUS) {
  valorServoH++;
  }
  }
  if(szMissatge == "x"){
  if (valorServoH>MIN_GRAUS) {
  valorServoH--;
  }
  }
  if(szMissatge == "a"){
  if (valorServoV>MIN_GRAUS) {
  valorServoV--;
  }
  }
  if(szMissatge == "d"){
  if (valorServoV<MAX_GRAUS) {
  valorServoV++;
  }
  }
  }
   
  void loop(){
   
  while(Serial.available()){
  delay(3);
  char c = Serial.read();
  szMissatge += c;
  }
  vManageMsg();
  szMissatge = "";
  if (ecat.nUsDistanceCmP1b0b1()<7) {
  vRobotAturat();
  }
  servoP1B2.write(valorServoV);
  servoP1B3.write(valorServoH);
  }
view rawcamerarobot.ino hosted with ❤ by GitHub

 

 

Các bạn có thể nâng cấp thành tự động đi theo lịch trình sẵn hoặc phát hiện đột nhập. Phiên bản này dựa trên mã nguồn mở có tài liệu đi kèm.

Mã nguồn: file download.

Đánh giá bài viết
Tổng số điểm của bài viết là: 0 trong 0 đánh giá
Click để đánh giá bài viết
 

Đào tạo, hướng dẫn học làm Robot

Đặt vấn đề: Công nghệ robot – môn học giúp làm giàu trí óc trẻ    Ngày nay, ở Mỹ và các nước đang phát triển, tương lai của ngành công nghệ chế tạo robot ngày càng hứa hẹn những chuyển biến vượt bậc. Đồng thời, ghi nhận sức mạnh trí tuệ của lớp trẻ ngày nay, các nước không ngừng cải...

Thăm dò ý kiến

Bạn có muốn sở hữu một Robot trong nhà không?

Cần một Robot để dọn dẹp

Cần một Robot trông nhà

Cần một Robot để giải trí

Bạn cần một Robot theo cách khác

Bạn đã có rồi

Bạn không cần

Liên kết