Arduino и Proteus - ФОРУМ ДВ Робот dvrobot.ru
Воскресенье, 17.12.2017, 08:17
Главная Мой профиль Регистрация Выход
  • НАШ МАГАЗИН
  • Вы вошли как Гость | Группа "Гости"Приветствую Вас, Гость
    [ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
    Страница 1 из 11
    Модератор форума: GRACH, Serg 
    ФОРУМ ДВ Робот dvrobot.ru » DV ROBOT » Библиотека Проектов » Arduino и Proteus
    Arduino и Proteus
    SergДата: Вторник, 13.11.2012, 19:21 | Сообщение # 1
    Ампер
    Группа: Модераторы
    Сообщений: 510
    Репутация: 28
    Статус: Offline
    Небольшой проект вольтметра(а по совместительству измерителя стоячей волн в фидере) на основе графического дисплея из нашего магазина
    сам код
    Code

    /*
        * To use this sketch, connect the eight pins from your LCD like thus:
        *
        * Pin 1 -> +3.3V (rightmost, when facing the display head-on)
        * Pin 2 -> Arduino digital pin 3
        * Pin 3 -> Arduino digital pin 4
        * Pin 4 -> Arduino digital pin 5
        * Pin 5 -> Arduino digital pin 7
        * Pin 6 -> Ground
        * Pin 7 -> 10uF capacitor -> Ground
        * Pin 8 -> Arduino digital pin 6
        *
        * Since these LCDs are +3.3V devices, you have to add extra components to
        * connect it to the digital pins of the Arduino (not necessary if you are
        * using a 3.3V variant of the Arduino, such as Sparkfun's Arduino Pro).
        */

    #include <PCD8544.h>

    // A custom glyph (a smiley)...
    static const byte glyph[] = { B00010000, B00110100, B00110000, B00110100, B00010000 };

    static PCD8544 lcd;

    void setup() {
         // PCD8544-compatible displays may have a different resolution...
         lcd.begin(84, 48);
            
         // Add the smiley to position "0" of the ASCII table...
         lcd.createChar(0, glyph);
    }

    void loop() {
         // Just to show the program is alive...
         static int counter = 0;

         // Write a piece of text on the first line...
         lcd.setCursor(5, 0); // дясятое место в первой строке
         lcd.print("DV-ROBOT");

         // Write the counter on the second line...
         lcd.setCursor(5, 2);      // пятое место во второй строке
         float voltage1=5.0 / 1024.0 * analogRead(0);//Измеряем U1 - падающая волна
    float voltage2=5.0 / 1024.0 * analogRead(1);//Измеряем U2 - отраженная волна
    float SWR=(1+voltage2/voltage1)/(1-voltage2/voltage1); //Вычисляем КСВ

           lcd.print(SWR); // выводим на экран значение ксв
           lcd.setCursor(49, 2);      lcd.print("SWR"); //добавляем надпись "SWR"
           lcd.setCursor(5, 4);      // пятое место во четвертой строке
    float PWR=(voltage1*voltage1)/(100); //Вычисляем мощность
    lcd.print(PWR); // выводим на экран значение мощности
           lcd.setCursor(49, 4);      lcd.print("PWR"); //добавляем надпись "PWR"
           
         delay(100);     
            
    }

    и необходимые файлы для симуляции в Proteus

    Прикрепления: -__3310.zip(40Kb) · 3351764.png(21Kb)
     
    ФОРУМ ДВ Робот dvrobot.ru » DV ROBOT » Библиотека Проектов » Arduino и Proteus
    Страница 1 из 11
    Поиск:

    ДВ Робот - Чат