0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

怎樣用測力計自行車產(chǎn)生電壓

454398 ? 來源:網(wǎng)絡(luò)整理 ? 作者:佚名 ? 2019-11-07 10:51 ? 次閱讀

第1步:材料:

1 Raspberry Pi 3;

1 Arduino Mega 2560;

1個帶10個繼電器12 V的繼電器護罩;

10盞白熾燈127 V;

1個測力計自行車;

1電機(發(fā)電機)12 V;

電阻器(1x1kΩ,2x10kΩ);

1電解電容10μF;

1齊納二極管5.3 V;

1.5毫米電纜(紅色,黑色,棕色);

1支持10盞燈的MDF塔。

步驟2:系統(tǒng)框圖:

怎樣用測力計自行車產(chǎn)生電壓

步驟3:系統(tǒng)操作:

該系統(tǒng)基于電動自行車騎行時產(chǎn)生的動能的轉(zhuǎn)換,該電能負責啟動將打開燈的繼電器。

發(fā)生器產(chǎn)生的電壓由Arduino的模擬引腳讀取,并通過RX-TX發(fā)送到Raspberry Pi。繼電器的激活與產(chǎn)生的電壓成正比 - 電壓越高,觸發(fā)的繼電器就越多,燈就會點亮。

步驟4:力學方面

為了將直流發(fā)電機機械地連接到自行車上,皮帶系統(tǒng)必須由普通自行車上使用的系統(tǒng)(由表冠,鏈條和小齒輪組成)代替。將金屬板焊接到自行車車架上,以便可以通過螺釘固定發(fā)動機。之后,將小齒輪焊接到發(fā)電機軸上,以便可以放置鏈條,將踏板系統(tǒng)與發(fā)電機互連。

步驟5:電壓讀數(shù):

要使用Arduino讀取發(fā)電機的電壓,需要將電機的正極連接到控制器的A0引腳,將負極連接到GND - 以避免發(fā)電機的最大電壓大于在控制器和發(fā)生器之間構(gòu)建了5 V的Arduino引腳,一個使用10μF電容的電壓濾波器,一個1kΩ的電阻和一個5.3 V的齊納二極管。 Arduino中加載的固件非常簡單,僅包括讀取模擬端口,將讀取的值乘以常數(shù)0.0048828125(5/1024,即Arduino的GPIO電壓除以其模擬端口的位數(shù))并發(fā)送變量到串行 - 代碼將在文章中提供。

在Raspberry Pi中啟用RX-TX通信的過程有點復雜,您必須按照鏈接中描述的過程進行操作。簡而言之,您需要編輯名為“inittab”的文件 - 位于“/etc/inittab” - ,注釋行“T0:23:respawn:/sbin/getty -L ttyAMA0 115200 vt100”(如果文件不是在Raspberry的操作系統(tǒng)中創(chuàng)建,您必須輸入命令:“sudo leafpad/boot/config.txt”并將“enable_uart = 1”行附加到文件末尾。完成此操作后,必須重新打開LX終端并使用命令“sudo systemctl stop serial-getty@ttyS0.service”和“sudo systemctl disable serial-getty@ttyS0.service”禁用Serial。之后你必須執(zhí)行命令“sudo leafpad/boot/cmdline.txt”,刪除“console = serial0,115200”行,保存文件并重啟設(shè)備。為了能夠進行RX-TX通信,必須使用命令“sudo apt-get install -f python-serial”在Raspberry Pi上安裝串行庫,并通過插入“import serial”行將庫導入代碼中,通過插入行“ser = serial.Serial(”/dev/ttyS0“,9600)”來初始化串行,并使用命令“ser.readline()”讀取Arduino發(fā)送的電壓 - 使用的完整代碼Raspberry中的內(nèi)容將在本文末尾提供。

按照上述步驟,讀取和發(fā)送電壓步驟完成。

步驟6:Arduino編程

如前所述,負責讀取循環(huán)時產(chǎn)生的電壓的代碼非常簡單。

首先,有必要選擇A0引腳作為負責讀取電壓。

在“void setup()”功能中,需要通過“pinMode(sensor,INPUT)”命令將引腳A0設(shè)置為INPUT并選擇串口傳輸離子速度使用“Serial.begin(9600)”命令。

在“void loop()”中,“Serial.flush()”函數(shù)用于在每次終止發(fā)送時清除緩沖區(qū)信息通過串口;電壓讀數(shù)由“analogRead(sensor)”函數(shù)執(zhí)行 - 記住有必要將模擬端口讀取的值轉(zhuǎn)換為Volts - 文章“讀取電壓”部分中引用的過程。

另外,在“void loop()”函數(shù)中,有必要將變量x從float轉(zhuǎn)換為string,因為這是通過RX-TX發(fā)送變量的唯一方法。循環(huán)函數(shù)的最后一步是在串行端口中打印字符串,以便將其發(fā)送到Raspberry - 為此,您必須使用“Serial.println(y)”函數(shù)。 “delay(100)”行僅添加到代碼中,以便以100 ms的間隔發(fā)送變量 - 如果不遵守此時間,將發(fā)生串行過載,從而在程序中生成可能的崩潰。

voltage_read.ino

float sensor = A0;

void setup (){

pinMode (sensor,INPUT);

Serial。 begin ( 9600 );

}

void loop (){

Serial。 flush ();

float x = analogRead (傳感器)* 0.0048828125 * 16.67 ;

字符串y = ” “ ;

y + = x;

Serial。 println (y);

delay ( 100 》;

}

查看由GitHub托管的rawvoltage_read.ino

第7步:Raspberry Pi 3編程:

lamps_bike.py

import os #導入操作系統(tǒng)庫(用于在必要時清除屏幕)

import RPi。 GPIO as gpio #導入庫用于控制Raspnerry的GPIO

導入串行 #導入庫負責串行通信

import 時間 #導入庫,可以使用延遲功能

導入子進程 #導入庫負責播放歌曲

# start serial

ser = serial.Serial( “/dev/ttyS0 “ , 9600 ) #定義設(shè)備名稱和波特率

# clear screen

clear = lambda :os.system( ‘ clear ’ )

#設(shè)置引腳用于繼電器控制

gpio.setmode(gpio。 BOARD )

gpio.setup( 11 ,gpio。 OUT ) #燈10

gpio .setup( 12 ,gpio。 OUT ) #指示燈9

gpio.setup( 13 ,gpio。 OUT ) #指示燈8

gpio.setup( 15 ,gpio。 OUT ) #燈7

gpio。設(shè)置( 16 ,gpio。 OUT ) #指示燈6

gpio.setup( 18 ,gpio。 OUT ) #指示燈5

gpio.setup ( 19 ,gpio。 OUT ) #指示燈4

gpio.setup( 21 ,gpio。 OUT ) #燈3

gpio.setup( 22 ,gpio。 OUT ) #指示燈2

gpio.setup( 23 ,gpio。 OUT ) #燈1

#開始記錄

name = [ “無”] * 10

電壓 = [ 0.00 ] * 10

#讀取記錄文件

f = 打開( ‘記錄’ , ‘ r ’ )

i 范圍( 10 ): #列表中出現(xiàn)10個最佳分數(shù)

name [i] = f.readline()

name [i] = name [i] [: len (name [i]) - 1 ]

voltage [ i] = f.readline()

電壓[i] = 浮動(電壓[i] [: len (電壓[i]) - 1 ])

f.close()

clear()

#設(shè)置最大電壓

max = 50.00

#關(guān)燈

for i in 范圍( 11 , 24 , 1 ):

if i != 14 和 i != 17 和 i != 20 :

gpio.output(i,gpio。 HIGH ) #設(shè)置為HIGH,繼電器關(guān)閉

# start

while True :

#初始屏幕

print ”記錄: n “

i 范圍( 10 ):

print name [i] , “:” ,電壓[I], “ V ”

current_name = raw_input ( “將您的名字寫下來開始:” )

clear()

#更改最大值

if current_name == “ max ” :

max = 輸入( ”寫下最大電壓:( 2位小數(shù))“ )

clear()

else :

#啟動警告

for i in 范圍( 11 , 24 , 1 ): #循環(huán)在PIN 11中啟動并在PIN 24中停止

if i != 14 和 i != 17 和 i != 20 : # PIN 14和20是GND引腳,20是3.3 V引腳

gpio.output(i, gpio。低) #打開燈

time.sleep( 0.5 )

k = 10

for i in 范圍( 23 , 10 , - 1 ):

clear()

if i != 14 和 i != 17 和 i != 20 :

subprocess.Popen ([ 的 aplay 的 , 的音像/的 + STR (k)的 + 的的.wav 的 ])

時間。睡眠( 0.03 )

clear()

打印 “準備《!跨度》 n ” ,k

時間。睡眠( 1 )

k - = 1

gpio.output(i,gpio。 HIGH ) #關(guān)燈(逐個)

subprocess.Popen( [ 的 aplay 的 , 的音像/go.wav 的 ]) #播放開始音樂

time.sleep( 0.03 )

clear()

打印 ” GO!“

time.sleep( 1 )

clear()

#電壓讀數(shù)

current_voltage = 0.00

voltage1 = 0.00

i 范圍( 200 ):

ser.flushInput()

previous = voltage1

voltage1 = float (ser.readline()) #收集由RX-TX傳輸?shù)腁rduino數(shù)據(jù)

clear()

打印 voltage1, ” V “

if voltage1 》 current_voltage:

current_voltage = voltage1

#取決于產(chǎn)生的電壓,更多燈點亮。

如果 voltage1 《 max / 10 :

for i 范圍( 11 , 24 , 1 ):

if i != 14 和 i != 17 和 i != 20 :

gpio.output(i,gpio。 HIGH )

如果 voltage1 》 = max / 10 :

gpio.output( 11 ,gpio。 LOW )

i 范圍( 12 , 24 , 1 ):

if i != 14 和 i != 17 和 i != 20 :

gpio.output(i,gpio。 HIGH )

if voltage1 》 = 2 * 最大 / 10 :

《 范圍( 11 , 13 , 1 ):

gpio。輸出(i,gpio。低)

for i 范圍( 13 , 24 , 1 ):

如果 i != 14 和 i != 17 和 i != 20 :

gpio.output(i,gpio。 HIGH )

如果 voltage1 》 = 3 * max / 10 :

i 范圍( 11 , 14 , 1 ):

gpio.output(i,gpio。 LOW )

i 范圍( 15 , 24 , 1 ):

如果 i != 17 和 i != 20 :

gpio.output(i,gpio。 HIGH )

if voltage1 》 = 4 * max / 10 :

for i in 范圍 ( 11 , 16 , 1 ):

if i != 14 :

gpio.output(i,gpio。 LOW )

for i 范圍( 16 , 24 , 1 ):

if i != 17 和 i != 20 :

gpio.output(i,gpio。 HIGH )

if voltage1 》 = 5 * max / 10 :

范圍 span》 11 , 17 , 1 ):

如果 i != 14 :

gpio.output(i,gpio。 LOW )

for i 范圍( 18 , 24 , 1 ):

如果 i != 20 :

gpio.output(i,gpio。 HIGH )

如果 voltage1 》 = 6 * max / 10 :

for i 范圍( 11 , 19 , 1 ):

if i != 14 和 i != 17 :

gpio.output(i,gpio。 LOW )

i 范圍( 19 , 24 , 1 ):

如果 i != 20 :

gpio.output(i,gpio。 HIGH )

if voltage1 》 = 7 * 最大 / 10 :

for i in 范圍( 11 , 20 , 1 ):

if i != 14 和 i != 17 :
責任編輯:wv

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 繼電器
    +關(guān)注

    關(guān)注

    132

    文章

    5262

    瀏覽量

    147608
  • 電機
    +關(guān)注

    關(guān)注

    141

    文章

    8772

    瀏覽量

    143778
  • Arduino
    +關(guān)注

    關(guān)注

    187

    文章

    6453

    瀏覽量

    185927
收藏 人收藏

    評論

    相關(guān)推薦

    優(yōu)化汽車類48V電池和電動自行車應(yīng)用中的線路電壓和負載調(diào)節(jié)

    電子發(fā)燒友網(wǎng)站提供《優(yōu)化汽車類48V電池和電動自行車應(yīng)用中的線路電壓和負載調(diào)節(jié).pdf》資料免費下載
    發(fā)表于 09-06 09:45 ?1次下載
    優(yōu)化汽車類48V電池和電動<b class='flag-5'>自行車</b>應(yīng)用中的線路<b class='flag-5'>電壓</b>和負載調(diào)節(jié)

    電動自行車應(yīng)用中的位置檢測

    電子發(fā)燒友網(wǎng)站提供《電動自行車應(yīng)用中的位置檢測.pdf》資料免費下載
    發(fā)表于 09-03 11:50 ?1次下載
    電動<b class='flag-5'>自行車</b>應(yīng)用中的位置檢測

    《電動自行車鋰離子蓄電池安全技術(shù)規(guī)范》(GB 43854—2024)

    近日,市場監(jiān)管總局(國家標準委)發(fā)布《電動自行車鋰離子蓄電池安全技術(shù)規(guī)范》(GB43854—2024,以下簡稱《技術(shù)規(guī)范》)強制性國家標準,該標準由工業(yè)和信息化部歸口,將于2024年11月1日
    的頭像 發(fā)表于 08-14 08:10 ?493次閱讀
    《電動<b class='flag-5'>自行車</b><b class='flag-5'>用</b>鋰離子蓄電池安全技術(shù)規(guī)范》(GB 43854—2024)

    市場監(jiān)管總局發(fā)布公告:將電動自行車鋰電池及其充電器納入CCC管控

    市場監(jiān)管總局發(fā)布2024年第26號公告,決定對電動自行車鋰離子蓄電池、電動自行車充電器實施強制性產(chǎn)品認證(CCC認證)管理。
    的頭像 發(fā)表于 07-03 17:37 ?497次閱讀
    市場監(jiān)管總局發(fā)布公告:將電動<b class='flag-5'>自行車</b><b class='flag-5'>用</b>鋰電池及其充電器納入CCC管控

    新的電動自行車鋰電池安全技術(shù)規(guī)范有什么亮點

    里程要求不斷提高之間的矛盾。然而,近年來,隨著市場的升級和增長,由電動自行車、特別是鋰電池電動自行車引發(fā)的安全事故數(shù)量也日漸升高,往往造成重大人身財產(chǎn)損害,社會影響巨大。因此,標準緊緊圍繞電動自行車
    的頭像 發(fā)表于 05-07 15:08 ?252次閱讀
    新的電動<b class='flag-5'>自行車</b>鋰電池安全技術(shù)規(guī)范有什么亮點

    電動自行車蓄電池安全質(zhì)檢系統(tǒng)解決方案

    ,不斷得到完善和提升,從而規(guī)范電動自行車鋰離子蓄電池產(chǎn)品設(shè)計、生產(chǎn)和銷售等環(huán)節(jié),提升產(chǎn)品質(zhì)量水平。 《電動自行車鋰離子蓄電池安全技術(shù)規(guī)范》中規(guī)定了電池過充電、過放電、溫度保護、數(shù)據(jù)
    的頭像 發(fā)表于 05-06 17:18 ?443次閱讀
    電動<b class='flag-5'>自行車</b>蓄電池安全質(zhì)檢系統(tǒng)解決方案

    電動自行車電池質(zhì)檢監(jiān)控管理系統(tǒng)解決方案

    自行車4228萬輛。龐大的電動自行車市場也帶動了鋰離子蓄電池行業(yè)的發(fā)展,相應(yīng)的安全標準也在逐漸落實。 工業(yè)和信息化部負責組織起草的《電動自行車鋰離子蓄電池安全技術(shù)規(guī)范》(GB 438
    的頭像 發(fā)表于 05-06 15:30 ?289次閱讀
    電動<b class='flag-5'>自行車</b>電池質(zhì)檢監(jiān)控管理系統(tǒng)解決方案

    預防電動自行車火災 需要哪幾步?

    1、概述 國家消防救援局統(tǒng)計數(shù)據(jù)顯示,2023年全國共接報電動自行車火災2.1萬起,相比2022年上升17.4%。其中,80%的電動自行車火災發(fā)生在充電時,由鋰電池燃爆引起。自南京“2.23”火災
    的頭像 發(fā)表于 04-18 16:23 ?367次閱讀
    預防電動<b class='flag-5'>自行車</b>火災 需要哪幾步?

    電動自行車如何改變我們的出行方式?探索電動自行車的綠色革命與安全升級!

    電動自行車正以其環(huán)保和便捷的特性,在全球范圍內(nèi)受到廣泛歡迎。它們不僅有助于減少溫室氣體排放,降低對傳統(tǒng)燃料的依賴,而且在提供與普通自行車相同便利性的同時,還能提供額外的動力支持,使得城市通勤變得更加
    的頭像 發(fā)表于 04-16 08:33 ?416次閱讀
    電動<b class='flag-5'>自行車</b>如何改變我們的出行方式?探索電動<b class='flag-5'>自行車</b>的綠色革命與安全升級!

    科技賦能,為電動自行車消防安全保駕護航

    安科瑞 程瑜 電動自行車火災隱患,正受到越來越多的重視。作為全球電動自行車生產(chǎn)、消費第一大國,中國的電動自行車保有量已達3.5億輛。電動自行車在解決居民短途出行需求的同時,也考驗著城市
    的頭像 發(fā)表于 04-12 15:59 ?297次閱讀

    電動自行車強制性國家標準即將出臺

    電動自行車強制性國家標準即將出臺 近期有媒體報道多地發(fā)生了電動自行車質(zhì)量安全事故;為從源頭防范安全事故,我國的電動自行車鋰離子電池安全性強制性國家標準即將出臺。 早在2022年由工業(yè)
    的頭像 發(fā)表于 02-27 11:15 ?2011次閱讀

    自行車燈的功能介紹

    自行車燈方案
    的頭像 發(fā)表于 12-11 10:16 ?538次閱讀
    <b class='flag-5'>自行車</b>燈的功能介紹

    自動自行車燈電路原理圖講解

    為了解決自行車發(fā)電機驅(qū)動的燈在黑暗中停車時熄滅的問題,特別是在紅綠燈處,所提供的簡單電路提供了一個解決方案。該電路依靠四節(jié)容量為 0.25 Ah 至 1.25 Ah 的 NiCd 電池,在發(fā)電機通過 R1 和 D1 運行時持續(xù)充電。雖然電池電壓略低于發(fā)電機輸出,但
    的頭像 發(fā)表于 12-03 17:29 ?1843次閱讀
    自動<b class='flag-5'>自行車</b>燈電路原理圖講解

    錨索測力計與振弦采集儀組成橋梁安全監(jiān)測

    錨索測力計與振弦采集儀組成橋梁安全監(jiān)測 在橋梁工程中,安全監(jiān)測一直是一個重要的方面。橋梁安全監(jiān)測可以及時發(fā)現(xiàn)橋梁的變形、裂縫、位移等問題,為及時修復或維修提供重要的依據(jù)。而錨索測力計和振弦采集儀作為
    的頭像 發(fā)表于 11-29 13:46 ?302次閱讀
    錨索<b class='flag-5'>測力計</b>與振弦采集儀組成橋梁安全監(jiān)測

    如何設(shè)計低功耗、高精度自行車功率?

    自行車功率是一種測量健身自行車騎行者功率輸出(以瓦為單位)的儀器,此類功率作為訓練輔助工具,可向騎行者提供有關(guān)其運動量的反饋信息。例如,騎行者可以設(shè)定在上坡期間保持至少200 W功
    的頭像 發(fā)表于 09-27 18:15 ?657次閱讀
    如何設(shè)計低功耗、高精度<b class='flag-5'>自行車</b>功率<b class='flag-5'>計</b>?