עזרה בשחזור פרויקט - Ultrasonic Sensor+Bluetooth - אלקטרוניקה ומודינג - HWzone פורומים
עבור לתוכן
  • צור חשבון

עזרה בשחזור פרויקט - Ultrasonic Sensor+Bluetooth


sharoni474

Recommended Posts

שלום לכולם!

בתור סטודנט מתחיל עם הרבה מוטיבציה לעבודה על פרויקט, חשבתי על רעיון המצריך מדידת מרחק לאורך מקסימילי הכרחי של עד 2 מטרים, מומלץ אפילו לכ-4 מטרים והעברת זרם המידע לפלאפון באמצעות .

אני מאוד אעריך אם מישהו יצליח לזהות את הרכיבים שנמצאים בסרטון המצורף, אם כי אני לא קושר את עצמי בדיוק לאותם הרכיבים בסרטון.

אשמח אם תצליחו לכוון אותי לרכישה נכונה של רכיבים ואולי אפילו להרכבתם.

תודה מראש!

תומר שרוני

מצ"ב הסרטון:

קישור לתוכן
שתף באתרים אחרים

:jafafa:

אכן חיישן מרחק אלטראסוני http://www.instructables.com/id/Simple-Arduino-and-HC-SR04-Example/?ALLSTEPS

ואכן המודולים של הבלוטוס' - http://www.instructables.com/id/Cheap-2-Way-Bluetooth-Connection-Between-Arduino-a/

עם איזה מכשיר תרצה לתקשר בבלוטוס' ? ?

קישור לתוכן
שתף באתרים אחרים

כן. אני רוצה לקבל מידע דרך הבלוטוס אל האנדרואיד. כרגע, אני לא רואה סיבה לשלוח נתונים אליו.

אחרי חיפוש אינטנסיבי מצאתי את הרכיבים הבאים:

http://www.ebay.com/itm/Wireless-Serial-4-Pin-Bluetooth-RF-Transceiver-Module-HC-06-RS232-With-backplane-/200924726178?pt=LH_DefaultDomain_0&hash=item2ec80c03a2

http://www.ebay.com/itm/UNO-R3-Development-Board-MEGA328P-ATMEGA16U2-For-Arduino-Compatible-USB-Cable-/201090526898?pt=LH_DefaultDomain_0&hash=item2ed1edeeb2

http://www.banggood.com/MB102-830-Tie-Points-Solderless-PCB-Breadboard-+-65-Pcs-Jumper-Cables-p-920099.html

http://www.dx.com/p/hc-sr04-ultrasonic-sensor-distance-measuring-module-133696#.U70xHvnK58E

האם הם יספיקו לצורך הרכבת המודל?

*בזמן האחרון חשבתי להוסיף חיישן זווית מדויק(דיוק של פחות ממעלה). הבנתי ש ADXL345 עונה על הדרישות האלה. האם אפשר לחבר אותו ללוח ביחד עם כל הרכיבים שציינתי? ואם כן, אפשר לפרסם לינק מתאים?

קישור לתוכן
שתף באתרים אחרים

הרכיבים האלו סבבה ויספיקו להרכבה.

רק שים לב שבגלל שהארואינו עובד עם 5V ורכיב הבלוטוס עובד עם 3.3V אתה צריך או 2 נגדים כמו שיש במדריך ששמתי למעלה

או להוסיף Logic Level converter שימיר את התקשורת הסריאלית מ5V ל 3.3V בשביל לא לשרוף את רכיב הבלוטוס

אפשר גם להוסיף את החיישן זווית בלי בעיה

רק מנסיוני .. אמליץ בחום רב מאוד בתור אחד שמזמין המון דברים מהאינטרנט ואלקטרוניקה מהסוג הזה בעיקר

תזמין את הרכיבים מאותה החנות .. גם אם יצא לך קצת יותר במחיר

מה שיקרה זה שתקבל חבילה עם כל הרכיבים שלך ותתחיל לעבוד ולא תחכה לכל רכיב אינדיוידואלי שיגיע אחד היום אחד בעוד שבוע

לבחירתך ..

קישורים לרכיבים שלך מאותה החנות: (לא בא לפרסם אפאחד ושום דבר - אפשר למצוא ביותר זול | היה לי ניסיון טוב עם החנות הזאת)

ארדואינו - http://www.ebay.com/itm/1PCS-NEW-ATMEGA328P-PU-ATMEGA8U2-NUO-R3-BOARD-ARDUINO-USB-Cable-M10-/291121892416?pt=LH_DefaultDomain_0&hash=item43c8378c40

רכיב הבלוטוס - http://www.ebay.com/itm/1pcs-Slave-HC-06-Wireless-Bluetooth-Transeiver-RF-Module-Serial-4p-Port-line-M8-/301128543344?pt=LH_DefaultDomain_0&hash=item461ca8ec70

חיישן מרחק - http://www.ebay.com/itm/1PCS-HC-SR04-Arduino-Ultrasonic-Module-Distance-Measuring-Transducer-Sensor-New-/121333339490?pt=LH_DefaultDomain_0&hash=item1c4007d562

לוח אבטיפוס - http://www.ebay.com/itm/1pcs-MB102-Breadboard-830-Point-Solderless-PCB-Bread-Board-Test-Develop-DIY-/121142945487?pt=LH_DefaultDomain_0&hash=item1c34aea6cf

כבלים - http://www.ebay.com/itm/Male-Male-Solderless-Flexible-Breadboard-Jumper-Cable-Wires-65Pcs-Arduino-/300896502931?pt=LH_DefaultDomain_0&hash=item460ed44493

חיישן הזווית - http://www.ebay.com/itm/1PCS-ADXL345-3-Axis-Digital-Acceleration-Gravity-Tilt-Module-Arduino-M-/121215783965?pt=LH_DefaultDomain_0&hash=item1c3906141d

ממיר לוגי - http://www.ebay.com/itm/1Pcs-IIC-I2C-Logic-Level-Converter-Bi-Directional-Module-5V-3-3V-Arduino-M32-/301225745857?pt=LH_DefaultDomain_0&hash=item4622741dc1

בקשר להצגת הנתונים על האנדרואיד אפשר עם תוכנות של בלוטוס טרמינל קיימות (תקשורת סריאלית)

או בשיטה שהשתמשו בסרטון - http://www.amarino-toolkit.net/index.php/download

כדי שזה יהיה יפה ויחודי נדרש קצת ידע בJAVA ופיתוח ( קוד פתוח אז זה דיי פשוט)

בהצלחה

קישור לתוכן
שתף באתרים אחרים

לארדואינו אונו אכן יש יציאה של 3.3V מיוצב

אבל לא על זה אני מדבר .. הצ'יפ עצמו עובד על 5V וכל פינים שלו עובדים על 5V כלומר הTX ו RX של הסריאלי של הצ'יפ הם גם פולסים של 5V

הTX RX של הבלוטוס עובד על 3.3V כלומר הארדואינו ישלך מהTX שלו לRX של הבלוטוס 5V כשהוא מיועד ל 3.3V בלבד וזה יכול לגרום נזק לרכיב הבלוטוס.

הפוך זה לא משנה כי רכיב הבלוטוס ישלח מהTX פולסים של 3.3V לRX של הארדואינו ושם אין בעיה.

מה שכן לרכיב הבלוטוס - יותר נכון על הלוח שעליו הוא יושב במקור יש 6 רגליים ובעיקר 4 מהם בשימוש

KEY - מכניס את רכיב הבלוטוס למצב AT (שינוי הגדרות כמו שם ההתקן, קוד התחברות, מהירות הפורט הסריאלי ועוד) הכנסה למצב זה היא בעזרת חיבור הפין ל3.3V שוב גם כאן 5V יגרום לנזק

VCC - כניסת מתח (פלוס) לרכיב מיוצב אפשר לחבר בין 3.6V ל 6V - פה כדאי לחבר 5V

GND - מינוס

TX - שידור - יציאה של תקשורת סריאלית לוגית 3.3V

RX - קליטה - כניסה של תקשורת סריאלית לוגית 3.3V - לא 5V(בשביל זה צריך או ממיר לוגי או מחלק מתח עם נגדים)

STATE - מצב - מחובר ללד שעל הלוח - המצבים הם : דלוק אך לא מחובר - מהבהב | דלוק ומחובר - דולק קבוע

קישור לתוכן
שתף באתרים אחרים

  • 4 שבועות מאוחר יותר...

שוב שלום,

לאחר הרכבת החלקים, הצלחתי לקבל מידע מהחיישן המרחק, להפעיל את רכיב הבלוטוס, אבל לא הצלחתי להעביר את זרם המידע דרך הבלוטוס מכיוון שהפעולה ()onRecieve לא נקראת. אני משתמש ב S1 והתקנתי את התוכנות הרלוונטיות לצורך הפעלת ה SensorGraph.

private static final String DEVICE_ADDRESS = "20:14:05:05:24:49"; //HC-06 device number

private GraphView mGraph;

private TextView mValueTV;

private ArduinoReceiver arduinoReceiver = new ArduinoReceiver();

/** Called when the activity is first created. */

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

// get handles to Views defined in our layout file

mGraph = (GraphView)findViewById(R.id.graph);

mValueTV = (TextView) findViewById(R.id.value);

mGraph.setMaxValue(1024);

}

@Override

protected void onStart() {

super.onStart();

// in order to receive broadcasted intents we need to register our receiver

registerReceiver(arduinoReceiver, new IntentFilter(AmarinoIntent.ACTION_RECEIVED));

// this is how you tell Amarino to connect to a specific BT device from within your own code

Amarino.connect(this, DEVICE_ADDRESS);

}

#include <MeetAndroid.h>

#define echoPin 12

#define trigPin 13

/*

Sends sensor data to Android

(needs SensorGraph and Amarino app installed and running on Android)

*/

MeetAndroid meetAndroid;

long duration, distance;

void setup() {

Serial.begin (57600);

pinMode(trigPin, OUTPUT);

pinMode(echoPin, INPUT);

}

void loop() {

meetAndroid.receive();

digitalWrite(trigPin, LOW); // Added this line

delayMicroseconds(2); // Added this line

digitalWrite(trigPin, HIGH);

// delayMicroseconds(1000); - Removed this line

delayMicroseconds(10); // Added this line

digitalWrite(trigPin, LOW);

duration = pulseIn(echoPin, HIGH);

distance = (duration/2) / 29.1;

meetAndroid.send(analogRead(distance));

Serial.print(distance);

Serial.println(" cm");

delay(100);

}

קישור לתוכן
שתף באתרים אחרים

יש מצב לקישור מאיפה הבאת את הדוגמאות .. כי החלק הראשון של הקוד זה לאנדרואיד והחלק השני הוא לארדואינו ..

איפה אתה נמצא ? שניהים מתקמפלים ?

אתה מצליח להתחבר עם האנדרואיד לרכיב הבלוטוס ?

השורה הראשונה של הקוד היא הכתובת של הרכיב הבלוטוס .. שינית אותה בהתאם ?

תבדוק שאתה מחובר כמו שצריך עם רכיב הבלוטוס לארדואינו לאן חיברת TX ו RX ?

אם אתה מחובר בו זמנית ב ולרכיב הבלוטוס בסריאלי אחד מהם לא יעבוד כי הם על אותו הערוץ

תשים BlueTerm+ על הפלאפון, או כל תוכנה דומה ותתחבר ברגע שתפעיל את הארדואינו אתה צריך לראות את אותו זרם הנתונים כמו שאתה רואה בSERIAL MONITOR בארדואינו גם בתוכנה שעל הטלפון

אם אתה מגיע לזה זה כבר טוב .

קישור לתוכן
שתף באתרים אחרים

הדוגמאות מבוססות בעיקר מהקוד ב-SensorGraph. שניהם מתקמפלים, וניתן להתחבר אל רכיב הבלוטוס. כמו כן, שיניתי כתובת הרכיב לרכיב שלי(20:14...)

אופן החיבור:

BT->Logic Lever Converter->Arduino

RXD->LV3->HV3->Tx

TXD->LV4->HV4->Rx

GND->GND

VCC-> 3.3v

כנראה שבאמת מדובר בחיבור בו זמנית ל ולרכיב הבלוטוס.

קישור לתוכן
שתף באתרים אחרים

כדי לשלול טעויות של גן (חח בלי לפגוע ... נפלתי בלא מעט כאלה)

ללוג'יק קונברטר חיברת מתח של 3.3V וGND בנוסף ל TX RX ?

אם יש לך איך לחבר את הארדואינו למתח ללא נסה את זה.

ביינתיים אתה יכול להתקין BlueTerm על האנדרואיד ולבדוק נתונים RAW

אתה יכול להוסיף / לשנות את הקוד של הארדואינו טיפה בשביל הבדיקה :

להשתמש בsoftware serial ולחבר את ה TX RX בארדואינו לפינים דיגיטלים (10 ו 11 במקרה של הדוגמא) כדי לשלול את ההפרעה

#include <SoftwareSerial.h>

SoftwareSerial btSerial(10, 11); // RX, TX

void setup()
{

btSerial.begin(9600);
}

void loop()
{
btSerial.print(distance);
}

קישור לתוכן
שתף באתרים אחרים

פירוט חיבורי הממיר:

צד ימין(5V)

ריק-hv1

ריק-hv2

hv-5v

hv3-rx from bt

hv4-tx to rx

צד שמאל(3.3V)

lv3- rx to arduino tx

lv4-tx to arduino rx

ובכלל:

BT->Logic Lever Converter->Arduino

RXD->LV3->HV3->Tx

TXD->LV4->HV4->Rx

GND->GND

VCC->arduino 3.3v

*ניסיתי באמצעות הפינים הדיגיטליים עם ה-blueTerm, זה לא צלח..

קישור לתוכן
שתף באתרים אחרים

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

×
  • צור חדש...