Оглавление:
- Шаг 1: Я решил использовать Arduino для проверки работы функции измерения пульса и кислорода в крови MAX30100
- Шаг 2: функциональные назначения
- Шаг 3: Введение в оборудование
- Шаг 4: приложения
- Шаг 5: Преимущества и особенности
- Шаг 6: Принцип обнаружения
- Шаг 7: STONE STVI070WT-01
- Шаг 8: Если вы не уверены, как использовать MAX3232, см. Следующие изображения:
- Шаг 9. Если вам нужны видеоуроки и руководства, вы также можете найти их на официальном веб-сайте
- Шаг 10: Этапы разработки
- Шаг 11: Установка программного обеспечения STONE TOOL
- Шаг 12: Arduino
- Шаг 13: среда разработки
- Шаг 14: процесс реализации проекта ЖК-дисплея Arduino
- Шаг 15:
- Шаг 16: Дизайн пользовательского интерфейса TFT LCD
- Шаг 17: удалите изображение, которое было загружено по умолчанию в новом проекте, и добавьте созданное нами изображение пользовательского интерфейса
- Шаг 18: добавьте компонент текстового дисплея
- Шаг 19:
- Шаг 20: Создайте файл конфигурации
- Шаг 21: MAX30100
- Шаг 22: Модифицируйте подтягивающий резистор MAX30100 IIC
- Шаг 23: Arduino
- Шаг 24: Найдите «MAX30100», чтобы найти две библиотеки для MAX30100, затем нажмите «Загрузить и установить»
- Шаг 25: После установки вы можете найти демонстрацию MAX30100 в папке библиотеки LIB Arduino:
- Шаг 26: Дважды щелкните файл, чтобы открыть его
- Шаг 27: Полный код выглядит следующим образом:
- Шаг 28:
- Шаг 29: отображение данных в STONE Displayer через Arduino
- Шаг 30: измененный код выглядит следующим образом:
- Шаг 31: отображение частоты пульса на ЖК-дисплее с помощью Arduino
Видео: Как отображать пульс на КАМЕННОМ ЖК-дисплее с помощью Ar: 31 шаг
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:48
краткое введение
Некоторое время назад я нашел в интернет-магазинах модуль датчика ЧСС MAX30100. Этот модуль может собирать данные о кислороде крови и частоте сердечных сокращений пользователей, что также просто и удобно в использовании. По данным я обнаружил, что в файлах библиотеки Arduino есть библиотеки MAX30100. То есть, если я использую связь между Arduino и MAX30100, я могу напрямую вызывать файлы библиотеки Arduino без необходимости перезаписывать файлы драйверов. Это хорошо, поэтому я купил модуль MAX30100.
Шаг 1: Я решил использовать Arduino для проверки работы функции измерения пульса и кислорода в крови MAX30100
Примечание: этот модуль по умолчанию только с коммуникацией MCU уровня 3,3 В, потому что по умолчанию используется сопротивление подтягивания вывода IIC от 4,7 кОм до 1,8 В, поэтому по умолчанию нет связи с Arduino, если вы хотите общаться с Arduino. и вам потребуется два подтягивающих резистора на выводе IIC 4,7 кОм, подключенных к выводу VIN, это содержание будет представлено в конце главы.
Шаг 2: функциональные назначения
Перед тем, как начать этот проект, я подумал о некоторых простых функциях:
- Были собраны данные о частоте сердечных сокращений и кислороде крови.
- Данные о частоте пульса и кислороде крови отображаются на ЖК-экране.
Это единственные две функции, но если мы хотим ее реализовать, нам нужно больше подумать:
- Какой главный MCU используется?
- Что за жк-дисплей?
Как мы упоминали ранее, мы используем Arduino для MCU, но это проект ЖК-дисплея Arduino, поэтому нам нужно выбрать соответствующий модуль ЖК-дисплея. Я планирую использовать ЖК-экран с последовательным портом. У меня есть дисплей STONE STVI070WT-01, но если Arduino необходимо с ним взаимодействовать, для преобразования уровня необходим MAX3232. Тогда основные электронные материалы определяются следующим образом:
1. Плата для разработки Arduino Mini Pro.
2. Модуль датчика ЧСС и кислорода в крови MAX30100
3. STONE STVI070WT-01 ЖК-дисплей с последовательным портом.
4. Модуль MAX3232
Шаг 3: Введение в оборудование
MAX30100
MAX30100 - это интегрированный датчик пульсоксиметрии и пульсометра. Он сочетает в себе два светодиода, фотодетектор, оптимизированную оптику и малошумящую аналоговую обработку сигналов для обнаружения сигналов пульсовой оксиметрии и частоты сердечных сокращений.
MAX30100 работает от источников питания 1,8 В и 3,3 В и может быть отключен с помощью программного обеспечения с незначительным током в режиме ожидания, что позволяет источнику питания всегда оставаться подключенным.
Шаг 4: приложения
● Носимые устройства
● Устройства для фитнес-помощников.
● Устройства медицинского мониторинга
Шаг 5: Преимущества и особенности
1 、 Полное решение для пульсоксиметра и датчика сердечного ритма упрощает конструкцию
- Встроенные светодиоды, фотодатчик и высокопроизводительный аналоговый передний конец
- Крошечные 5,6 мм x 2,8 мм x 1,2 мм 14-пиновый оптически усовершенствованная система в корпусе
2 、 Работа со сверхнизким энергопотреблением увеличивает время автономной работы носимых устройств
- Программируемая частота дискретизации и ток светодиода для экономии энергии
- Сверхнизкий ток отключения (0,7 мкА, тип.)
3 、 Расширенные функции улучшают производительность измерений
- Высокое SNR обеспечивает устойчивую устойчивость к артефактам движения
- Встроенное подавление окружающего света
- Возможность высокой частоты дискретизации
- Возможность быстрого вывода данных
Шаг 6: Принцип обнаружения
Просто прижмите палец к датчику, чтобы оценить сатурацию кислорода (SpO2) и пульс (эквивалент сердцебиения).
Пульсоксиметр (оксиметр) - это мини-спектрометр, который ИСПОЛЬЗУЕТ принципы различных спектров поглощения эритроцитов для анализа насыщения крови кислородом. Этот метод быстрого измерения в реальном времени также широко используется во многих клинических справочниках. Я не буду слишком подробно рассказывать о MAX30100, потому что эти материалы доступны в Интернете. Заинтересованные друзья могут найти информацию об этом модуле измерения пульса в Интернете и лучше понять принцип его обнаружения.
Шаг 7: STONE STVI070WT-01
Введение в средство отображения
В этом проекте я буду использовать STONE STVI070WT-01 для отображения данных о частоте сердечных сокращений и кислороде крови. Микросхема драйвера встроена в экран дисплея, и есть программное обеспечение для использования пользователями. Пользователям нужно только добавить кнопки, текстовые поля и другую логику через созданные изображения пользовательского интерфейса, а затем сгенерировать файлы конфигурации и загрузить их на экран дисплея для запуска. Дисплей STVI070WT-01 связывается с MCU через сигнал uart-rs232, что означает, что нам нужно добавить микросхему MAX3232 для преобразования сигнала RS232 в сигнал TTL, чтобы мы могли общаться с MCU Arduino.
Шаг 8: Если вы не уверены, как использовать MAX3232, см. Следующие изображения:
Если вы считаете, что преобразование уровня слишком проблематично, вы можете выбрать другие типы дисплеев STONE, некоторые из которых могут напрямую выводить сигнал uart-ttl.
На официальном сайте есть подробная информация и введение:
Шаг 9. Если вам нужны видеоуроки и руководства, вы также можете найти их на официальном веб-сайте
Шаг 10: Этапы разработки
Три этапа разработки экрана дисплея STONE:
- Разработайте логику дисплея и логику кнопок с помощью программного обеспечения STONE TOOL и загрузите файл дизайна в модуль дисплея.
- MCU связывается с модулем ЖК-дисплея STONE через последовательный порт.
- С данными, полученными на шаге 2, MCU выполняет другие действия.
Шаг 11: Установка программного обеспечения STONE TOOL
Загрузите последнюю версию программного обеспечения STONE TOOL (в настоящее время TOOL2019) с веб-сайта и установите ее.
После установки программного обеспечения откроется следующий интерфейс:
Нажмите кнопку «Файл» в верхнем левом углу, чтобы создать новый проект, о котором мы поговорим позже.
Шаг 12: Arduino
Arduino - это платформа электронного прототипа с открытым исходным кодом, которая проста в использовании и проста в использовании. Он включает в себя аппаратную часть (различные платы для разработки, соответствующие спецификации Arduino) и программную часть (Arduino IDE и соответствующие комплекты для разработки).
Аппаратная часть (или плата разработки) состоит из микроконтроллера (MCU), флэш-памяти (Flash) и набора универсальных интерфейсов ввода / вывода (GPIO), которые можно рассматривать как материнскую плату микрокомпьютера. Программная часть в основном состоит из Arduino IDE на ПК, соответствующего пакета поддержки на уровне платы (BSP) и богатой сторонней библиотеки функций. С помощью Arduino IDE вы можете легко загрузить BSP, связанный с вашей платой разработки, и необходимые библиотеки. писать свои программы. Arduino - это платформа с открытым исходным кодом. На данный момент существует множество моделей и множество производных контроллеров, включая Arduino Uno, Arduino Nano, ArduinoYun и т. Д. Кроме того, Arduino IDE теперь не только поддерживает платы разработки серии Arduino, но также добавляет поддержку популярных плат разработки, таких как как Intel Galileo и NodeMCU, представив BSP.
Arduino воспринимает окружающую среду с помощью различных датчиков, управляющих освещением, двигателями и другими устройствами для обратной связи и воздействия на окружающую среду. Микроконтроллер на плате может быть запрограммирован с помощью языка программирования Arduino, скомпилирован в двоичные файлы и записан в микроконтроллер. для Arduino реализован с помощью языка программирования Arduino (на основе проводки) и среды разработки Arduino (на основе обработки). Проекты на основе Arduino могут содержать только Arduino, а также Arduino и другое программное обеспечение, работающее на ПК, и они взаимодействуют с каждым из них. прочее (например, Flash, Processing, MaxMSP).
Шаг 13: среда разработки
Среда разработки Arduino - это IDE Arduino, которую можно загрузить из Интернета.
Войдите на официальный сайт Arduino и загрузите программное обеспечение https://www.arduino.cc/en/Main/Software?setlang=c … После установки Arduino IDE при открытии программного обеспечения появится следующий интерфейс:
IDE Arduino по умолчанию создает две функции: функцию настройки и функцию цикла. В Интернете есть множество представлений об Arduino. Если вы чего-то не понимаете, вы можете найти это в Интернете.
Шаг 14: процесс реализации проекта ЖК-дисплея Arduino
аппаратное соединение
Чтобы следующий шаг в написании кода прошел гладко, мы должны сначала определить надежность подключения оборудования.
В этом проекте использовалось всего четыре единицы оборудования:
1. Плата для разработки Arduino Mini Pro.
2. STONE STVI070WT-01 tft-lcd дисплей
3. Датчик ЧСС и кислорода в крови MAX30100
4. MAX3232 (rs232-> TTL) Плата разработки Arduino Mini Pro и экран TFT-LCD STVI070WT-01 подключаются через UART, что требует преобразования уровня через MAX3232, а затем через него подключаются плата разработки Arduino Mini Pro и модуль MAX30100. Интерфейс IIC. Поразмыслив, мы можем нарисовать следующую схему разводки:
Шаг 15:
Убедитесь, что в подключении оборудования нет ошибок, и переходите к следующему шагу.
Шаг 16: Дизайн пользовательского интерфейса TFT LCD
Прежде всего, нам нужно разработать изображение для отображения пользовательского интерфейса, которое можно разработать с помощью PhotoShop или других инструментов для создания изображений. После разработки изображения отображения пользовательского интерфейса сохраните изображение в формате JPG.
Откройте программу STONE TOOL2019 и создайте новый проект:
Шаг 17: удалите изображение, которое было загружено по умолчанию в новом проекте, и добавьте созданное нами изображение пользовательского интерфейса
Шаг 18: добавьте компонент текстового дисплея
Добавьте компонент отображения текста, создайте цифру и десятичную точку для отображения, получите место хранения компонента отображения текста в средстве отображения.
Эффект следующий:
Шаг 19:
Адрес компонента текстового отображения:
- Статус подключения: 0x0008
- Частота пульса: 0x0001
Кислород крови: 0x0005 Основное содержимое интерфейса пользовательского интерфейса выглядит следующим образом:
- Статус подключения
- Отображение пульса
- Кислород крови показал
Шаг 20: Создайте файл конфигурации
После завершения проектирования пользовательского интерфейса можно сгенерировать файл конфигурации и загрузить его на дисплей STVI070WT-01.
Сначала выполните шаг 1, затем вставьте флешку в компьютер, и отобразится символ диска. Затем нажмите «Загрузить на u-диск», чтобы загрузить файл конфигурации на USB-накопитель, а затем вставьте USB-накопитель в STVI070WT-01, чтобы завершить обновление.
Шаг 21: MAX30100
MAX30100 обменивается данными через IIC. Его принцип работы заключается в том, что значение АЦП частоты сердечных сокращений может быть получено с помощью инфракрасного излучения. Регистр MAX30100 можно разделить на пять категорий: регистр состояния, FIFO, регистр управления, регистр температуры и регистр идентификатора. Регистр температуры. считывает значение температуры микросхемы, чтобы исправить отклонение, вызванное температурой. Регистр идентификатора может считывать идентификационный номер микросхемы.
MAX30100 подключен к плате разработки Arduino Mini Pro через интерфейс связи IIC. Поскольку в Arduino IDE есть готовые файлы библиотеки MAX30100, мы можем считывать данные о частоте сердечных сокращений и кислороде крови, не изучая регистры MAX30100. Для тех, кто заинтересован в изучении регистра MAX30100, см. Техническое описание MAX30100.
Шаг 22: Модифицируйте подтягивающий резистор MAX30100 IIC
Следует отметить, что подтягивающее сопротивление 4,7 кОм вывода IIC модуля MAX30100 подключено к напряжению 1,8 В, что теоретически не является проблемой. Тем не менее, логический уровень связи вывода Arduino IIC составляет 5 В, поэтому он не может взаимодействовать с Arduino без изменения аппаратного обеспечения модуля MAX30100. Прямая связь возможна, если MCU - это STM32 или другой MCU с логическим уровнем 3.3 В.
Поэтому необходимо внести следующие изменения:
Удалите три резистора 4,7 кОм, отмеченные на рисунке, с помощью электрического паяльника. Затем приварите два резистора 4,7 кОм на выводах SDA и SCL к VIN, чтобы мы могли общаться с Arduino.
Шаг 23: Arduino
Откройте IDE Arduino и найдите следующие кнопки:
Шаг 24: Найдите «MAX30100», чтобы найти две библиотеки для MAX30100, затем нажмите «Загрузить и установить»
Шаг 25: После установки вы можете найти демонстрацию MAX30100 в папке библиотеки LIB Arduino:
Шаг 26: Дважды щелкните файл, чтобы открыть его
Шаг 27: Полный код выглядит следующим образом:
Эта демонстрация может быть протестирована напрямую. Если аппаратное соединение в порядке, вы можете загрузить компиляцию кода в плату разработки Arduibo и просмотреть данные MAX30100 в инструменте последовательной отладки.
Полный код выглядит следующим образом:
/ * Встроенная библиотека оксиметрии / сердечного ритма Arduino-MAX30100 Авторские права (C) 2016 OXullo Intersecans Эта программа является бесплатным программным обеспечением: вы можете распространять и / или изменять ее в соответствии с условиями Стандартной общественной лицензии GNU, опубликованной Free Software Foundation, либо версии 3 Лицензии, либо (по вашему выбору) любой более поздней версии. Эта программа распространяется в надежде, что она будет полезна, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ; даже без подразумеваемой гарантии ТОВАРНОЙ ПРИГОДНОСТИ или ПРИГОДНОСТИ ДЛЯ КОНКРЕТНОЙ ЦЕЛИ. Подробнее см. Стандартную общественную лицензию GNU. Вы должны были получить копию Стандартной общественной лицензии GNU вместе с этой программой. Если нет, посмотри. * / #include #include "MAX30100_PulseOximeter.h" #define REPORTING_PERIOD_MS 1000 // PulseOximeter - это интерфейс более высокого уровня для датчика // он предлагает: // * отчет об обнаружении сердечных сокращений // * расчет сердечного ритма // * SpO2 (уровень окисления) расчет оспы PulseOximeter; uint32_t tsLastReport = 0; // Обратный вызов (зарегистрированный ниже) срабатывает при обнаружении импульса void onBeatDetected () {Serial.println ("Beat!"); } void setup () {Serial.begin (115200); Serial.print («Инициализация пульсоксиметра..»); // Инициализируем экземпляр PulseOximeter // Сбои обычно происходят из-за неправильного подключения I2C, отсутствия источника питания // или неправильного целевого чипа if (! Pox.begin ()) {Serial.println ("FAILED"); для(;;); } else {Serial.println ("УСПЕХ"); } // Ток по умолчанию для ИК-светодиода составляет 50 мА, и его можно // изменить, раскомментировав следующую строку. Проверьте MAX30100_Registers.h для всех // доступных параметров. // pox.setIRLedCurrent (MAX30100_LED_CURR_7_6MA); // Регистрируем обратный вызов для обнаружения биений pox.setOnBeatDetectedCallback (onBeatDetected); } void loop () {// Обязательно вызывайте обновление как можно быстрее pox.update (); // Асинхронный сброс частоты пульса и уровней окисления в серийный номер // Для обоих значение 0 означает «недействительный» if (millis () - tsLastReport> REPORTING_PERIOD_MS) {Serial.print ("Heart rate:"); Serial.print (pox.getHeartRate ()); Serial.print («уд / мин / SpO2:»); Серийный.принт (pox.getSpO2 ()); Serial.println ("%"); tsLastReport = millis (); }}
Шаг 28:
Этот код очень простой, я думаю, вы можете понять его с первого взгляда. Я должен сказать, что модульное программирование Arduino очень удобно, и мне даже не нужно понимать, как реализован код драйвера Uart и IIC.
Конечно, приведенный выше код является официальной демонстрацией, и мне все еще нужно внести некоторые изменения, чтобы отобразить данные в программе отображения STONE.
Шаг 29: отображение данных в STONE Displayer через Arduino
Во-первых, нам нужно получить адрес компонента, который отображает данные о частоте сердечных сокращений и кислороде в крови на дисплее STONE:
В моем проекте адрес выглядит следующим образом: Адрес компонента отображения частоты пульса: 0x0001 Адрес модуля отображения кислорода в крови: 0x0005 Адрес состояния подключения датчика: 0x0008 Если вам нужно изменить отображаемое содержимое в соответствующем пространстве, вы можете изменить отображаемое содержимое. путем отправки данных на соответствующий адрес экрана дисплея через последовательный порт Arduino.
Шаг 30: измененный код выглядит следующим образом:
/ * Встроенная библиотека оксиметрии / сердечного ритма Arduino-MAX30100 Авторские права (C) 2016 OXullo Intersecans Эта программа является бесплатным программным обеспечением: вы можете распространять и / или изменять ее в соответствии с условиями Стандартной общественной лицензии GNU, опубликованной Free Software Foundation, либо версии 3 Лицензии, либо (по вашему выбору) любой более поздней версии. Эта программа распространяется в надежде, что она будет полезной, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ; даже без подразумеваемой гарантии ТОВАРНОЙ ПРИГОДНОСТИ или ПРИГОДНОСТИ ДЛЯ КОНКРЕТНОЙ ЦЕЛИ. Подробнее см. Стандартную общественную лицензию GNU. Вы должны были получить копию Стандартной общественной лицензии GNU вместе с этой программой. Если нет, посмотри. * / #include #include "MAX30100_PulseOximeter.h" #define REPORTING_PERIOD_MS 1000 #define Heart_dis_addr 0x01 #define Sop2_dis_addr 0x05 #define connect_sta_addr 0x08 unsigned char heart_rate_rate, 0x5, 0x08 unsigned char heart_rate_rate = {0x5), Heart_rate_send 0x08, / 0x5 0x00}; символ без знака Sop2_send [8] = {0xA5, 0x5A, 0x05, 0x82, 0x00, / Sop2_dis_addr, 0x00, 0x00}; символ без знака connect_sta_send [8] = {0xA5, 0x5A, 0x05, 0x82, 0x00, / connect_sta_addr, 0x00, 0x00}; // PulseOximeter - это интерфейс более высокого уровня для датчика // он предлагает: // * отчет об обнаружении сердечных сокращений // * расчет сердечного ритма // * расчет SpO2 (уровня окисления) PulseOximeter pox; uint32_t tsLastReport = 0; // Обратный вызов (зарегистрированный ниже) срабатывает при обнаружении импульса void onBeatDetected () {// Serial.println ("Beat!"); } void setup () {Serial.begin (115200); // Serial.print ("Инициализация пульсоксиметра.."); // Инициализируем экземпляр PulseOximeter // Сбои обычно происходят из-за неправильного подключения I2C, отсутствия источника питания // или неправильного целевого чипа if (! Pox.begin ()) {// Serial.println ("FAILED"); // connect_sta_send [7] = 0x00; // Serial.write (connect_sta_send, 8); для(;;); } иначе {connect_sta_send [7] = 0x01; Serial.write (connect_sta_send, 8); // Serial.println ("УСПЕХ"); } // Ток по умолчанию для ИК-светодиода составляет 50 мА, и его можно // изменить, раскомментировав следующую строку. Проверьте MAX30100_Registers.h для всех // доступных параметров.pox.setIRLedCurrent (MAX30100_LED_CURR_7_6MA); // Регистрируем обратный вызов для обнаружения биений pox.setOnBeatDetectedCallback (onBeatDetected); } void loop () {// Обязательно вызывайте обновление как можно быстрее pox.update (); // Асинхронный сброс частоты пульса и уровней окисления в серийный номер // Для обоих значение 0 означает «недействительный» if (millis () - tsLastReport> REPORTING_PERIOD_MS) {// Serial.print ("Heart rate:"); // Serial.print (pox.getHeartRate ()); // Serial.print ("уд / мин / SpO2:"); // Serial.print (pox.getSpO2 ()); // Serial.println ("%"); heart_rate_send [7] = (uint32_t) pox.getHeartRate (); Serial.write (heart_rate_send, 8); Sop2_send [7] = pox.getSpO2 (); Serial.write (Sop2_send, 8); tsLastReport = millis (); }}
Шаг 31: отображение частоты пульса на ЖК-дисплее с помощью Arduino
Скомпилируйте код, загрузите его на плату разработки Arduino, и вы готовы начать тестирование.
Мы видим, что, когда пальцы отрываются от MAX30100, частота пульса и уровень кислорода в крови отображаются равными нулю. Поместите палец на коллектор MAX30100, чтобы увидеть частоту сердечных сокращений и уровень кислорода в крови в режиме реального времени.
Эффект можно увидеть на следующем рисунке:
Рекомендуемые:
Сделай сам Как отображать время на M5StickC ESP32 с помощью Visuino - легко сделать: 9 шагов
Сделай сам Как отображать время на M5StickC ESP32 с помощью Visuino - легко сделать: в этом руководстве мы узнаем, как запрограммировать ESP32 M5Stack StickC с Arduino IDE и Visuino для отображения времени на ЖК-дисплее
Сделай сам -- Как сделать робота-паука, которым можно управлять с помощью смартфона с помощью Arduino Uno: 6 шагов
Сделай сам || Как сделать робота-паука, которым можно управлять с помощью смартфона с помощью Arduino Uno: Создавая робота-паука, можно многое узнать о робототехнике. Например, создание роботов - это не только увлекательно, но и сложно. В этом видео мы покажем вам, как сделать робота-паука, которым мы можем управлять с помощью нашего смартфона (Androi
M5STACK Как отображать температуру, влажность и давление на M5StickC ESP32 с помощью Visuino - легко сделать: 6 шагов
M5STACK Как отображать температуру, влажность и давление на M5StickC ESP32 с помощью Visuino - легко: в этом руководстве мы узнаем, как запрограммировать ESP32 M5Stack StickC с Arduino IDE и Visuino для отображения температуры, влажности и давления с помощью датчика ENV (DHT12, BMP280, BMM150)
Как отображать текст на M5StickC ESP32 с помощью Visuino: 6 шагов
Как отображать текст на M5StickC ESP32 с помощью Visuino: в этом руководстве мы узнаем, как запрограммировать ESP32 M5Stack StickC с Arduino IDE и Visuino для отображения любого текста на ЖК-дисплее
Как изменить веб-сайты, чтобы отображать все, что вы хотите: 3 шага
Как изменить веб-сайты, чтобы отображать все, что вы хотите: О, какое удовольствие вы можете получить … Это безумно простой и простой способ изменить веб-сайты в браузере, чтобы отображать все, что вы хотите. это не меняет веб-сайт где-либо, кроме вашего браузера, и если вы перезагрузите веб-страницу, она вернется к