نمایش نتایج: از 1 به 10 از 23
Like Tree15 لایک

موضوع: رادیو fm با ماژول tea5767 همراه با نمایشگر

Hybrid View

  1. #1
    Senior Member
    تاریخ عضویت
    Oct 2014
    محل سکونت
    ایران
    نوشته ها
    178
    سلام. اینم رادیو اختصای منبرای دیدن سایز بزرگ روی عکس کلیک کنید

نام: DSC_0074.jpg
مشاهده: 229
حجم: 91.7 کیلو بایت
    لایک کردن
    درود بر کسانی که دعا دارند و ادعا ندارند
    نیایش دارند و نمایش ندارند
    حیا دارند و ریا ندارند
    رسم دارند و اسم ندارند…

  2. #2
    مدیر گروه
    تاریخ عضویت
    Nov 2013
    محل سکونت
    ایران
    نوشته ها
    4,064
    نقل قول نوشته اصلی توسط tanha71 نمایش پست ها
    سلام. اینم رادیو اختصای منبرای دیدن سایز بزرگ روی عکس کلیک کنید

نام: DSC_0074.jpg
مشاهده: 229
حجم: 91.7 کیلو بایت
    آموزش ساختش رو نمیزارید دوست عزیز
    لایک کردن

  3. #3
    Senior Member
    تاریخ عضویت
    Oct 2014
    محل سکونت
    ایران
    نوشته ها
    178
    نقل قول نوشته اصلی توسط magmagmary نمایش پست ها
    آموزش ساختش رو نمیزارید دوست عزیز
    بچه ها این گیرنده رادیو هست با lcd رنگی موجود در فروشگاه که مقدار صدا را هم میشه کم و زیاد کرد و روی نمایشگر مشاهده کرد. راحته . اینم بگم این برنامه را من اختصاصی برای یک کاری درست کردم و تعداد کانال های دریافتی را کم و در موج های فری تنظیم کردم . این برنامه ساده شده دستگاه زیر هست

    اینم برنامه :
    #include <SPI.h>
    #include <Wire.h>
    #include "TFT_22_ILI9225.h"
    #define TFT_RST 8
    #define TFT_RS 9
    #define TFT_CS 10 // SS
    #define TFT_SDI 11 // MOSI
    #define TFT_CLK 13 // SCK
    #define TFT_LED 3 // 0 if wired to +5V directly
    TFT_22_ILI9225 tft = TFT_22_ILI9225(TFT_RST, TFT_RS, TFT_CS, TFT_LED);
    int ch, sensorValue,CH1;
    #define TEA5767_mute_left_right 0x06
    #define TEA5767_MUTE_FULL 0x80
    #define TEA5767_ADC_LEVEL_MASK 0xF0
    #define TEA5767_STEREO_MASK 0x80
    int old_frequency=-1;
    int frequency=8770;
    byte old_stereo=0;
    int ch_old = 1;
    int VOL = 1;
    byte stereo=1;
    byte old_mute=1;
    byte mute=0;
    byte old_signal_level=1;
    byte signal_level=0;


    unsigned long last_pressed;

    void setup()
    {
    Wire.begin();
    TEA5767_set_frequency();
    pinMode(A0, OUTPUT);
    digitalWrite(A0, 1);
    tft.begin();
    tft.clear();
    tft.drawRectangle(0, 0, tft.maxX() - 1, tft.maxY() - 1, COLOR_MAGENTA);
    tft.drawRectangle(2, 2, tft.maxX() - 3, tft.maxY() - 3, COLOR_MAGENTA);
    tft.setOrientation(3);
    tft.setFont(Terminal12x16);
    tft.drawText(35, 70, "Blue", COLOR_BLUE);
    tft.setFont(Terminal12x16);
    tft.drawText(90, 70, "Sky ", COLOR_YELLOW);
    tft.setFont(Terminal12x16);
    tft.drawText(130, 70, "2016", COLOR_RED);
    tft.setFont(Terminal6x8);
    tft.drawText(70, 90, "FM Receiver", COLOR_GREEN);
    tft.setFont(Terminal6x8);
    digitalWrite(A0, HIGH);
    delay(2000);
    tft.clear();
    tft.drawRectangle(0, 0, tft.maxX() - 1, tft.maxY() - 1, COLOR_YELLOW);
    tft.drawRectangle(2, 2, tft.maxX() - 4, tft.maxY() - 3, COLOR_YELLOW);
    tft.fillRectangle(4, 30, 217, 30, COLOR_YELLOW);
    tft.setFont(Terminal6x8);
    tft.drawText(80, 8, "SETTING", COLOR_WHITE);
    tft.drawText(10, 160, "AUX1 MIC USB AUX2 LIN", COLOR_WHITE);
    tft.setBackgroundColor(COLOR_BLACK);
    tft.setFont(Terminal12x16);
    tft.fillRectangle(4, 150, 217, 150, COLOR_YELLOW);

    }



    void loop() {
    TEA5767_read_data();
    tft.setFont(Terminal12x16);
    int sensorValue = analogRead(A2);
    ch = sensorValue/50; // 16-Kanalversion (0-15)
    if (ch != ch_old)
    {
    if (ch == 0) { frequency=8770; tft.drawText(50, 80, "Channel: 1 ", COLOR_YELLOW);tft.setFont(Terminal6x8); tft.drawText(7, 17, "FRQ:87.7 ", COLOR_YELLOW); TEA5767_set_frequency(); }
    else if (ch == 2) { frequency=8790; tft.drawText(50, 80, "Channel: 2 ", COLOR_YELLOW);tft.setFont(Terminal6x8); tft.drawText(7, 17, "FRQ:87.9 " ,COLOR_YELLOW); TEA5767_set_frequency(); }
    else if (ch == 3) { frequency=8810; tft.drawText(50, 80, "Channel: 3 ", COLOR_YELLOW);tft.setFont(Terminal6x8); tft.drawText(7, 17, "FRQ:88.1 ", COLOR_YELLOW); TEA5767_set_frequency(); }
    else if (ch == 4) { frequency=8830; tft.drawText(50, 80, "Channel: 4 ", COLOR_YELLOW);tft.setFont(Terminal6x8); tft.drawText(7, 17, "FRQ:88.3 ", COLOR_YELLOW); TEA5767_set_frequency(); }
    else if (ch == 5) { frequency=8850; tft.drawText(50, 80, "Channel: 5 ", COLOR_YELLOW);tft.setFont(Terminal6x8); tft.drawText(7, 17, "FRQ:88.5 ", COLOR_YELLOW);TEA5767_set_frequency(); }
    else if (ch == 6) { frequency=8870; tft.drawText(50, 80, "Channel: 6 ", COLOR_YELLOW);tft.setFont(Terminal6x8); tft.drawText(7, 17, "FRQ:88.7 ", COLOR_YELLOW); TEA5767_set_frequency(); }
    else if (ch == 7) { frequency=8890; tft.drawText(50, 80, "Channel: 7 ", COLOR_YELLOW);tft.setFont(Terminal6x8); tft.drawText(7, 17, "FRQ:88.9 ", COLOR_YELLOW); TEA5767_set_frequency(); }
    else if (ch == 8) { frequency=10670; tft.drawText(50, 80, "Channel: 8 ", COLOR_YELLOW);tft.setFont(Terminal6x8); tft.drawText(7, 17, "FRQ:106.7 ", COLOR_YELLOW); TEA5767_set_frequency(); }
    else if (ch == 9) { frequency=10690; tft.drawText(50, 80, "Channel: 9 ", COLOR_YELLOW);tft.setFont(Terminal6x8); tft.drawText(7, 17, "FRQ:106.9 ", COLOR_YELLOW); TEA5767_set_frequency(); }
    else if (ch == 10) { frequency=10710; tft.drawText(50, 80, "Channel: 10 ", COLOR_YELLOW);tft.setFont(Terminal6x8); tft.drawText(7, 17, "FRQ:107.1 ", COLOR_YELLOW); TEA5767_set_frequency(); }
    else if (ch == 11) { frequency=10730; tft.drawText(50, 80, "Channel: 11 ", COLOR_YELLOW);tft.setFont(Terminal6x8); tft.drawText(7, 17, "FRQ:107.3 ", COLOR_YELLOW); TEA5767_set_frequency(); }
    else if (ch == 12) { frequency=10750; tft.drawText(50, 80, "Channel: 12 ", COLOR_YELLOW);tft.setFont(Terminal6x8); tft.drawText(7, 17, "FRQ:107.5 ", COLOR_YELLOW); TEA5767_set_frequency(); }
    else if (ch == 13) { frequency=10770; tft.drawText(50, 80, "Channel: 13 ", COLOR_YELLOW);tft.setFont(Terminal6x8); tft.drawText(7, 17, "FRQ:107.7 ", COLOR_YELLOW); TEA5767_set_frequency(); }
    else if (ch == 14) { frequency=10790; tft.drawText(50, 80, "Channel: 14 ", COLOR_YELLOW);tft.setFont(Terminal6x8); tft.drawText(7, 17, "FRQ:107.9 ", COLOR_YELLOW); TEA5767_set_frequency(); }
    }

    int sensorValue1 = analogRead(A3);
    CH1 = sensorValue1/55; // 16-Kanalversion (0-15)
    if (CH1 != VOL)
    {
    if (CH1 == 0) { tft.setFont(Terminal6x8); tft.drawText(160, 17, "VOL:10 ", COLOR_YELLOW); }
    else if (CH1 == 1) { tft.setFont(Terminal6x8); tft.drawText(160, 17, "VOL:20 " ,COLOR_YELLOW); }
    else if (CH1 == 3) { tft.setFont(Terminal6x8); tft.drawText(160, 17, "VOL:30 ", COLOR_YELLOW); }
    else if (CH1 == 4) { tft.setFont(Terminal6x8); tft.drawText(160, 17, "VOL:40 ", COLOR_YELLOW); }
    else if (CH1 == 5) { tft.setFont(Terminal6x8); tft.drawText(160, 17, "VOL:50 ", COLOR_YELLOW); }
    else if (CH1 == 6) { tft.setFont(Terminal6x8); tft.drawText(160, 17, "VOL:60 ", COLOR_YELLOW); }
    else if (CH1 == 7) { tft.setFont(Terminal6x8); tft.drawText(160, 17, "VOL:70 ", COLOR_YELLOW); }
    else if (CH1 == 8) { tft.setFont(Terminal6x8); tft.drawText(160, 17, "VOL:80 ", COLOR_YELLOW); }
    else if (CH1 == 9) { tft.setFont(Terminal6x8); tft.drawText(160, 17, "VOL:90 ", COLOR_YELLOW); }
    else if (CH1 == 10) { tft.setFont(Terminal6x8); tft.drawText(160, 17, "VOL:100 ",COLOR_YELLOW); }

    }


    }

    unsigned char frequencyH = 0;
    unsigned char frequencyL = 0;

    unsigned int frequencyB;

    unsigned char TEA5767_buffer[5]={0x00,0x00,0xB0,0x10,0x00};

    void TEA5767_write_data(byte data_size){


    Wire.beginTransmission(0x60);

    for(byte i=0;i<data_size;i++)
    Wire.write(TEA5767_buffer[i]);

    Wire.endTransmission();
    }

    void TEA5767_mute(){

    if(!mute){
    mute = 1;
    TEA5767_buffer[0] |= TEA5767_MUTE_FULL;
    TEA5767_write_data(2);
    // TEA5767_buffer[0] &= ~TEA5767_mute;
    // TEA5767_buffer[2] |= TEA5767_mute_left_right;
    }
    else{
    mute = 0;
    TEA5767_buffer[0] &= ~TEA5767_MUTE_FULL;
    TEA5767_write_data(2);
    // TEA5767_buffer[0] |= TEA5767_mute;
    // TEA5767_buffer[2] &= ~TEA5767_mute_left_right;
    }

    // TEA5767_write_data(3);
    }

    void TEA5767_set_frequency()
    {
    frequencyB = 4 * (frequency * 10000 + 225000) / 32768;
    TEA5767_buffer[0] = frequencyB >> 8;
    if(mute)TEA5767_buffer[0] |= TEA5767_MUTE_FULL;
    TEA5767_buffer[1] = frequencyB & 0XFF;

    TEA5767_write_data(5);
    }

    int TEA5767_read_data() {

    unsigned char buf[5];
    memset (buf, 0, 5);

    Wire.requestFrom (0x60, 5);

    if (Wire.available ()) {
    for (int i = 0; i < 5; i++) {
    buf[i] = Wire.read ();
    }

    stereo = (buf[2] & TEA5767_STEREO_MASK)?1:0;
    signal_level = ((buf[3] & TEA5767_ADC_LEVEL_MASK) >> 4);

    return 1;
    }
    else return 0;
    }
    درود بر کسانی که دعا دارند و ادعا ندارند
    نیایش دارند و نمایش ندارند
    حیا دارند و ریا ندارند
    رسم دارند و اسم ندارند…

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •  

SEO by vBSEO