娇小w搡bbbb搡bbb,《第一次の人妻》,中国成熟妇女毛茸茸,边啃奶头边躁狠狠躁视频免费观看

歷史上的今天

今天是:2024年12月27日(星期五)

正在發生

2021年12月27日 | 使用MSP430 Launchpad和GPS模塊的車輛跟蹤和事故警報系統

發布者:不懂之人 來源: eefocus關鍵字:MSP430  Launchpad  GPS模塊  車輛跟蹤 手機看文章 掃描二維碼
隨時隨地手機看文章

在之前的教程中,我們已經了解了如何將GPS模塊與計算機連接以及如何使用GSM和GPS跟蹤車輛。我們還使用Arduino和加速度計制作了車輛事故警報系統。在本篇文章中,我們再次制作相同的項目,但這次將使用MSP430 Launchpad開發板和振動傳感器來檢測車輛事故。因此,該項目還將介紹振動傳感器與MSP430的連接。


振動傳感器模塊檢測車輛的振動并向MSP430 Launchpad發送信號。然后MSP430從GPS模塊獲取數據,使用GSM模塊通過SMS將其發送到用戶移動電話。同時LED也會發出事故警報信號,這個LED可以使用其他一些警報設備取代。事故地點以谷歌地圖鏈接的形式發送,源自GPS模塊的緯度和經度。



需要的組件

●    MSP430 Launchpad開發板

●    GSM模塊

●    GPS模塊

●    振動傳感器模塊

●    1602液晶顯示屏

●    電源

●    連接導線

●    10K電位器

●    面包板


在開始制作之前,我們將先討論GPS、GSM和振動傳感器。


GPS模塊及其工作原理

GPS(Global Positioning System),中文全稱全球定位系統,用于檢測地球上任何位置的緯度和經度,具有精確的UTC時間(協調世界時)。 GPS模塊用于跟蹤項目中事故的位置。該設備每時每秒接收衛星的坐標,包括時間和日期。我們之前在車輛跟蹤系統中提取了$ GPGGA字符串,以查找緯度和經度坐標。



GPS模塊實時發送與跟蹤位置相關的數據,并以NMEA格式發送大量數據(參見下面的屏幕截圖)。 NMEA格式包含幾個句子,我們只需要一個句子。這句話從$ GPGGA開始,包含坐標、時間和其他有用信息。該GPGGA被稱為全球定位系統修復數據。


我們可以通過計算字符串中的逗號來從$ GPGGA字符串中提取坐標。假設您找到$ GPGGA字符串并將其存儲在數組中,則可以在兩個逗號后找到Latitude,并且可以在四個逗號后找到Longitude。現在,這個緯度和經度可以放在其他數組中。


下面是$ GPGGA字符串及其描述:

  1. $GPGGA,104534.000,7791.0381,N,06727.4434,E,1,08,0.9,510.4,M,43.9,M,,*47

  2. $GPGGA,HHMMSS.SSS,latitude,N,longitude,E,FQ,NOS,HDP,altitude,M,height,M,,checksum data

復制代碼

識別符描述
$ GPGGA全球定位系統修復數據
hhmmss.sss以小時為單位的時間和毫秒格式。
Latitude緯度(坐標)
N方向N =北,S =南
Longitude經度(坐標)
?方向E =東,W =西
FQ修復質量數據
NOS正在使用的衛星數量
HDP水平稀釋精度
Altitude海拔高度(海拔以上米)
M
Height高度
Checksum校驗和數據


GSM模塊

SIM900是一個完整的四頻GSM / GPRS模塊,可以輕松嵌入客戶或業余愛好者使用。 SIM900 GSM模塊提供行業標準接口。 SIM900為語音、短信、數據提供GSM / GPRS 850/900/1800 / 1900MHz性能,功耗極低。它很容易在市場上買到。

?    SIM900采用集成AMR926EJ-S內核的單芯片處理器設計

?    小型GSM / GPRS四頻模塊。

?    GPRS已啟用



AT命令

AT表示ATTENTION。該命令用于控制GSM模塊。為了測試GSM模塊,我們使用AT命令。收到AT命令后,GSM模塊響應OK。這意味著GSM模塊工作正常。下面是我們在這個項目中使用的一些AT命令:

●    ATE0用于回聲

●    AT + CNMI = 2,2,0,0,0 自動打開信息接收。 (無需打開消息)

●    ATD <手機號碼>; 撥打電話(ATD + 919610126059; r n)

●    ●    AT + CMGF = 1 選擇文本模式

●    AT + CMGS =“手機號碼”分配收件人的手機號碼

     >>現在我們可以寫下我們的信息

     >>寫完信息后

●    Ctrl + Z發送消息命令(十進制26)。

●    HEX中的ENTER = 0x0d


振動傳感器模塊

在這個MSP430事故警報系統項目中,我們使用了一個振動傳感器模塊來檢測振動或突然調制。振動傳感器模塊根據模塊提供數字輸出HIGH / LOW邏輯。在我們的例子中,我們使用了一個有源HIGH邏輯振動傳感器模塊。這意味著每當振動傳感器檢測到振動時,它將為微控制器提供高邏輯。



電路說明

該車輛事故警報系統項目的電路連接非常簡單。這里GPS模塊的Tx引腳直接連接到MSP430 Launchpad(硬件串口)的數字引腳號P1_1,5v用于為GPS模塊供電。通過在此使用軟件串行庫,我們允許在引腳P_6和P1_7上進行串行通信,并分別使它們成為Rx和Tx并連接到GSM模塊。 12伏電源用于為GSM模塊供電。振動傳感器連接在P1_3。 LED也用于指示事故檢測。其余連接顯示在電路圖中。





編程說明

除GPS部分外,該項目的編程很簡單。完成代碼在本文結尾處給出。要在MSP430中編寫或編譯代碼,我們使用了與Arduino兼容的Energia IDE。大多數Arduino IDE功能都可以直接在這個Energia IDE中使用。


首先,我們包含了一個必需的庫,以及聲明一些引腳和變量。

  1. #include

  2. SoftwareSerial GSM(P1_6, P1_7); // RX, TX


  3. float latitude=0;

  4. float logitude=0;                     


  5. #define led P1_0

  6. const int vibrationSensor=PUSH2;

  7. int i=0;


以下函數用于讀取振動傳感器信號。 該函數也可以過濾小的或錯誤的振動。

  1. #define count_max 25

  2. char SensorRead(int pin)   // read sw with debounce

  3. {

  4.    char count_low=0,count_high = 0;

  5.    do

  6.   {

  7.     delay(1);

  8.     if (digitalRead(pin) == HIGH)

  9.     {

  10.      count_high++;

  11.      count_low = 0;

  12.     }


  13.     else

  14.     {

  15.        count_high = 0;

  16.        count_low++;

  17.     }

  18.   }while(count_low< count_max && count_high < count_max);


  19.   if (count_low >= count_max)

  20.   return LOW;

  21.   else

  22.   return HIGH;

  23. }


下面的函數檢測振動并調用gpsEvent()函數獲取GPS坐標,最后調用Send()函數發送短信。

  1. void loop()

  2. {

  3.     if(SensorRead(vibrationSensor) == HIGH)

  4.     {

  5.         digitalWrite(led, HIGH);

  6.         gpsEvent();

  7.         Send();

  8.         digitalWrite(led, LOW);

  9.         delay(2000);

  10.     }

  11. }


以下函數負責從GPS模塊獲取GPS字符串,從中提取坐標并以十進制格式轉換它們。

  1. void gpsEvent()

  2. {

  3.   char gpsString[55];

  4.   char test[]="RMC";

  5.   i=0;

  6.   while(1)

  7.   {

  8.    while (Serial.available())            //Serial incomming data from GPS

  9.    {

  10.     char inChar = (char)Serial.read();

  11.      gpsString[i]=inChar;                    //store incomming data from GPS to temparary string str[]

  12.      i++;

  13.      if (i < 4)                     

  14.      {

  15.       if(gpsString[i-1] != test[i-1])         //check for right string

  16.         i=0;

  17.      }


最后,Send()函數用于將SMS發送到此部分代碼中插入的用戶號碼。

  1. void Send()

  2. {

  3.    GSM.print("AT+CMGS=");

  4.    GSM.print('"');

  5.    GSM.print("961****059"); // enter your Mobile number

  6.    GSM.println('"');

  7.    delay(500);

  8.   // GSM.print("Latitude:");

  9.   // GSM.println(latitude);

  10.    GSM.println("Accident Happned");

  11.    delay(500);

  12.   // GSM.print(" longitude:");

  13.   // GSM.println(logitude);

  14.    GSM.println("Click On link to see Location");

  15.    GSM.print("http://maps.google.com/maps?&z=15&mrt=yp&t=k&q=");

  16.    GSM.print(latitude,6);

  17.    GSM.print("+");            

  18.    GSM.print(logitude,6);

  19.    GSM.write(26);

  20.    delay(4000);  

  21. }


關鍵字:MSP430  Launchpad  GPS模塊  車輛跟蹤 引用地址:使用MSP430 Launchpad和GPS模塊的車輛跟蹤和事故警報系統

上一篇:使用MSP430G2 LaunchPad開發板連接步進電機的方法
下一篇:使用MSP430 LaunchPad開發板制作一個激光絆線報警器

推薦閱讀

目前混動汽車(HEV)和純電動汽車(EV)的設計非常引人注目,但是汽車行業也有一個不太明顯但是意義重大的發展趨勢:在動力系統中增加48V直流(DC)總線。48V不僅適用于混動汽車和純電動汽車,更多普通的內燃汽車也將采用這種技術,從圖1可以看出純電動汽車和混動汽車的市場份額不斷增長。 圖1:電動汽車市場(包括純電動汽車和混動汽車)預計在未來幾年...
今(26)日,外媒 GIZ 曝光了華為 P40 Pro 的背面渲染圖。從渲染圖看,P40 Pro將采用后置五顆攝像頭,在機身左上角呈左四右一的雙豎排矩陣式設計,右側空白處有鏡頭規格,閃光燈模組位于下方。日前根據郭明錤的預測,華為P40 Pro將采用新設計潛望式長焦鏡頭,支持10倍光學變焦。另外應該還有一顆TOF鏡頭,其他三顆的規格則暫不清楚。綜合目前的消息...
根據數碼博主 @數碼閑聊站 的消息,小米 11 的包裝盒和 iPhone 12 的一樣薄,之后該博主在評論中表示盒中確無充電器。該博主表示,“包裝盒里”沒有充電器了,小米會有更好的解決方案。預計小米可能會采用手機和充電器分裝的設計,給需要充電器的用戶和不需要充電器的用戶不同的選擇。這樣做既可以達到環保的目的,又不會像蘋果那樣被部分用戶詬病...
功能:單片機智能控制水塔系統,實時檢測水塔水位,并能實時顯示,自動控制繼電器和電機使水位保持在黑水瓶仿真圖如下所示程序參考C語言源代碼如下:#include<reg51.h>//定義一個數組,使數碼管顯示的數字和數組元素的下標相等unsigned char code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};sbit shuiman=P1^0;//水滿sbit sw5=P1^1...

史海拾趣

問答坊 | AI 解惑

關于ad9833的問題

    問ad9833能產生方波嗎?看了它的控制寄存器功能表,好像不能直接產生方波啊,而且框圖里面也沒有比較器嘛,但看關于它的主要特點,都說可以直接產生正弦、三角、方波三種波形    懇請賜教…

查看全部問答∨

單片機最小系統

實驗五、模數轉換 一、實驗目的 1、掌握A/D轉換與單片機的接口方法; 2、掌握A/D芯片TLC549的編程方法; 3、掌握數據采集程序的設計方法; 二、實驗內容 利用實驗開發裝置上的TLC549做A/D轉換器,對電位器提供的模擬電壓信號進行定時中斷 ...…

查看全部問答∨

分享入門資料

將linux嵌入ARM的典型步驟以及相關應用工具…

查看全部問答∨

tlc555頻率測量,理論實際不符怎么回事?

tlc555頻率測量時,如果選取C=180PF,要求輸出為20KHZ左右,匹配R1,R2時該注意什么,為什么我選取R1=18K,R2=110K,按照如下公式計算: 上升時間 (T1) = 0.693 * (R1+R2) * C 下降時間(T2) = 0.693 * R2 * C 頻率 = 1.44 / ( (R1+R2+R2) * C) ...…

查看全部問答∨

求購 S3C4510B 的開發板(只要能用就行)

求購 S3C4510B 的開發板,最好微芯力的 最近找了份4510b的資料,看著不錯可惜沒有板子練。真是郁悶啊!不知道哪為高手還有收藏! 有的話留個言! 電話:13141280460 qq:406672875…

查看全部問答∨

ActiveSync連接 造成電腦死機 問題

我調試wince的時候使用ActiveSync進行連接 有時候調試到一般,連接突然中斷,但是電腦右下腳的小圖標仍然是綠色,這個時候我一拔出USB電纜,電腦就會死機 這個問題困擾了我很久 希望有人能幫我解決,謝謝!…

查看全部問答∨

H3C高端路由器產品招聘軟件開發人員

H3C公司2003年11月成立,最初由華為和3COM合資組建,2006年11月由3COM公司全資收購。 目前公司正在全力投入高端路由器產品的開發,急需大量軟件開發、測試人員。 地點:杭州 職責: 1、負責H3C高端路由器產品軟件開發工作,完成相關的設計文檔、 ...…

查看全部問答∨

eZ430-RF2500開發板申請

將認真填寫測試報告…

查看全部問答∨

香兄請指點一下:TIM1不能翻轉管腳。

原固件庫中的例子FWLibexamplesTIMOCToggle使用TIM2,無問題。將其中的TIM2改為TIM1,并修改了相應的設置(如下),發現可進中斷,但各輸出管腳(pin8、9、10、11)一直為低電平,不能翻轉,不知何故?請指教。改為tim1后的main.c/*********** ...…

查看全部問答∨

顯示負載電流大小顯示燈電路圖

顯示負載電流大小顯示燈電路圖     圖中LED的發光強度與負載電流成正比,該電路的設計目的是提供一個非常緊湊的電路來替代某些天文學設備中12V電源線上的電表。這種設備包含工作狀況不可視的小功率加熱元件(防露元件)。不過,當加熱器接 ...…

查看全部問答∨
小廣播
設計資源 培訓 開發板 精華推薦

最新單片機文章
何立民專欄 單片機及嵌入式寶典

北京航空航天大學教授,20余年來致力于單片機與嵌入式系統推廣工作。

 
EEWorld訂閱號

 
EEWorld服務號

 
汽車開發圈

 
機器人開發圈

電子工程世界版權所有 京ICP證060456號 京ICP備10001474號-1 電信業務審批[2006]字第258號函 京公網安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 泗阳县| 长岭县| 合川市| 武功县| 遂平县| 汝州市| 邢台市| 屯门区| 民县| 方城县| 镇坪县| 武城县| 合江县| 泸水县| 涞水县| 库尔勒市| 宜州市| 府谷县| 巴林右旗| 安乡县| 汉川市| 天全县| 蒲城县| 浦江县| 尉犁县| 泰顺县| 即墨市| 蕲春县| 仙游县| 沂源县| 额济纳旗| 柘荣县| 绩溪县| 禹州市| 辉县市| 铜山县| 增城市| 衡南县| 惠安县| 山东| 丰宁|