色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

3天內不再提示

基于瑞薩MCU的智能環境檢測小車設計

瑞薩MCU小百科 ? 來源:瑞薩MCU小百科 ? 2023-11-13 14:40 ? 次閱讀

1.項目設計簡介

本項目用瑞薩mcu作為主控,兩個編碼電機作為動力裝置,一個萬向輪提高車子的機動性、搭載藍牙模塊、DHT11模塊、火焰傳感器模塊、WiFi模塊,實現的功能如下:

①在手機上APP界面按下相應的指令能夠控制小車的運動和獲取當前環境的溫濕度

②火焰靠近火焰傳感器模塊,蜂鳴器會報警

③是否有火源的信息,可根據火焰傳感器的檢測,在0.96寸OLED屏幕上實時顯示上傳的信息

視頻演示

小車整體實物圖

44c074fc-81ef-11ee-939d-92fbcf53809c.png

2.所用到的模塊

2.1火焰傳感器模塊

44f17048-81ef-11ee-939d-92fbcf53809c.png

1、可以檢測火焰或者波長在760納米~1100納米范圍內的光源,打火機測試火焰距離為80cm,對火焰越大,測試距離越遠
2、探測角度60度左右,對火焰光譜特別靈敏
3、靈敏度可調(圖中藍色數字電位器調節)
4、比較器輸出,信號干凈,波形好,驅動能力強,超過15mA
5、配可調精密電位器調節靈敏度
6、工作電壓3.3V-5V
DO引腳輸出數字信號

2.20.96寸oled屏幕

451e138c-81ef-11ee-939d-92fbcf53809c.png ?

0.96 寸oled屏幕,利用iic通信總線,可以很好的傳輸和顯示數據

2.3DHT11模塊

45517998-81ef-11ee-939d-92fbcf53809c.png

該模塊使用奧松DHT11數字溫濕度傳感器,DHT11是一款含有已校準數字信號輸出的溫濕度復合傳感器。它應用專用的數字模塊采集技術和溫濕度傳感技術,確保產品具有可靠的穩定性,響應快,抗干擾能力強。傳感器包括一個高分子電阻式感濕元件和一個NTC測溫元件,并與一個高性能8位單片機相連接,通過單總線與微處理器通訊,只需要一根線。

2.4藍牙模塊

利用串口就能發送想要的數據。

4574b55c-81ef-11ee-939d-92fbcf53809c.png

2.5手機端控制界面

按下相應的指令能夠控制小車的運動和獲取當前環境的溫濕度

45af99c4-81ef-11ee-939d-92fbcf53809c.png

2.6 電機驅動模塊

采用的整體化設計,便于接線。 45d0baaa-81ef-11ee-939d-92fbcf53809c.png

3.程序設計

3.1 oled屏幕采用硬件iic 45f1f454-81ef-11ee-939d-92fbcf53809c.png460854a6-81ef-11ee-939d-92fbcf53809c.png

左右滑動查看更多

//==================================================================================================
//  實現功能: 0.96寸OLED 接口演示例程
//  說明:
//              GND   電源地
//              VCC   接5V或3.3v電源
//              SCL   接P505(SCL6)
//              SDA   接P506(SDA6)
//==================================================================================================------------------------------------------------------------------------
//  |   -   |   -   |   0   |   1   |   2   |   3   |   4   |   5   |   6   |   7   |   8   |   9
//==================================================================================================
//==================================================================================================
#include "oled.h"
#include "stdlib.h"
#include "oledfont.h"
#include "math.h"
#include "hal_data.h"




extern fsp_err_t err;
extern int  timeout_ms;
extern  i2c_master_event_t i2c_event ;
//OLED的顯存
//存放格式如下.
//[0]0 1 2 3 ... 127
//[1]0 1 2 3 ... 127
//[2]0 1 2 3 ... 127
//[3]0 1 2 3 ... 127
//[4]0 1 2 3 ... 127
//[5]0 1 2 3 ... 127
//[6]0 1 2 3 ... 127
//[7]0 1 2 3 ... 127


//==================================================================================================
//  函數功能: IIC外設驅動函數部分
//  函數標記: Write_IIC_Command
//  函數說明: 無
//-------------------------------------------------------------------------------------------------
//  |   -   |   -   |   0   |   1   |   2   |   3   |   4   |   5   |   6   |   7   |   8   |   9
//==================================================================================================
void Write_IIC_Command(unsigned char IIC_Command)
{


    uint8_t ii[2]={0x00,0x00};
    ii[1] = IIC_Command;


    err = R_SCI_I2C_Write(&g_sci6_i2c_ctrl, ii, 0x02, true);
    assert(FSP_SUCCESS == err);
    /* Since there is nothing else to do, block until Callback triggers*/
    //while ((I2C_MASTER_EVENT_TX_COMPLETE != i2c_event) && timeout_ms)
    while ((I2C_MASTER_EVENT_TX_COMPLETE != i2c_event) && timeout_ms>0)
    {
        R_BSP_SoftwareDelay(100U, BSP_DELAY_UNITS_MICROSECONDS);
        timeout_ms--;
    }
    if (I2C_MASTER_EVENT_ABORTED == i2c_event)
    {
        __BKPT(0);
    }
    /* Read data back from the I2C slave */
    i2c_event = I2C_MASTER_EVENT_ABORTED;
    timeout_ms           = 100000;
}


//==================================================================================================
//  函數功能: IIC外設驅動函數部分
//  函數標記: Write_IIC_Data
//  函數說明: 無
//-------------------------------------------------------------------------------------------------
//  |   -   |   -   |   0   |   1   |   2   |   3   |   4   |   5   |   6   |   7   |   8   |   9
//==================================================================================================
void Write_IIC_Data(unsigned char IIC_Data)
{
    uint8_t ii[2]={0x40,0x00};
    ii[0] = 0x40;
    ii[1] = IIC_Data;
    err = R_SCI_I2C_Write(&g_sci6_i2c_ctrl, ii, 0x02, true);
           assert(FSP_SUCCESS == err);
           /* Since there is nothing else to do, block until Callback triggers*/
           //while ((I2C_MASTER_EVENT_TX_COMPLETE != i2c_event) && timeout_ms)
    while ((I2C_MASTER_EVENT_TX_COMPLETE != i2c_event) && timeout_ms>0)
    {
        R_BSP_SoftwareDelay(100U, BSP_DELAY_UNITS_MICROSECONDS);
        timeout_ms--;
    }
    if (I2C_MASTER_EVENT_ABORTED == i2c_event)
    {
        __BKPT(0);
    }
    /* Read data back from the I2C slave */
    i2c_event = I2C_MASTER_EVENT_ABORTED;
    timeout_ms           = 100000;


}
//==================================================================================================
//  函數功能: IIC外設驅動函數部分
//  函數標記: Write_IIC_Data
//  函數說明: 無
//-------------------------------------------------------------------------------------------------
//  |   -   |   -   |   0   |   1   |   2   |   3   |   4   |   5   |   6   |   7   |   8   |   9
//==================================================================================================
void OLED_WR_Byte(unsigned dat,unsigned cmd)
{
    if(cmd)
    {
        Write_IIC_Data(dat);
    }
    else
    {
        Write_IIC_Command(dat);
    }
}
/********************************************
// fill_Picture
********************************************/
void fill_picture(unsigned char fill_Data)
{
    unsigned char m,n;
    for(m=0;m<8;m++)
    {
        OLED_WR_Byte(0xb0+m,0);     //page0-page1
        OLED_WR_Byte(0x00,0);       //low column start address
        OLED_WR_Byte(0x10,0);       //high column start address
        for(n=0;n<128;n++)
            {
                OLED_WR_Byte(fill_Data,1);
            }
    }
}




/***********************Delay****************************************/
void Delay_50ms(unsigned int Del_50ms)
{
    unsigned int m;
    for(;Del_50ms>0;Del_50ms--)
        for(m=6245;m>0;m--);
}


void Delay_1ms(unsigned int Del_1ms)
{
    unsigned char j;
    while(Del_1ms--)
    {
        for(j=0;j<123;j++);
    }
}


//坐標設置


void OLED_Set_Pos(unsigned char x, unsigned char y)
{   OLED_WR_Byte(0xb0+y,OLED_CMD);
    OLED_WR_Byte(((x&0xf0)>>4)|0x10,OLED_CMD);
    OLED_WR_Byte((x&0x0f),OLED_CMD);
}
//開啟OLED顯示
void OLED_Display_On(void)
{
    OLED_WR_Byte(0X8D,OLED_CMD);  //SET DCDC命令
    OLED_WR_Byte(0X14,OLED_CMD);  //DCDC ON
    OLED_WR_Byte(0XAF,OLED_CMD);  //DISPLAY ON
}
//關閉OLED顯示
void OLED_Display_Off(void)
{
    OLED_WR_Byte(0X8D,OLED_CMD);  //SET DCDC命令
    OLED_WR_Byte(0X10,OLED_CMD);  //DCDC OFF
    OLED_WR_Byte(0XAE,OLED_CMD);  //DISPLAY OFF
}
//清屏函數,清完屏,整個屏幕是黑色的!和沒點亮一樣!!!
void OLED_Clear(void)
{
    u8 i,n;
    for(i=0;i<8;i++)
    {
        OLED_WR_Byte(0xb0+i,OLED_CMD);    //設置頁地址(0~7)
        OLED_WR_Byte(0x00,OLED_CMD);      //設置顯示位置—列低地址
        OLED_WR_Byte(0x10,OLED_CMD);      //設置顯示位置—列高地址
        for(n=0;n<128;n++)OLED_WR_Byte(0,OLED_DATA);
    } //更新顯示
}
void OLED_On(void)
{
    u8 i,n;
    for(i=0;i<8;i++)
    {
        OLED_WR_Byte (0xb0+i,OLED_CMD);    //設置頁地址(0~7)
        OLED_WR_Byte (0x00,OLED_CMD);      //設置顯示位置—列低地址
        OLED_WR_Byte (0x10,OLED_CMD);      //設置顯示位置—列高地址
        for(n=0;n<128;n++)OLED_WR_Byte(1,OLED_DATA);
    } //更新顯示
}
//在指定位置顯示一個字符,包括部分字符
//x:0~127
//y:0~63
//mode:0,反白顯示;1,正常顯示
//size:選擇字體 16/12
void OLED_ShowChar(u8 x,u8 y,u8 chr,u8 Char_Size)
{
    unsigned char c=0,i=0;
        c=chr-' ';//得到偏移后的值
        if(x>Max_Column-1){x=0;y=y+2;}
        if(Char_Size ==16)
            {
                OLED_Set_Pos(x,y);
                for(i=0;i<8;i++)
                    OLED_WR_Byte(F8X16[c*16+i],OLED_DATA);
                    OLED_Set_Pos(x,y+1);
                    for(i=0;i<8;i++)
                        OLED_WR_Byte(F8X16[c*16+i+8],OLED_DATA);
            }
            else {
                OLED_Set_Pos(x,y);
                for(i=0;i<6;i++)
                OLED_WR_Byte(F6x8[c],OLED_DATA);


            }
}
//m^n函數
u32 oled_pow(u8 m,u8 n)
{
    u32 result=1;
    while(n--)result*=m;
    return result;
}
//顯示2個數字
//x,y :起點坐標
//len :數字的位數
//size:字體大小
//mode:模式   0,填充模式;1,疊加模式
//num:數值(0~4294967295);
void OLED_ShowNum(u8 x,u8 y,u32 num,u8 len,u8 size2)
{
    u8 t,temp;
    u8 enshow=0;
    for(t=0;t
    {
        temp=(num/oled_pow(10,len-t-1))%10;
        if(enshow==0&&t<(len-1))
        {
            if(temp==0)
            {
                OLED_ShowChar(x+(size2/2)*t,y,' ',size2);
                continue;
            }else enshow=1;


        }
        OLED_ShowChar(x+(size2/2)*t,y,temp+'0',size2);
    }
}
//顯示一個字符號串
void OLED_ShowString(u8 x,u8 y,u8 *chr,u8 Char_Size)
{
    unsigned char j=0;
    while (chr[j]!='?')
    {       OLED_ShowChar(x,y,chr[j],Char_Size);
            x+=8;
        if(x>120){x=0;y+=2;}
            j++;
    }
}
//顯示漢字
void OLED_ShowCHinese(u8 x,u8 y,u8 no)
{
    u8 t,adder=0;
    OLED_Set_Pos(x,y);
    for(t=0;t<16;t++)
        {
                OLED_WR_Byte(Hzk[2*no][t],OLED_DATA);
                adder+=1;
     }
        OLED_Set_Pos(x,y+1);
    for(t=0;t<16;t++)
            {
                OLED_WR_Byte(Hzk[2*no+1][t],OLED_DATA);
                adder+=1;
      }
}
/***********功能描述:顯示顯示BMP圖片128×64起始點坐標(x,y),x的范圍0~127,y為頁的范圍0~7*****************/
void OLED_DrawBMP(unsigned char x0, unsigned char y0,unsigned char x1, unsigned char y1,unsigned char BMP[])
{
unsigned int j=0;
unsigned char x,y;


  if(y1%8==0) y=y1/8;
  else y=y1/8+1;
    for(y=y0;y
    {
        OLED_Set_Pos(x0,y);
    for(x=x0;x
        {
            OLED_WR_Byte(BMP[j++],OLED_DATA);
        }
    }
}


//初始化SSD1306
void OLED_Init(void)
{


    /* Wait for minimum time required between transfers. */
    R_BSP_SoftwareDelay(800, BSP_DELAY_UNITS_MICROSECONDS);


OLED_WR_Byte(0xAE,OLED_CMD);//--display off
    OLED_WR_Byte(0x00,OLED_CMD);//---set low column address
    OLED_WR_Byte(0x10,OLED_CMD);//---set high column address
    OLED_WR_Byte(0x40,OLED_CMD);//--set start line address
    OLED_WR_Byte(0xB0,OLED_CMD);//--set page address
    OLED_WR_Byte(0x81,OLED_CMD); // contract control
    OLED_WR_Byte(0xFF,OLED_CMD);//--128
    OLED_WR_Byte(0xA1,OLED_CMD);//set segment remap
    OLED_WR_Byte(0xA6,OLED_CMD);//--normal / reverse
    OLED_WR_Byte(0xA8,OLED_CMD);//--set multiplex ratio(1 to 64)
    OLED_WR_Byte(0x3F,OLED_CMD);//--1/32 duty
    OLED_WR_Byte(0xC8,OLED_CMD);//Com scan direction
    OLED_WR_Byte(0xD3,OLED_CMD);//-set display offset
    OLED_WR_Byte(0x00,OLED_CMD);//


    OLED_WR_Byte(0xD5,OLED_CMD);//set osc division
    OLED_WR_Byte(0x80,OLED_CMD);//


    OLED_WR_Byte(0xD8,OLED_CMD);//set area color mode off
    OLED_WR_Byte(0x05,OLED_CMD);//


    OLED_WR_Byte(0xD9,OLED_CMD);//Set Pre-Charge Period
    OLED_WR_Byte(0xF1,OLED_CMD);//


    OLED_WR_Byte(0xDA,OLED_CMD);//set com pin configuartion
    OLED_WR_Byte(0x12,OLED_CMD);//


    OLED_WR_Byte(0xDB,OLED_CMD);//set Vcomh
    OLED_WR_Byte(0x30,OLED_CMD);//


    OLED_WR_Byte(0x8D,OLED_CMD);//set charge pump enable
    OLED_WR_Byte(0x14,OLED_CMD);//


    OLED_WR_Byte(0xAF,OLED_CMD);//--turn on oled panel
}



3.2 電機pwm設置

461a147a-81ef-11ee-939d-92fbcf53809c.png

小車上電初始化時,開發板上的蜂鳴器會響一秒,隨后等待指令的發出,并不斷的采集周圍環境的信息,例如溫度、濕度、是否有火。

左右滑動查看更多

void hal_entry(void)
{
/*TODO:addyourowncodehere*/


    bsp_io_level_t state;


    int dht11_time=0,fire;


    err = R_SCI_I2C_Open(&g_sci6_i2c_ctrl, &g_sci6_i2c_cfg);
                /* Handle any errors. This function should be defined by the user. */
    assert(FSP_SUCCESS == err);
    //err = FSP_SUCCESS;
    //打開串口
    err = R_SCI_UART_Open(&g_uart4_ctrl, &g_uart4_cfg);
    assert(FSP_SUCCESS == err);


    //打開藍牙的串口3
    err = R_SCI_UART_Open(&g_uart3_ctrl, &g_uart3_cfg);
    assert(FSP_SUCCESS == err);


    pwm_init();
    OLED_Init();            //oled初始化
    OLED_Clear();


    R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_06_PIN_05, BSP_IO_LEVEL_HIGH);
    R_BSP_SoftwareDelay(1, BSP_DELAY_UNITS_SECONDS); //延時 1 秒


    u2_printf("ra6m5_ok");


  while(1)
{


        R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_06_PIN_05, BSP_IO_LEVEL_LOW);




        R_IOPORT_PinRead(&g_ioport_ctrl,BSP_IO_PORT_03_PIN_02, &state);


        OLED_ShowCHinese(0,4,12);  //是否有火
        OLED_ShowCHinese(16,4,13);
        OLED_ShowCHinese(32,4,14);
        OLED_ShowCHinese(48,4,15);
OLED_ShowCHinese(64,4,13);


        if(state == BSP_IO_LEVEL_LOW)
        {
            OLED_ShowCHinese(64,4,12);
R_BSP_SoftwareDelay(20,BSP_DELAY_UNITS_MILLISECONDS);//延時20
}


        if(dht11_flag == 1){


            u2_printf("t,h:");
            u2_printf(str_dht11);


            dht11_flag=0;
        }


        if(dht11_time%5 == 0)
        {
            DHT11_Read();
sprintf(str_dht11,"%d,%d",temp_integer,humdity_integer);
OLED_ShowNum(48,2,temp_integer,3,16);
            //OLED_ShowNum(0,4,dht11_time,3,16);


        }
        if(dht11_time >500)
        {
dht11_time=0;
}
}

審核編輯:湯梓紅
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 傳感器
    +關注

    關注

    2550

    文章

    51035

    瀏覽量

    753084
  • mcu
    mcu
    +關注

    關注

    146

    文章

    17123

    瀏覽量

    350995
  • OLED
    +關注

    關注

    119

    文章

    6198

    瀏覽量

    224107
  • 瑞薩
    +關注

    關注

    35

    文章

    22308

    瀏覽量

    86241
  • 藍牙模塊
    +關注

    關注

    30

    文章

    573

    瀏覽量

    55725

原文標題:【瑞薩RA MCU創意氛圍賽作品賞析】項目13——基于瑞薩啟明6M5智能環境檢測小車

文章出處:【微信號:瑞薩MCU小百科,微信公眾號:瑞薩MCU小百科】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    基于RA2E1 MCU芯片的藍牙平衡小車設計

    本項目由RA2E1 MCU芯片作為主控,搭載電源模塊、MPU6050模塊、超聲波模塊、OLED模塊、藍牙模塊、電機模塊等組成的藍牙平衡小車。該
    的頭像 發表于 01-08 12:17 ?1794次閱讀
    基于<b class='flag-5'>瑞</b><b class='flag-5'>薩</b>RA2E1 <b class='flag-5'>MCU</b>芯片的藍牙平衡<b class='flag-5'>小車</b>設計

    針對顯示應用的MCU和方案介紹

    針對人機交互的應用(TFT顯示)推出了多款MCU產品和參考方案。從簡單的串口屏方案到RGB和MIPI接口的TFT顯示方案,基于不同的
    發表于 07-02 18:23 ?773次閱讀
    <b class='flag-5'>瑞</b><b class='flag-5'>薩</b>針對顯示應用的<b class='flag-5'>MCU</b>和方案介紹

    e2studio(1)----芯片之搭建FSP環境

    視頻教學 樣品申請 請勿添加外鏈 e2studio軟件 e2studio是的集成開發環境,FSP 提供了眾多可提高效率的工具,用于開發針對
    發表于 09-30 15:28

    MCU產品技術解析

    “世界份額NO.1的MCU”為核心的業務強化政策。通過與各類事業伙伴共同合作,以提供功能強大的CPU核心和豐富的周邊IP為基礎開發ASSP,并且努力為用戶提供最完善的應用技術服務和軟件開發環境,使得
    發表于 08-08 19:59

    智能車技術報告

    智能車技術報告
    發表于 08-18 13:16

    元器件清單上有MCU是不是意味著必須用的單片...

    元器件清單上有MCU是不是意味著必須用的單片機???還是用的話有加分??
    發表于 08-30 10:55

    MCU型號速查手冊

    `MCU型號速查手冊`
    發表于 10-27 11:11

    【視頻】如何搭建MCU開發環境CubeSuit+

    本帖最后由 于圭 于 2015-1-8 16:54 編輯 本視頻介紹了如何搭建MCU開發環境CubeSuite、如何使用CubeSuite對
    發表于 01-08 16:09

    解決方案匯總帖

    解決方案之LCD直接驅動車載導航系統解決方案解決方案之洗衣機方案
    發表于 01-30 18:27

    有破解MCU的嗎

    有一MCU需要解密,高手請聯系我,謝謝。
    發表于 02-03 10:18

    MCU經典應用】資料&例程

    MCU經典應用】經典資料&例程
    發表于 07-28 08:50

    MCU指紋識別解決方案!

    `隨著智能社會加速實現,智能生物識別及進入系統也在日常工作、生活場景中得到快速普及。雖然指紋識別已經開始普及,指紋芯片市場的競爭也已進入白熱化階段,認為“指紋識別”這一市場仍然有其
    發表于 09-02 13:57

    RISC 32MCU Flash SuperH的相關資料推薦

    推出SH7216系列32-位片上Flash存儲器MCU作者:時間:2009-04-21來源:電子產品世界字號: 小 中 大關鍵詞:
    發表于 01-26 06:01

    怎么讀取mcu的checksum?

    怎么讀取mcu的checksum?
    發表于 02-10 07:03

    基于MCU-R7的智能小車設計

    ? ?基于MCU-R7FA2E1A72DFL的智能小車基礎款設計 一、功能描述 ? 基礎功能包括超聲波避障、搭載IIC接口,采集傳感信息
    的頭像 發表于 07-02 11:24 ?2205次閱讀
    基于<b class='flag-5'>瑞</b><b class='flag-5'>薩</b><b class='flag-5'>MCU</b>-R7的<b class='flag-5'>智能</b><b class='flag-5'>小車</b>設計
    主站蜘蛛池模板: 亚洲AV蜜桃永久无码精品红樱桃| 午夜不卡av免费| 男gv纯肉免费视频| 亚州精品永久观看视频| 动漫女主被扒开双腿羞辱| 男神插曲女生软件完整版| 欧美亚洲另类丝袜自拍动漫| 亚洲成片在线看| a一级一片免费观看视频| 国产精品人妻无码免费A片导航 | 人妻久久久精品99系列AV| 亚洲色欲色欲WWW在线成人网| 国产毛片视频网站| 小萝ar视频网站| 久久久亚洲国产精品主播| 1V1各种PLAY女主被肉| 青青草干免费线观看| 俄罗斯12一15处交| 亚洲精品久久久久久久蜜臀老牛| 久久se精品一区二区国产| AV一区AV久久AV无码| 手机看片国产免费| 老女老肥熟国产在线视频| 最近免费中文MV在线字幕| 色婷婷亚洲精品天天综合影院| 狠狠色色综合网站| 伊人久久大香线蕉avapp下载| 亚洲 欧美 另类 中文 在线| www黄色com| 亚洲91av| 毛片手机在线观看| 国产成人无码免费精品果冻传媒| 老师的脚奴| 国产精品高清在线观看93| 又长又大又粗又硬3p免费视频| 青青草AV国产精品| 久九九精品免费视频| 国产69精品久久久久APP下载| 亚洲在线成色综合网站| 日韩大胆视频| 考试考90就可以晚上和老师C|