WordPress: просмотр pdf с параметром FitH

В WordPress есть возможность разместить на странице pdf файл в контейнере object, при помощи стандартного блока «Файл». Но есть нюанс — из настраиваемых параметров размера — только высота в пикселях. Ширина автоматически при просмотре подразумевается 100%.. Соответственно файл встраивается в страницу с автоматическим параметром отображения (т.е. не на всю ширину страницы). Для того чтобы страница растянулась на всю ширину экрана, нужно добавить параметр view, например чтобы было примерно так:

<object data-wp-bind--hidden="!state.hasPdfPreview" class="wp-block-file__embed" data="Полезные_советы.pdf#view=FitH" type="application/pdf" style="width:100%;height:800px"></object>

Но, к сожалению после редактирования html кода блока, он ломается. Поэтому одним из решений является написание плагина, который ищет на страницах размещенный pdf файл, и добавляет ему соответствующий параметр. Вот как это реализовано у меня:

Добавляем веб хук:

add_filter( 'gettext', 'PDFFix', 20 );

Функция:

function PDFFix($text){
    $text= str_replace(".pdf>", ".pdf#view=Fit&toolbar=0>", $text);    
    return $text;
};

Arduino: подключение дисплея ST7735s

Данный дисплей как оказалось с некими особенностями. У части страждущих, после подключения по стандартной схеме с 5в, экран рябит, и покрывается полосами, поэтому приходится подключать его через резисторы в 1кОм, по схеме:

Однако у меня, прокатило и без этого, хотя тоже помучался немножко, но как оказалось просто не пропаял нормально контактную площадку на дисплее. Кроме того, в моём случае необходимо было оставить свободными часть пинов, в том числе 13 и 11, для других устройств, поэтому пришлось переключатся на «софтварную» реализацию функционала MISO/MOSI/SCK. В моём случае схема подключения следующая:

  • vcc — 5v
  • gnd — gnd
  • scl — 8
  • sda — 7
  • res — 5
  • dc — 4
  • cs — 6
  • blk — не используется

Ну и инициализация дисплея следующая соответственно:

#define TFT_SCLK 8
#define TFT_MOSI 7
#define TFT_CS        6
#define TFT_RST       5
#define TFT_DC        4
Adafruit_ST7735 tft = Adafruit_ST7735(TFT_CS, TFT_DC, TFT_MOSI, TFT_SCLK, TFT_RST);

Из минусов — медленная отрисовка на экране. Однако в моём случае это не критично.

Стандартная же схема подключения следующая:

Дисплей на ST7735SArduino
GNDGND
VCC5V
SCL13 (sck)
SDA11 (mosi)
RES9
DC8
CS10 (ss)
BL3.3V

Arduino: как опросить много кнопок по трём проводам

Собственно возникла задача, как опросить много кнопок, используя как можно меньше проводов. В итоге задача решается при помощи обычных резисторов: 100кОм подтягивающего, и по 1 кОм на каждую кнопку (кроме первой) для уменьшения напряжения. Читать соответственно будем через аналоговый вход. Принципиальная схема подключения выглядит примерно так (потенциально расширяема до примерно 500 кнопок):

как опросить много кнопок по трём проводам

Ну и скетч соответственно:

int analogPin = A0;                     
int val = 0;  
void setup() {
  Serial.begin(9600);
}
void loop() {
  val = analogRead(analogPin);  
  if (val>0){
    Serial.println(val);        
    delay(100);
  };
}

Из потенциальных проблем вижу сложности с обработкой нажатий нескольких кнопок одновременно и возможные изменения значений кнопок при «просадке» напряжения на плате.

1 2