① 超聲波模塊
連接5V和GND,超聲波模塊的Trig和Echo引腳可以連接至樹莓派的任意GPIO引腳,連線方式和我們的不一樣也沒關系,記住Trig和Echo引腳對應的BCM引腳編碼
轉自: https://www.jianshu.com/p/c03e486572b9
② 樹莓派連接BMP180氣壓感測器
作為最常見的感測器,本篇(來自於知乎某大神的文章)實現氣壓感測的交互:
1.先說明BMP180的特點
注意了該感測器是I2C介面的,因此在後續步驟要稍加註意。
2. 接線
I2C 有兩個匯流排:SCL 為時鍾信號,和 SDA 為雙向數據傳輸。 每個 I2C 器件採用獨特的 7 位地址,這意味著你可以有超過 120 個獨特的 I2C 器件共享匯流排, 並且可以同時控制這些器件一起工作。
將 BMP180 的 VCC 引腳用紅色跳線連接樹莓派的 3V3 ( 3.3 伏電源)。將 BMP180 的 SDA 引腳 接入樹莓派的 SDA 引腳並將 BMP180 SCL 引腳接入樹莓派的 SCL 引腳,該引腳提供一個規律的 時鍾信號。SDA 傳遞數據信號。BMP180 的 GND 引腳通過黑色跳線連接樹莓派的接地( GND) 引腳。 在上電前,一定多檢查兩次接線的准確性。
3. 環境和程序部分
配置文件 /boot/config.txt:
dtparam=i2c_arm=on
重啟樹莓派,用如下命令查看感測器是否接上:
i2cdetect -y 1
如果接上了的話會顯示下圖:
編寫 BMP180.py:
然後編寫調用函數bmp180_example.py:
執行./bmp180_example.py就可以在終端看到實時的溫度/氣壓輸出。
③ 樹莓派通過C語言和python操作超聲波測距模塊
樹莓派利用兩個gpio來操作超聲波測距模塊,一個gpio操作發送超聲波,另一個超聲波接受返回的超聲波,時間差與聲音傳播速度的積即為距離數值。模塊可以測量 3cm – 4m 的距離,模塊包括 超聲波發射器、超聲波接收器和控制電路三部分。 4 個引腳,由 2 個電源引腳(Vcc 、GND)和 2 個控制引腳(Trig、Echo)組成。Trig 引腳用來接收來自樹莓派的控制信號,Echo 引腳用來發送測距結果給樹莓派。
V埠是5V供電,G是負極,T為板卡埠38(gpio28),E為板卡埠40(gpio29)。
原理為時間差乘以速率來計算距離。
gcc distance_sensor.c -o distance_sensor -lwiringPi #編譯C語言
./distance_sensor #運行程序
運行程序 python distance_sensor.py
最後試了試將程序改為labview通過LINX嵌入式部署到樹莓派,最後測試有問題。感覺是時間控制方面有問題,夜深了,留待下次解決吧。
④ 樹莓派如何安裝程序
樹莓派安裝程序如下:
1、先將安裝好系統的存儲卡插入樹莓派;
2、再將通用串列匯流排介面的鍵盤和滑鼠接上樹莓派;
3、接上高清晰度多媒體介面線,接上電源線,並打開電源鍵盤輸入命令啟動圖形界面,樹莓派就可以正常啟動。
⑤ 樹莓派-raspberrypi 系統安裝
Step 1:將系統鏡像文件(filename=2018-06-27-raspbian-stretch-lite.img)燒錄到SD卡(在我的mac中對應的是以下檔案:/dev/disk3)中 dd bs=1m if=2018-06-27-raspbian-stretch-lite.img of=/dev/
Step 2:在SD卡的根目錄中創建一個文件,文件名為ssh,沒有後綴。以便載入系統之後能夠使用ssh連接(用vim編輯器創建即可)。
Step3:卸載磁碟 diskutil unmount /dev/disk3s1 插入SD卡,通電。正常情況是紅色LED一直亮,綠色LED閃爍。至此,樹莓派已經成功載入系統了。
Step4:對於沒有使用顯示器的用戶,那我們需要通過ssh登陸樹莓派進行控制。ssh的登陸命令格式為
ssh -P port username@host_addr(default_port=22) ,因此首先需要讓樹莓派連上區域網,並且獲取它的IP地址。使用一根網線,連接樹莓派的網口和路由器的LAN口,然後進入到路由器的管理界面(在瀏覽器中輸入網關地址即可)查看樹莓派獲取的IP地址。
Step5:在Mac終端中輸入ssh連接命令 ssh [email protected] (樹莓派第一次載入系統時默認的賬戶和密碼分別為:username=pi、password=raspberry)
Step6:使用網線直連路由器有時候會覺得不是很方便,這時可以通過wpa_supplicant來連接Wi-Fi,從而擺脫網線。具體方法是在配置文件/etc/wpa_supplicant/wpa_supplicant.conf中添加Wi-Fi信息,使用nano編輯器 sudo nano /etc/wpa_supplicant/wpa_supplicant.conf ,添加之後保存(快捷鍵----ctrl+x)返回。
⑥ 步進電機怎麼連到樹莓派
步進電機需要驅動器。驅動器一般需要兩個信號:
1、方向信號(高電平與低電平)
2、轉速信號(脈沖信號)
步進電機接上驅動器,驅動器方向信號線與轉速信號線接樹莓派的GPIO引腳,
然後編寫程序讓樹莓派GPIO輸出電平和脈沖即能控制步進電機。
⑦ 有個樹莓派和一個激光雷達還需要什麼配件
計算機網路期末復習
樹莓派4B-ros-noetic-連接北陽激光雷達URG-04XL-UG01
卓沅best
原創
關注
1點贊·125人閱讀
今天將用樹莓派裝了個ros-noetic,准備用它和hokuyo激光雷達URG-04XL-UG01學一下SLAM,先跑一下gmapping演算法,下面記錄一下我安裝URG-04XL-UG01在Ubuntu20.04上的驅動程序,以及連接過程,也給正在學習激光雷達的夥伴們一個參考。
一、關於rosdep init初始化失敗的問題
在ros安裝到最後一步的時候,可能會發現如下錯誤:
ERROR: cannot download default sources list from:
https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/sources.list.d/20-default.list
Website may be down.
登錄後復制
關於錯誤的原因,我也不清楚,但是已經找到了一個解決的辦法。
1.打開下面的rosdistro下載地址,然後把它下載到本地,默認地址在Download
https://github.com/ros/rosdistro
2.解壓,終端打開文件夾 進入目錄rosdistro/rosdep,找到/sources.list.d文件,用gedit打開
sudo gedit 20-default.list
登錄後復制
顯示如下:
# os-specific listings first
yaml file:///home/文件所在地址/osx-homebrew.yaml osx
# generic
yaml file:///home/文件所在地址/rosdep/base.yaml
yaml file:///home/文件所在地址/python.yaml
yaml file:///home/文件所在地址/ruby.yaml
gbpdistro file:///home/文件所在地址/releases/fuerte.yaml fuerte
# newer distributions (Groovy, Hydro, ...) must not be listed anymore, they are being fetched from the rosdistro index.yaml instead
#默認下載地址是Download的話,那rosdistro文件地址就在裡面了
登錄後復制
3.修改所用的python版本中的__init__.py文件
因為在安裝ros的時候,我下載的是python3,所以修改的是python3裡面的文件。
sudo gedit /usr/lib/python3/dist-packages/rosdistro/__init__.py
登錄後復制
同樣,將下面路徑換成Download裡面的rosdistro路徑
DEFAULT_INDEX_URL = 'https://raw.githubusercontent.com/ros/rosdistro/master/index-v4.yaml'
登錄後復制
4.再次執行
rosdep init
登錄後復制
一般是沒什麼問題的,如果還不行,就進入/etc找到ros,看裡面是否還有一個20-default.list文件,或者在搜索框里找一下,將多餘的這個文件刪除再次重復初始化步驟,初始化以後,就可以正常使用ros了,至於更新那一步我還是更新不了,但是不影響使用,我就放棄了。
二、連接並在rivz中顯示激光雷達URG-04XL-UG01
1.下載驅動ros-noetic-node
sudo apt install ros-noetic-urg-node
登錄後復制
輸入密碼以後等待下載完畢即可。
2.連接激光雷達
我是採用USB方式來連接的,直接樹莓派主板上面供電的。打開ros運行驅動,先啟動ros,再運行啟動程序:
source /opt/ros/noetic/setup.bash
roscore
登錄後復制
新開一個終端:
source /opt/ros/noetic/setup.bash
rosrun urg_node urg_node
登錄後復制
等待自動尋找激光雷達並連接,連接完畢以後最下端會顯示:streaming data。
3.打開rviz顯示激光雷達掃描狀態
source /opt/ros/noetic/setup.bash
rosrun rviz rviz
登錄後復制
打開以後設置參數如下:
(1)點擊rviz左下角Add,添加LaserScan
(2)點擊Global Option下方的Fixed Frame,將右邊的參數改為laser
(3)點擊LaserScan下面的Topic,改為/scan
(4)點擊LaserScan下面的Style,改為Point
然後就能看到激光雷達掃描生成的圖了:
ros2也能夠連接,下次再記錄,其他操作也後續再記錄。
輸入期貨名稱,3秒知曉期貨走勢!
免費分析期貨走勢
廣告
樹莓派4B安裝ubuntu18.04.4和ROS並測試激光雷達
118下載·0評論
2021年1月6日
結合hokuyo的UST-10LX激光雷達在turtlebot上建圖
3505閱讀·0評論·0點贊
2017年2月6日
ROS-激光雷達(Hokuyo-URG-04LX-UG01)
423閱讀·0評論·1點贊
2020年10月24日
成功解決使用git clone命令克隆文件出現error: RPC failed; curl 18 transfer closed with outstanding read data remaini
984閱讀·0評論·1點贊
2020年9月14日
利用樹莓派4B運行Mid-40激光雷達全過程
1683閱讀·0評論·0點贊
2022年1月23日
疑難雜症篇(十七)--樹莓派和激光雷達直接連接通信問題的解決方案
1852閱讀·0評論·0點贊
2021年11月15日
阿維塔 11,四座VIP版40度座椅調幅,總有你的角度,即刻試駕體驗
阿維塔
廣告
ubuntu18.04安裝Ros
112閱讀·0評論·0點贊
2022年6月24日
樹莓派4b安裝Ubuntu20.04及ROS並使用激光雷達建圖
4479閱讀·14評論·14點贊
2021年6月3日
分布式通信樹莓派激光雷達數據在主機RVIZ中顯示不正常
140閱讀·0評論·0點贊
2022年7月24日
使用python線程來讀URG激光雷達和旋轉編碼器的問題
249閱讀·0評論·1點贊
2019年7月30日
樹莓派+ROS Indigo+urg_node連接Hokuyo網口激光雷達
2594閱讀·0評論·0點贊
2018年5月12日
將樹莓派機器人小車原雷達更換為思嵐激光雷達
1291閱讀·4評論·1點贊
2020年12月23日
樹莓派4B安裝MAVROS和激光雷達
1743閱讀·0評論·1點贊
2021年1月26日
樹莓派採集HOKUYO激光雷達數據
6748閱讀·3評論·2點贊
2016年9月2日
ubuntu 14.04 安裝indigo 出現解壓python-rosdistro 錯誤
481閱讀·0評論·0點贊
2018年11月14日
ROS安裝ubuntu16.04 無需科學上網解決sudo rosdep init初始化問題
258閱讀·1評論·2點贊
2022年4月30日
樹莓派&ROS:驅動EAI的激光雷達YDLIDAR-X4
9667閱讀·8評論·9點贊
2018年12月3日
去首頁
看看更多熱門內容
⑧ 求助樹莓派避障小車,遇到 python 了
小白第一次上手 python ,用樹莓派,紅外和超聲波感測器做智障小車。 編譯錯誤:
RuntimeWarning: This channel is already in use, continuing anyway. Use GPIO.setwarnings(False) to disable warnings.
GPIO.setup(trip,GPIO.OUT)
Traceback (most recent call last):
File "xiaochetest.py", line 82, in <mole>
fwd()
TypeError: fwd() takes exactly 1 argument (0 given)
下面是小車的代碼:
import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BOARD)
m1_fwd = 12
m1_rev = 11
m2_fwd = 13
m2_rev = 15
red_left = 07
red_right = 16
trip = 38
echo = 37
def init():
GPIO.setup(m1_fwd,GPIO.OUT)
GPIO.setup(m1_rev,GPIO.OUT)
GPIO.setup(m2_fwd,GPIO.OUT)
GPIO.setup(m2_rev,GPIO.OUT)
def stop(sleep_time):
GPIO.output(m1_fwd,False)
GPIO.output(m1_rev,False)
GPIO.output(m2_fwd,False)
GPIO.output(m2_rev,False)
time.sleep(sleep_time)
GPIO.cleanup()
def fwd(sleep_time):
GPIO.output(m1_fwd,GPIO.HIGH)
GPIO.output(m1_rev,GPIO.LOW)
GPIO.output(m2_fwd,GPIO.HIGH)
GPIO.output(m2_rev,GPIO.LOW)
time.sleep(sleep_time)
GPIO.cleanup()
def rev(sleep_time):
GPIO.output(m1_fwd,GPIO.LOW)
GPIO.output(m1_rev,GPIO.HIGH)
GPIO.output(m2_fwd,GPIO.LOW)
GPIO.output(m2_rev,GPIO.HIGH)
time.sleep(sleep_time)
GPIO.cleanup()
def right(sleep_time):
GPIO.output(m1_fwd,GPIO.HIGH)
GPIO.output(m1_rev,GPIO.LOW)
GPIO.output(m2_fwd,False)
GPIO.output(m2_rev,False)
time.sleep(sleep_time)
GPIO.cleanup()
def left(sleep_time):
GPIO.output(m1_fwd,False)
GPIO.output(m1_rev,False)
GPIO.output(m2_fwd,GPIO.HIGH)
GPIO.output(m2_rev,GPIO.LOW)
time.sleep(sleep_time)
GPIO.cleanup()
def get_distance():
GPIO.setup(trip,GPIO.OUT)
GPIO.setup(echo,GPIO.IN)
GPIO.output(trip,GPIO.HIGH)
time.sleep(0.000015)
GPIO.output(trip,GPIO.LOW)
while not GPIO.input(echo):
pass
t1 = time.time()
while GPIO.input(echo):
pass
t2 = time.time()
return (t2-t1)*34300/2
def turnaround():
GPIO.setup(red_left,GPIO.IN)
GPIO.setup(red_right,GPIO.IN)
while GPIO.input(red_left) and GPIO.input(red_right)==0:
rev()
if GPIO.input(red_left)==1:
left(1)
else:
right(1)
GPIO.cleanup()
while True:
distance = get_distance()
time.sleep(0.5)
if distance > 20:
fwd()
elif distance == 20:
stop()
else:
stop()
turnaround()
def fwd(sleep_time)
if distance > 20:
fwd()
調用 fwd 的時候要傳參數啊,錯誤提示說的比較清楚了。
⑨ 樹莓派怎麼鏈接led燈和蜂鳴器
led燈用杜邦線一頭接一個IO口(樹莓派那些io口任選一個),一頭接地,通過控制IO口控制led燈。
蜂鳴器用杜邦線正極接一個IO口(任選一個),一頭接地,同樣是通過控制IO口控制led燈。
⑩ 關於怎麼用路由器連接樹莓派
展開全部
用網線直連電腦,不經過路由器。這個方法最大的特點用最少的工具玩樹莓派。
一、材料:樹莓派一部、網線一根,筆記本電腦一台。
1、樹莓派:帶供電系統和燒好Raspbian系統的SD卡;
2、網線:交叉或直連;
3、筆記本電腦:雙網卡,現在應該都是這個配置的。
二、操作步驟。
1、連線。
樹莓派接好供電線;
將網線一端接到樹莓派,另一端接到筆記本。
2、共享互聯網。
如果現在筆記本已經通過WIFI連接到互聯網,可以將無線網卡的互聯網資源共享給本地連接。以win7系統為例,開始——控制面板——網路和
Internet——網路和共享中心——查看網路狀態和任務——更改適配器設置,找到無線網路連接右鍵「屬性」,在共享選項卡上選中「允許其他網路用戶通
過此計算機的Internet連接來連接(N)」選項,點確定。