lnwshop logo
  • ตอบกระทู้
  • ตั้งกระทู้ใหม่
QUOTE 

อุปกรณ์รหัส A564 โมดูลอัลตราโซนิก US-015 ใช้วัดระยะทาง (ขา Echo - 12 )

sawoey 7 เดือนที่ผ่านมา

ผมสั่งสินค้ารหัส A564 มาทำการทดสอบดู 1 โมดูลย์ใช้งานได้ปกติดีระยะหวงผล 100% ที่ระยะทาง 2.50 เมตร เกินนั้นก็ % ลดลงตามอัตราส่วนระยะทาง คำถาม..

ขา Echo - 12    เป็นขาชนิด I2C หรือไม่ครับ.. !!! ถ้าผมต้องการต่อ โมดูลย์  รหัส A564 โมดูลอัลตราโซนิก US-015 ประมาณ 20 โมดูลย์ จะทำงานได้ไหม ขอบคุณ

QUOTE 
ความคิดเห็นที่ #1
เจ้าของร้าน
เจ้าของร้าน
7 เดือนที่ผ่านมา

Ultrasonic ไม่ได้เป็น I2C ครับ เป็นแบบดิจิตอล

ถ้าต่อ 20 ตัวตามหลักการทำงานได้ครับ

QUOTE 
ความคิดเห็นที่ #2
sawoey 7 เดือนที่ผ่านมา

ถ้าไม่เป็น I2C  แล้วจะต่ออย่างไรยังนึกไม่ออก แบบ Digital มันจองขาแต่ละโมดูลย์ ดังนี้

1 โมดูลย์ใช้ขา 12  13

  • Vcc - 5v
  • Gnd - Gnd
  • Trig - 13    ==>เปลี่ยนไปต่อขาอื่นได้ไหม
  • Echo - 12   ==>เปลี่ยนไปต่อขาอื่นได้ไหม
  • แล้วถ้า 20 โมดูลย์ จะต่อขาอย่างไร...
QUOTE 
ความคิดเห็นที่ #3
เจ้าของร้าน
เจ้าของร้าน
7 เดือนที่ผ่านมา

ขา arduino ทุกขา สามารถใช้งานเป็นขา digital ได้ครับ

ใช้ขาไหนก็ได้ ไม่ต้องเป็นขา 12 , 13

ถ้ามี 20 โมดูลก็ใช้ 40 ขาในการต่อใช้ arduino mega ยังมีขาเหลือ !!!

http://www.theengineeringprojects.com/2015/02/interfacing-multiple-ultrasonic-sensor-arduino.html

 

QUOTE 
ความคิดเห็นที่ #4
sawoey 7 เดือนที่ผ่านมา

ผมมีแนวคิด ยุบขาแต่ละโมดุลให้เหลือ 1 ขา Uno  จะสามารถใช้ได้ทั้งหมด  16 โมดูล ลองเขียนโคดแล้วมัน run ได้แล้ว เหลือแต่สั่งอุปกร์ Ultrasonic มาลองต่อเพิ่มก็น่าจะ Work แล้วครับ

QUOTE 
ความคิดเห็นที่ #5
เจ้าของร้าน
เจ้าของร้าน
7 เดือนที่ผ่านมา

ได้แล้วมาแชร์ด้วยนะครับ

QUOTE 
ความคิดเห็นที่ #6
sawoey 7 เดือนที่ผ่านมา

ท่านเจ้าของร้าน ท่านมี Ultrasonic สัก  3 ตัวไหม ช่วยลองให้ผมหน่อย ผมไม่มีเวลาไปสั่งอุปกร์ช่วงนี้ รายละเอียดตามรูป  หรือท่านไดมี Ultrasonic ในมีอตอนนี้มากพอ ก็ทดสอบให้ด้วยครับ ผมมีอยู่ตัวเดียวตอนนี้ เอาตัวที่มี Lib มา

ให้ จะได้เขียน code สั้นหน่อย  ถ้า โปรแกรม OK เราสามารถใช้ใน UNO จะได้   16 โมดูล

 

 

#include <Ultrasonic.h>

int Trig6 = 6;//Ultrasonic ตัวที่ 1

int Trig7 = 7;//Ultrasonic ตัวที่ 2

int Trig8 = 8;//Ultrasonic ตัวที่ 3

int Trig13 = 13; //CLK

 

Ultrasonic ultrasonic6(13,6,10000); // (Trig PIN,Echo PIN)

Ultrasonic ultrasonic7(13,7,10000); // (Trig PIN,Echo PIN)

Ultrasonic ultrasonic8(13,8,10000); // (Trig PIN,Echo PIN)

 

void setup() {

  Serial.begin(9600); 

  pinMode(Trig6,INPUT);

  pinMode(Trig7,INPUT);

  pinMode(Trig8,INPUT);

  pinMode(Trig13,OUTPUT);

}

 

void loop()

{

  Serial.print(" Pin : 6     " );

  Serial.print(ultrasonic6.Ranging(CM));

  Serial.println(" cm     " );

  delay(30);

  

  Serial.print(" Pin : 7     " );

  Serial.print(ultrasonic7.Ranging(CM));

  Serial.println(" cm     " ); 

  delay(30);

  

  Serial.print(" Pin : 8     " );

  Serial.print(ultrasonic8.Ranging(CM));

  Serial.println(" cm     " ); 

  delay(30);

}

 

 //***************************   Lib   **********************

// Ultrasonic.cpp

 // Ultrasonic - Library for HR-SC04 Ultrasonic Ranging Module.

// GitHub: https://github.com/JRodrigoTech/Ultrasonic-HC-SR04

// #### LICENSE ####

// This code is licensed under Creative Commons Share alike 

// and Attribution by J.Rodrigo ( http://www.jrodrigo.net ).

 

#if ARDUINO >= 100

  #include "Arduino.h"

#else

  #include "WProgram.h"

#endif

 

#include "Ultrasonic.h"

 

Ultrasonic::Ultrasonic(int TP, int EP)

{

   pinMode(TP,OUTPUT);

   pinMode(EP,INPUT);

   Trig_pin=TP;

   Echo_pin=EP;

   Time_out=3000;  // 3000 ยตs = 50cm // 30000 ยตs = 5 m 

}

 

Ultrasonic::Ultrasonic(int TP, int EP, long TO)

{

   pinMode(TP,OUTPUT);

   pinMode(EP,INPUT);

   Trig_pin=TP;

   Echo_pin=EP;

   Time_out=TO;

}

 

long Ultrasonic::Timing()

{

  digitalWrite(Trig_pin, LOW);

  delayMicroseconds(2);

  digitalWrite(Trig_pin, HIGH);

  delayMicroseconds(10);

  digitalWrite(Trig_pin, LOW);

  duration = pulseIn(Echo_pin,HIGH,Time_out);

  if ( duration == 0 ) {

duration = Time_out; }

  return duration;

}

 

long Ultrasonic::Ranging(int sys)

{

  Timing();

  if (sys) {

distance_cm = duration /29 / 2 ;

return distance_cm;

  } else {

distance_inc = duration / 74 / 2;

return distance_inc; }

}

/////////////////////////////////

//******************************************  Ultrasonic.h *****************

// Ultrasonic - Library for HR-SC04 Ultrasonic Ranging Module.

// GitHub: https://github.com/JRodrigoTech/Ultrasonic-HC-SR04

// #### LICENSE ####

// This code is licensed under Creative Commons Share alike 

// and Attribution by J.Rodrigo ( http://www.jrodrigo.net ).

 

#ifndef Ultrasonic_h

#define Ultrasonic_h

 

#if ARDUINO >= 100

  #include "Arduino.h"

#else

  #include "WProgram.h"

#endif

 

#define CM 1

#define INC 0

 

class Ultrasonic

{

  public:

    Ultrasonic(int TP, int EP);

Ultrasonic(int TP, int EP, long TO);

    long Timing();

    long Ranging(int sys);

 

  private:

    int Trig_pin;

    int Echo_pin;

long Time_out;

    long duration,distance_cm,distance_inc;

};

 

#endif

ได้ผลอย่างไรแจ้งด้วยครับ sawoey.p@gmail.com

QUOTE 
ความคิดเห็นที่ #7
sawoey 7 เดือนที่ผ่านมา

ขอแก้ไข ตัวแปรใหม่ครับจะได้ไม่ งงง  ขาของ Ultrasonic 

 

 

#include <Ultrasonic.h>

int ECH6 = 6;//Ultrasonic ตัวที่ 1

int ECH7 = 7;//Ultrasonic ตัวที่ 2

int ECH8 = 8;//Ultrasonic ตัวที่ 3

int Trig13 = 13; //CLK

 

Ultrasonic ultrasonic6(13,6,10000); // (Trig PIN,Echo PIN)

Ultrasonic ultrasonic7(13,7,10000); // (Trig PIN,Echo PIN)

Ultrasonic ultrasonic8(13,8,10000); // (Trig PIN,Echo PIN)

 

void setup() {

  Serial.begin(9600); 

  pinMode(ECH6,INPUT);

  pinMode(ECH7,INPUT);

  pinMode(ECH8,INPUT);

  pinMode(Trig13,OUTPUT);

}

 

void loop()

{

  Serial.print(" Pin : 6     " );

  Serial.print(ultrasonic6.Ranging(CM));

  Serial.println(" cm     " );

  delay(30);

  

  Serial.print(" Pin : 7     " );

  Serial.print(ultrasonic7.Ranging(CM));

  Serial.println(" cm     " ); 

  delay(30);

  

  Serial.print(" Pin : 8     " );

  Serial.print(ultrasonic8.Ranging(CM));

  Serial.println(" cm     " ); 

  delay(30);

 

}

 

QUOTE 
ความคิดเห็นที่ #8
เจ้าของร้าน
เจ้าของร้าน
7 เดือนที่ผ่านมา

ต้องทดลองครับ

QUOTE 
ความคิดเห็นที่ #9
sawoey 7 เดือนที่ผ่านมา

QUOTE 
ความคิดเห็นที่ #10
เจ้าของร้าน
เจ้าของร้าน
7 เดือนที่ผ่านมา

เยี่ยมเลยครับ เหลือผลต่อแบบยุบสายนะครับ Laughing

1
แสดงความคิดเห็นที่ 1-10 จากทั้งหมด 10 ความคิดเห็น
ชื่อ
อีเมล
ข้อความ
  • ตอบกระทู้

หมวดหมู่สินค้า

สมาชิก Arduino All

เข้าสู่ระบบด้วย
เข้าสู่ระบบ
สมัครสมาชิก

ยังไม่มีบัญชีเทพ สร้างบัญชีใหม่ ไม่เกิน 5 นาที
สมัครสมาชิก (ฟรี)

Arduino All ขายดี

รหัสสินค้า A015
300.00 บาท
  • สั่งซื้อ
รหัสสินค้า A233
5.00 บาท
  • สั่งซื้อ
รหัสสินค้า A115
10.00 บาท
  • สั่งซื้อ
รหัสสินค้า A238
4.00 บาท
  • สั่งซื้อ
รหัสสินค้า A237
4.00 บาท
  • สั่งซื้อ
รหัสสินค้า A014
90.00 บาท
  • สั่งซื้อ
รหัสสินค้า A225
5.00 บาท
  • สั่งซื้อ
รหัสสินค้า A474
7.00 บาท
  • สั่งซื้อ
รหัสสินค้า A097
4.00 บาท
  • สั่งซื้อ
Go to Top