chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

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

如何將HC-05與AVR ATmega8連接起來(lái)控制LED

科技觀察員 ? 來(lái)源:circuitdigest ? 作者:里沙布·耆那教 ? 2022-11-14 17:03 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

在本教程中,讓我們學(xué)習(xí)如何將HC-05藍(lán)牙模塊與AVR ATmega8微控制器連接。我們將通過(guò)藍(lán)牙模塊在Android移動(dòng)和Atmega8之間建立通信,藍(lán)牙模塊通過(guò)UART串行通信協(xié)議進(jìn)行。在這個(gè)項(xiàng)目中,我們將使用智能手機(jī)的藍(lán)牙控制LED

所需材料:

AVR Atmega8

HC-05 藍(lán)牙模塊

發(fā)光二極管

USBASP 編程

10 針 FRC 電纜

跳線

面包板

使用的軟件:

我們將使用CodeVisionAVR軟件編寫代碼,并使用SinaProg軟件使用USBASP程序員將代碼上傳到Atmega8。

藍(lán)牙模塊 HC-06:

藍(lán)牙可以在以下兩種模式下運(yùn)行:

命令模式

操作模式

在命令模式下,我們將能夠配置藍(lán)牙屬性,例如藍(lán)牙信號(hào)的名稱,密碼,操作波特率等。操作模式是我們能夠在PIC微控制器和藍(lán)牙模塊之間發(fā)送和接收數(shù)據(jù)的模式。因此,在本教程中,我們將只玩弄操作模式。命令模式將保留默認(rèn)設(shè)置。設(shè)備名稱將是HC-05(我正在使用HC-06),密碼將是0000或1234,最重要的是,所有藍(lán)牙模塊的默認(rèn)波特率為9600。

poYBAGNyBGeAcjRrAACRRzH8oH8104.jpg

模塊采用 5V 電源供電,信號(hào)引腳工作在 3.3V,因此模塊本身存在一個(gè) 3.3V 穩(wěn)壓器。因此,我們不必?fù)?dān)心。在六個(gè)引腳中,只有四個(gè)將在操作模式下使用。引腳連接表如下所示

S.No HC-05/HC-06 上的引腳 MCU 上的引腳名稱 PIC 中的引腳編號(hào)
1 Vcc Vdd 31圣針
2 Vcc 格德 32德·針
3 德克薩斯 RC6/Tx/CK 25千針
4 接收 RC7/Rx/DT 26千針
5 數(shù)控 數(shù)控
6 英文(使能) 數(shù)控 數(shù)控

使用 CodeVision 為 Atmega 8 創(chuàng)建項(xiàng)目:

安裝這些軟件后,請(qǐng)按照以下步驟創(chuàng)建項(xiàng)目并編寫代碼:

第 1 步。打開 CodeVision 單擊“文件 -> 新建”-> 項(xiàng)目。將出現(xiàn)確認(rèn)對(duì)話框。點(diǎn)擊是

pYYBAGNyBGqAcWt-AACSmU93eSM139.png

第 2 步。代碼向?qū)⒋蜷_。單擊第一個(gè)選項(xiàng),即 AT90,然后單擊確定。

pYYBAGNyBG2AUV1KAAC8vZSNJSE470.png

第 3 步。選擇您的微控制器芯片,在這里我們將采用如圖所示的Atmega8。

pYYBAGNyBG-ADsZWAACn3AGlTK4879.png

第 4 步。單擊端口。在我們的項(xiàng)目中,我們將使用端口 C4 和 C5 進(jìn)行 LED 接口。因此,通過(guò)單擊將位 4 和位 5 作為輸出。如下圖所示:

poYBAGNyBHGAKOx_AACFCRIjX-w266.png

第5步。我們將使用 USART 用于 Rx 和 Tx。因此,單擊USART選項(xiàng),然后單擊接收器選項(xiàng),然后保持原樣。

pYYBAGNyBHOARbGAAACVH-OHr-A161.png

第 6 步。單擊程序 - >生成,保存并退出?,F(xiàn)在,我們一半以上的工作已經(jīng)完成

poYBAGNyBHSAaCboAACKBkwvfRU388.png

步驟 7.在桌面上創(chuàng)建一個(gè)新文件夾,以便我們的文件保留在文件夾中,否則我們將分散在整個(gè)桌面窗口中。根據(jù)需要命名您的文件夾,我建議使用相同的名稱來(lái)保存程序文件。

我們將有一個(gè)接一個(gè)的對(duì)話框來(lái)保存文件。

pYYBAGNyBHaAEpLvAACOz4VNrzg767.png

對(duì)保存第一個(gè)對(duì)話框后將出現(xiàn)的其他兩個(gè)對(duì)話框執(zhí)行相同的操作。

現(xiàn)在,您的工作區(qū)如下所示。

poYBAGNyBHiAGLjLAADie_Din-E018.png

我們的大部分工作都是在向?qū)У膸椭峦瓿傻摹,F(xiàn)在, 我們只需要編寫幾行代碼來(lái)連接藍(lán)牙模塊并控制 LED.

電路圖:

下面給出了藍(lán)牙HC-05與AVR接口的電路圖。

poYBAGNyBHqADV1FAADirOPcUSo360.png

將FRC電纜的一端連接到USBASP編程器,另一端將連接到微控制器的SPI引腳,如下所述:

poYBAGNyBHyAEfxQAABxP4nGW2o451.png

FRC 母連接器引腳 1 -> 引腳 17,Atmega8 的 MOSI

引腳 2 連接到 atmega8 的 Vcc,即引腳 7

引腳 5 連接到 atmega8 的復(fù)位,即引腳 1

引腳 7 連接到 atmega8 的 SCK,即引腳 19

引腳 9 連接到 atmega8 的 MISO,即引腳 18

引腳 8 連接到 atmega8 的 GND,即引腳 8

按照電路圖連接試驗(yàn)板上的其余組件。

代碼和說(shuō)明:

文章末尾給出了帶有演示視頻的完整 AVR 代碼。

在這里,我們?cè)趘oid main函數(shù)中聲明了一個(gè)變量,用于存儲(chǔ)來(lái)自藍(lán)牙模塊的傳入字符。

#include

// Declare your global variables here

// Standard Input/Output functions

#include

void main(void)

{

char var; // Declare your local variables here

其余代碼很簡(jiǎn)單,很容易理解?,F(xiàn)在,進(jìn)入代碼的最后一行,您將在其中找到一個(gè)while循環(huán)。我們的主代碼將在此循環(huán)中。在這里,我們不斷檢查來(lái)自藍(lán)牙模塊的傳入字符并相應(yīng)地打開或關(guān)閉 LED.

while (1)

{

scanf("%c",&var); //this function is to used to check any character coming from our android app .

if (var == 'a') // We will send ‘a(chǎn)’ from Bluetooth Terminal to ON the LED and ‘b’ to OFF the LED

{

PORTC.5 = 1;

PORTC.4 = 0;

}

if (var == 'b')

{

PORTC.5 = 0;

PORTC.4 = 0;

}

}

我們的代碼完成了?,F(xiàn)在,我們必須構(gòu)建我們的項(xiàng)目。單擊“構(gòu)建項(xiàng)目”圖標(biāo),如下所示。

poYBAGNyBICAdtqiAADjog1mleI660.png

生成項(xiàng)目后,將在調(diào)試> Exe 文件夾中生成一個(gè)十六進(jìn)制文件,該文件可以在您之前為保存項(xiàng)目而創(chuàng)建的文件夾中找到。我們將使用此十六進(jìn)制文件通過(guò)Sinaprog軟件上傳到atmega8中。

使用 Sinaprog 將代碼上傳到 Atmega 8:

我們將使用Sinaprog上傳上面生成的十六進(jìn)制文件,因此打開它并從設(shè)備下拉菜單中選擇 Atmega8。從調(diào)試> Exe 文件夾中選擇十六進(jìn)制文件,如下所示。

poYBAGNyBIKAV6CKAABgEvRne9E688.png

現(xiàn)在,單擊程序。

poYBAGNyBIOATGzdAAD6CIV689g399.jpg

pYYBAGNyBIeAPD5rAADEuhyOcGQ714.jpg

您的微控制器已編程?,F(xiàn)在,我們需要一個(gè)Android應(yīng)用程序來(lái)連接我們的模塊。我們將使用“藍(lán)牙終端應(yīng)用程序”來(lái)控制LED燈。

安卓應(yīng)用程序,用于使用 AVR 控制 LED:

我們將使用智能手機(jī)中的“藍(lán)牙終端應(yīng)用程序”與另一端的HC-05通話以控制LED燈。

您可以通過(guò)將電路插入PC來(lái)使用相同的usbap為電路供電,也可以將外部5V(不超過(guò)5!!!!!)施加到Atmega8 Vcc引腳。

安裝后.打開應(yīng)用程序并將其與藍(lán)牙模塊連接(HC-05,默認(rèn)密碼為1234)。

poYBAGNyBIiAZ6KCAABK3KNEsAc397.jpg

現(xiàn)在,發(fā)送“a”,看到 LED 會(huì)發(fā)光。發(fā)送“b”,指示燈將熄滅。

pYYBAGNyBIuADhEuAABxLMiZFmE914.jpg

因此,現(xiàn)在通過(guò)發(fā)送字符“a”和“b”,您可以使用智能手機(jī)無(wú)線控制 LED。如果您將語(yǔ)音鍵盤與藍(lán)牙應(yīng)用程序一起使用,那么您甚至不需要輸入字符“a”和“b”,您只需說(shuō)出它們,就可以使用語(yǔ)音控制 LED。

#include


#include


void main(void)


{


char var;


// Declare your local variables here


// Input/Output Ports initialization


// Port A initialization


// Function: Bit7=In Bit6=In Bit5=In Bit4=In Bit3=In Bit2=In Bit1=In Bit0=In


DDRA=(0<

// State: Bit7=T Bit6=T Bit5=T Bit4=T Bit3=T Bit2=T Bit1=T Bit0=T


PORTA=(0<




// Port B initialization


// Function: Bit7=In Bit6=In Bit5=In Bit4=In Bit3=In Bit2=In Bit1=In Bit0=In


DDRB=(0<

// State: Bit7=T Bit6=T Bit5=T Bit4=T Bit3=T Bit2=T Bit1=T Bit0=T


PORTB=(0<




// Port C initialization


// Function: Bit7=In Bit6=In Bit5=Out Bit4=Out Bit3=In Bit2=In Bit1=In Bit0=In


DDRC=(0<

// State: Bit7=T Bit6=T Bit5=0 Bit4=0 Bit3=T Bit2=T Bit1=T Bit0=T


PORTC=(0<




// Port D initialization


// Function: Bit7=In Bit6=In Bit5=In Bit4=In Bit3=In Bit2=In Bit1=In Bit0=In


DDRD=(0<

// State: Bit7=T Bit6=T Bit5=T Bit4=T Bit3=T Bit2=T Bit1=T Bit0=T


PORTD=(0<




// Timer/Counter 0 initialization


// Clock source: System Clock


// Clock value: Timer 0 Stopped


// Mode: Normal top=0xFF


// OC0 output: Disconnected


TCCR0=(0<

TCNT0=0x00;


OCR0=0x00;





// Timer/Counter 1 initialization


// Clock source: System Clock


// Clock value: Timer1 Stopped


// Mode: Normal top=0xFFFF


// OC1A output: Disconnected


// OC1B output: Disconnected


// Noise Canceler: Off


// Input Capture on Falling Edge


// Timer1 Overflow Interrupt: Off


// Input Capture Interrupt: Off


// Compare A Match Interrupt: Off


// Compare B Match Interrupt: Off


TCCR1A=(0<

TCCR1B=(0<

TCNT1H=0x00;


TCNT1L=0x00;


ICR1H=0x00;


ICR1L=0x00;


OCR1AH=0x00;


OCR1AL=0x00;


OCR1BH=0x00;


OCR1BL=0x00;





// Timer/Counter 2 initialization


// Clock source: System Clock


// Clock value: Timer2 Stopped


// Mode: Normal top=0xFF


// OC2 output: Disconnected


ASSR=0<

TCNT2=0x00;


OCR2=0x00;





// Timer(s)/Counter(s) Interrupt(s) initialization


TIMSK=(0<




// External Interrupt(s) initialization


// INT0: Off


// INT1: Off


// INT2: Off


MCUCR=(0<

MCUCSR=(0<

UCSRB=(0<

UCSRC=(1<

UBRRH=0x00;


UBRRL=0x33;





// Analog Comparator initialization


// Analog Comparator: Off


// The Analog Comparator's positive input is


// connected to the AIN0 pin


// The Analog Comparator's negative input is


// connected to the AIN1 pin


ACSR=(1<

SFIOR=(0<




// SPI initialization


// SPI disabled


SPCR=(0<




// TWI initialization


// TWI disabled


TWCR=(0<




while (1)


{


scanf("%c",&var);


if (var == 'a')


{


PORTC.5 = 1;


PORTC.4 = 0;


}


if (var == 'b')


{


PORTC.5 = 0;


PORTC.4 = 0;


}





}


}

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

    關(guān)注

    48

    文章

    8181

    瀏覽量

    159886
  • ATmega8
    +關(guān)注

    關(guān)注

    4

    文章

    106

    瀏覽量

    50851
  • 藍(lán)牙模塊
    +關(guān)注

    關(guān)注

    30

    文章

    622

    瀏覽量

    57301
  • HC-05
    +關(guān)注

    關(guān)注

    0

    文章

    34

    瀏覽量

    17286
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    如何將數(shù)組的的字符重新連接起來(lái)保存?

    TEMP[2]依次存入,直到4存入TEMP[7], 問(wèn)題是:如何將數(shù)組的的字符重新連接起來(lái)保存?如何定義新的變量str?使str=\"ABCD1234\"?
    發(fā)表于 04-16 07:39

    如何將PLC通信口與無(wú)線數(shù)據(jù)終端連接起來(lái)??

    `如何將PLC通信口與無(wú)線數(shù)據(jù)終端連接起來(lái),實(shí)現(xiàn)PLC與PLC之間,PLC與HMI觸摸屏間,PLC與PC組態(tài)軟件以及PLC與設(shè)備之間的無(wú)線數(shù)據(jù)交換!關(guān)注微信公眾號(hào)【PLC無(wú)線通訊】解決您的一切煩惱!`
    發(fā)表于 09-28 09:49

    如何把數(shù)據(jù)庫(kù)和其他程序連接起來(lái)?

    各位大神,我現(xiàn)在遇到一個(gè)問(wèn)題。我想把已經(jīng)采集好的數(shù)據(jù)和數(shù)據(jù)庫(kù)的進(jìn)行對(duì)比,然后檢索出相應(yīng)的文字出來(lái)。我已經(jīng)把采集的數(shù)據(jù)編成代碼了,數(shù)據(jù)庫(kù)相應(yīng)的文字也用代碼來(lái)進(jìn)行代替。但是現(xiàn)在我不是很清楚如何將他們連接起來(lái)。兩個(gè)小程序分別運(yùn)行沒(méi)有問(wèn)題,但是
    發(fā)表于 04-13 11:16

    如何將IC的SCL和SDA引腳與FPGA板連接起來(lái)?

    Aoa ..我想將我的FPGA板(virtex6 ML605)與外部時(shí)鐘IC(ds1307)連接起來(lái)。請(qǐng)指導(dǎo)我如何將IC的SCL和SDA引腳與FPGA板連接。謝謝
    發(fā)表于 04-29 08:13

    怎么才能使Atmel Studio 7.0伺服電機(jī)與Atmega16 AVR控制連接起來(lái)?

    怎么才能使Atmel Studio 7.0伺服電機(jī)與Atmega16 AVR控制連接起來(lái)
    發(fā)表于 09-29 08:37

    如何將藍(lán)牙與STM32連接起來(lái)

    藍(lán)牙模塊有何功能?如何將藍(lán)牙與STM32連接起來(lái)呢?
    發(fā)表于 11-18 07:02

    如何將Eink顯示器與esp32連接起來(lái)?

    一般來(lái)說(shuō),我是嵌入式系統(tǒng)和 ESP-IDF 的新手。我正在嘗試 Eink 顯示器與 esp32 連接起來(lái),但我對(duì)如何為其編寫代碼有點(diǎn)迷茫。有沒(méi)有我可以參考的指南或教程?
    發(fā)表于 03-01 06:36

    如何將hwirq與中斷連接起來(lái)?

    的 MSIR7 寄存器設(shè)置中斷 0 位。那么,當(dāng)那個(gè)中斷到達(dá)時(shí),我該如何調(diào)用我的 interrupt_handler 函數(shù)呢?我想我應(yīng)該使用 irq_create_mapping 和 request_irq Linux 函數(shù),但我不知道如何將 hwirq 與我的中斷鏈接起來(lái)
    發(fā)表于 03-14 08:20

    如何將EMMC SanDisk iNAND? 7250與LPC 1850連接起來(lái)?

    我們正在嘗試 EMMC SanDisk iNAND? 7250 與 LPC 1850 連接起來(lái)。EMMC 使用 MMC 5.1,但 1850 提到 4.4 作為標(biāo)準(zhǔn)。經(jīng)過(guò)研究,發(fā)現(xiàn)4.4是向下兼容
    發(fā)表于 04-27 06:33

    CS1238的AINN1和AINN2連接起來(lái)用嗎?

    CS1238的AINN1和AINN2連接起來(lái)用嗎? 需要測(cè)如此信號(hào),打算把兩個(gè)差分對(duì)的負(fù)引腳連接起來(lái)用,這個(gè)用法行不行?
    發(fā)表于 08-24 17:51

    HC-05和MSP430連接起來(lái)控制LED的方式

     今天我們學(xué)習(xí)如何將藍(lán)牙模塊 HC-05 與德州儀器 (TI) 的 MSP430 Launchpad 連接起來(lái)。在這個(gè)接口示例中,我們將使用藍(lán)牙終端安卓應(yīng)用程序從智能手機(jī)
    發(fā)表于 08-29 17:30 ?2067次閱讀
    <b class='flag-5'>將</b><b class='flag-5'>HC-05</b>和MSP430<b class='flag-5'>連接起來(lái)</b><b class='flag-5'>控制</b><b class='flag-5'>LED</b>的方式

    步進(jìn)電機(jī)與Atmega16連接起來(lái)的方法

    在本教程中,我們將使用 Atmel Studio 7.0 28BYJ-48步進(jìn)電機(jī)與 Atmega16 AVR控制連接起來(lái)。步進(jìn)電機(jī)
    發(fā)表于 09-09 14:40 ?1730次閱讀
    <b class='flag-5'>將</b>步進(jìn)電機(jī)與<b class='flag-5'>Atmega</b>16<b class='flag-5'>連接起來(lái)</b>的方法

    微型伺服電機(jī)與Atmega16連接起來(lái)的方法

    在本教程中,我們將使用 Atmel Studio 7.0微型伺服電機(jī)與 Atmega16 AVR控制連接起來(lái)。伺服電機(jī)額定工作電壓為
    發(fā)表于 09-09 15:00 ?2052次閱讀
    <b class='flag-5'>將</b>微型伺服電機(jī)與<b class='flag-5'>Atmega</b>16<b class='flag-5'>連接起來(lái)</b>的方法

    TLC32040系列與TMS320系列連接起來(lái)

    電子發(fā)燒友網(wǎng)站提供《TLC32040系列與TMS320系列連接起來(lái).pdf》資料免費(fèi)下載
    發(fā)表于 10-08 14:15 ?0次下載
    <b class='flag-5'>將</b>TLC32040系列與TMS320系列<b class='flag-5'>連接起來(lái)</b>

    I2S器件與MSP430器件連接起來(lái)

    電子發(fā)燒友網(wǎng)站提供《I2S器件與MSP430器件連接起來(lái).pdf》資料免費(fèi)下載
    發(fā)表于 10-18 09:31 ?0次下載
    <b class='flag-5'>將</b>I2S器件與MSP430器件<b class='flag-5'>連接起來(lái)</b>