欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索

【Arduino】108種傳感器系列實驗(133)---GP2Y0A02YK0F紅外測距模塊

查看數: 10371 | 評論數: 37 | 收藏 3
關燈 | 提示:支持鍵盤翻頁<-左 右->
    組圖打開中,請稍候......
發布時間: 2019-10-4 15:26

正文摘要:

37款傳感器與模塊的提法,在網絡上廣泛流傳,其實Arduino能夠兼容的傳感器模塊肯定是不止37種的。鑒于本人手頭積累了一些傳感器和模塊,依照實踐出真知(一定要動手做)的理念,以學習和交流為目的,這里準備逐一動 ...

回復

ID:847574 發表于 2020-12-1 14:15
你好,我想STM32上使用這個傳感器,但是我不知道ADC的電壓轉換成距離的公式。請指教
ID:513258 發表于 2020-11-23 21:59

謝謝鼓勵
ID:838135 發表于 2020-11-18 16:19
非常有用
ID:513258 發表于 2020-10-24 15:46
ssw2020 發表于 2020-6-22 09:46
樓主可以考慮開個小店了,邊做實驗邊把自己的實驗成果分享,有興趣的又可以跟隨著你的實驗筆記進行測試,這 ...

謝謝鼓勵,作為初學者,通過發帖,也是學習的一種辦法
ID:780673 發表于 2020-6-22 09:46
樓主可以考慮開個小店了,邊做實驗邊把自己的實驗成果分享,有興趣的又可以跟隨著你的實驗筆記進行測試,這種思路真的很棒
ID:513258 發表于 2019-12-16 12:57
dcd 發表于 2019-12-3 21:32
這個圖形化編程是那個軟件

是Mind+
ID:554951 發表于 2019-12-3 21:32
這個圖形化編程是那個軟件
ID:513258 發表于 2019-11-25 10:18

謝謝鼓勵
ID:646866 發表于 2019-11-21 22:01
很棒很有創意
ID:513258 發表于 2019-11-20 11:06
電子酷酷 發表于 2019-10-25 11:12
你好 看的你的寫的 很詳細 很好

謝謝鼓勵
ID:301797 發表于 2019-10-25 11:12
你好 看的你的寫的 很詳細 很好
ID:513258 發表于 2019-10-6 19:24
  1. /*
  2.   【Arduino】108種傳感器模塊系列實驗(資料+代碼+圖形+仿真)
  3.   實驗一百三十三:夏普GP2Y0A02YK0F 紅外測距傳感器模塊 20-150cm 距離傳感器
  4.   庫地址:https://github.com/guillaume-rico/SharpIR
  5.   項目:測試距離的方案之四
  6.   Module        UNO
  7.   VCC   ——   5V
  8.   GND  ——   GND
  9.   VO    ——   A0
  10. */

  11. #include <SharpIR.h>

  12. #define ir A0    //模擬輸入引腳
  13. #define model 20150    //傳感器型號
  14. // ir: the pin where your sensor is attached
  15. // model: an int that determines your sensor:  1080 for GP2Y0A21Y
  16. //                                            20150 for GP2Y0A02Y
  17. //                                            100500 for GP2Y0A710K0F
  18. //                                            430   for  GP2YA41SK0F
  19. //                                            (working distance range according to the datasheets)

  20. SharpIR SharpIR(ir, model);

  21. void setup() {
  22.   // put your setup code here, to run once:
  23.   Serial.begin(9600);
  24. }

  25. void loop() {
  26.   delay(500);

  27.   unsigned long pepe1 = millis(); // takes the time before the loop on the library begins

  28.   int dis = SharpIR.distance(); // this returns the distance to the object you're measuring


  29.   Serial.print("Mean distance: ");  // returns it to the serial monitor
  30.   Serial.println(dis);

  31.   unsigned long pepe2 = millis() - pepe1; // the following gives you the time taken to get the measurement
  32.   Serial.print("Time taken (ms): ");
  33.   Serial.println(pepe2);
  34. }
復制代碼


ID:513258 發表于 2019-10-6 18:56
  1. /*
  2.   【Arduino】108種傳感器模塊系列實驗(資料+代碼+圖形+仿真)
  3.   實驗一百三十三:夏普GP2Y0A02YK0F 紅外測距傳感器模塊 20-150cm 距離傳感器
  4.   項目:測試距離的方案之三
  5.   說明;參考V-cm圖, 用查表法, 連接Vout到Arduino的A0引腳, 測量頻率20Hz
  6.   需要進一步校對與調整參數
  7.   Module        UNO
  8.   VCC   ——   5V
  9.   GND  ——   GND
  10.   VO    ——   A0
  11. */

  12. float distance[] = {20, 30, 40, 50, 60, 70, 80, 90, 100,  110,  120,  130,  140,  150};
  13. float voltage[14] = {2.5, 2, 1.55, 1.25, 1.1, 0.85, 0.8, 0.73, 0.7, 0.65, 0.6, 0.5, 0.45, 0.4};

  14. typedef struct {
  15.   float maxDistance;  //cm
  16.   float minDistance;  //cm
  17.   float offset; //cm
  18.   float distance; //cm,
  19.   int frequency;  //Hz
  20.   int pin;
  21. }SHARP;

  22. SHARP Sharp = {150, 20, 0, 0, 20, A0};

  23. void getDistance(SHARP* Sharp) {
  24.   float v = analogRead(Sharp->pin);
  25.   v = v / 1024.0 * 5;
  26.   int index = 0;
  27.   for(index = 0; index < 14; index++) {
  28.     if(v >= voltage[index]) {
  29.       break;
  30.     }
  31.   }
  32.   if(index == 0) {
  33.     Sharp->distance = 20;
  34.   } else if(index == 14) {
  35.     Sharp->distance = 150;
  36.   } else {
  37.     Sharp->distance = map(v, voltage[index], voltage[index-1], distance[index], distance[index-1]);
  38.   }
  39. }

  40. void setup() {
  41.   Serial.begin(115200);
  42. }

  43. void loop() {
  44.   static unsigned long lastTime = millis();
  45.   if(millis() - lastTime > 1000/Sharp.frequency) {
  46.     lastTime = millis();
  47.     getDistance(&Sharp);
  48.     Serial.println(Sharp.distance);
  49. //    int v = analogRead(Sharp.pin);
  50. //    Serial.println(v);
  51.   }  
  52. }
復制代碼


ID:513258 發表于 2019-10-6 18:27
  1. /*
  2.   【Arduino】108種傳感器模塊系列實驗(資料+代碼+圖形+仿真)
  3.   實驗一百三十三:夏普GP2Y0A02YK0F 紅外測距傳感器模塊 20-150cm 距離傳感器
  4.   項目:測試距離的方案之二
  5.   Module        UNO
  6.   VCC   ——   5V
  7.   GND  ——   GND
  8.   VO    ——   A0
  9. */

  10. #define pin A0

  11. void setup () {
  12.         Serial.begin (9600);
  13.         pinMode (pin, INPUT);
  14. }

  15. void loop () {
  16.         uint16_t value = analogRead (pin);
  17.         uint16_t range = get_gp2y0a02 (value);
  18.         Serial.println (value);
  19.         Serial.print (range);
  20.         Serial.println (" cm");
  21.         Serial.println ();
  22.         delay (500);
  23. }

  24. //return distance (cm)
  25. uint16_t get_gp2y0a02 (uint16_t value) {
  26.         if (value < 70)  value = 70;
  27.         return 12777.3/value-1.1;        //(cm)
  28.         //return (62.5/(value/1023.0*5)-1.1);        //(cm)
  29.         //return ((67870.0 / (value - 3.0)) - 40.0); //gp2d12 (mm)
  30. }
復制代碼


ID:513258 發表于 2019-10-6 17:36
  1. /*
  2.   【Arduino】108種傳感器模塊系列實驗(資料+代碼+圖形+仿真)
  3.   實驗一百三十三:夏普GP2Y0A02YK0F 紅外測距傳感器模塊 20-150cm 距離傳感器
  4.   項目一:測試距離的方案之一
  5.   Module        UNO
  6.   VCC   ——   5V
  7.   GND  ——   GND
  8.   VO    ——   A0
  9. */

  10. int IRpin = 0;                                    // analog pin for reading the IR sensor
  11. void setup() {
  12.   Serial.begin(9600);                             // start the serial port
  13. }
  14. void loop() {
  15.   float volts = analogRead(IRpin) * 0.0048828125; // value from sensor * (5/1024) - if running 3.3.volts then change 5 to 3.3
  16.   float distance = 65 * pow(volts, -1.10);        // worked out from graph 65 = theretical distance / (1/Volts)
  17.   Serial.println(distance);                       // print the distance
  18.   delay(100);                                     // arbitary wait time.
  19. }
復制代碼


ID:513258 發表于 2019-10-6 10:44
zh_jie_sjz 發表于 2019-10-4 17:18
這個東東很有意思

是嗎,我還沒有實驗過呢
ID:619262 發表于 2019-10-4 17:18
這個東東很有意思

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表