Robofun 機器人論壇

標題: [請益]超音波感測器所抓取到的值,如何以LED七段顯示器顯示 [打印本頁]

作者: chenboshiun19    時間: 2010-10-25 16:47
標題: [請益]超音波感測器所抓取到的值,如何以LED七段顯示器顯示
本帖最後由 chenboshiun19 於 2010-10-25 17:26 編輯

想請教各位前輩三個問題

Q1.如果想用七段顯示器顯示出感測數值的話

    要如何應用呢!?

    希望可以向各位請教方向


Q2.以下是飆機器人所以提供的超音波測距程式、我們想藉此程式去抓取數值到七段顯示器上的話
     要使用get指令嗎

Q3.以RawToIn CON 889 ' 1 / 73.746 (with **)程式段為例,可以請教各位大大RawToIn CON 889  = "1 / 73.746秒數"
      如何計算出來
' -----[ I/O Definitions ]------------------------'定義I/O pin------------
Ping PIN 15                                       
' -----[ Constants ]----------------------------'宣告BAISC Stamp可選擇的晶片組類別-------
#SELECT $STAMP                                    
#CASE BS2, BS2E                                   
Trigger CON 5 ' trigger pulse = 10 uS            
Scale CON $200 ' raw x 2.00 = uS                  
#CASE BS2SX, BS2P, BS2PX                        
Trigger CON 13                                   
Scale CON $0CD ' raw x 0.80 = uS                  
#CASE BS2PE                                       
Trigger CON 5                                    
Scale CON $1E1 ' raw x 1.88 = uS                  
#ENDSELECT                                       
RawToIn CON 889 ' 1 / 73.746 (with **)            
RawToCm CON 2257 ' 1 / 29.034 (with **)         
IsHigh CON 1 ' for PULSOUT                        
IsLow CON 0                                       
' -----[ Variables ]------------------------------'宣告變數-------------------------
rawDist VAR Word ' raw measurement              
inches VAR Word                                   
cm VAR Word                                      
cm2 VAR Word                                      
' -----[ Initialization ]-------------------------'初始化程式段-------------------------
Reset:                                            'Clear screen
DEBUG CLS,
"Parallax PING))) Sonar", CR, ' setup report screen
"======================", CR,
CR,
"Time (uS)..... ", CR,
"Inches........ ", CR,
"Centimeters... "
' -----[ Program Code ]---------------------------'主程式碼-------------------------
Main:
DO                                               
GOSUB Get_Sonar ' get sensor value                 
inches = rawDist ** RawToIn ' convert to inches
cm = rawDist ** RawToCm ' convert to centimeters
DEBUG CRSRXY, 15, 3, ' update report screen      
DEC rawDist, CLREOL,                              '
CRSRXY, 15, 4,
DEC inches, CLREOL,
CRSRXY, 15, 5,
DEC cm, CLREOL
PAUSE 100
LOOP
END
' -----[ Subroutines ]-----------------------------------------------------
Get_Sonar:
Ping = IsLow ' make trigger 0-1-0
PULSOUT Ping, Trigger ' activate sensor
PULSIN Ping, IsHigh, rawDist ' measure echo pulse
rawDist = rawDist */ Scale ' convert to uS
rawDist = rawDist / 2 ' remove return trip
RETURN
作者: playrobot    時間: 2010-12-20 10:46
回復 1# chenboshiun19

七段顯示器顯示0~9範例



程式碼:
' {$STAMP BS2}
' {$PBASIC 2.5}
code    VAR   Byte
decode  VAR   Byte
zero    CON   %00000000
one     CON   %01111011
two     CON   %00101100
three   CON   %00101001
four    CON   %01001011
five    CON   %10001001
six     CON   %10001000
seven   CON   %00111011
eight   CON   %00001000
nine    CON   %00001001
OUTH = %00000000
DIRH = %11111111
DO
SERIN 16, 16468,[STR code\1]
decode = code
IF     code = 48 THEN
OUTH = zero
ELSEIF code = 49 THEN
OUTH = one
ELSEIF code = 50 THEN
OUTH = two
ELSEIF code = 51 THEN
OUTH = three
ELSEIF code = 52 THEN
OUTH = four
ELSEIF code = 53 THEN
OUTH = five
ELSEIF code = 54 THEN
OUTH = six
ELSEIF code = 55 THEN
OUTH = seven
ELSEIF code = 56 THEN
OUTH = eight
ELSEIF code = 57 THEN
OUTH = nine
ENDIF
LOOP



程式範例:
x     var    byte

main:
low 3
dira = 15
for x = 0 to 15
outa = x
pause 100
next
goto main

這個程式是有限接收電腦輸入0~9時,BS2的七段顯示器顯示0~9

超音波距離換算是:以英吋換算1130英呎=13560英吋,所以1/13560等於73.746uS
作者: playrobot    時間: 2010-12-20 10:55
回復 2# playrobot


    73.746uS = 1/13560 , 所以73.746 = 1uS*13560 => 0.01356
    Word = 65536 , 所以0.01356*65536 = 888.66816(889)
作者: kkcbkx10    時間: 2011-3-30 22:44
樓上的大大們
我其實最近也在摸有關超音波的模組
SRF05
http://www.youtube.com/watch?v=VDAoDyV5PmU這是我在網路上看到的
如果我想做成這樣程式需要怎麼寫?可以給個方向嗎?還有我是用C語言!想用AT89S51單晶片來驅動這模組
我有找到相關程式可是我看不大懂
我把它貼在網路上(引用至某大生專題)
圖一
?TTMFzjNBOtG0tOXd
圖二
?TTMFzjNBVg8elSZ9

希望有高手能幫我解惑!或是能指點迷津!




歡迎光臨 Robofun 機器人論壇 (https://robofun.net/forum/) Powered by Discuz! X3.2