Подключение датчика температуры и влажности DHT11 к Arduino UNO R3
ArduinoПодключение датчика температуры DHT11 задача довольно простая.
Всё, что нам понадобится для подключения, это небольшой скетч, собранная схема и библиотека для работы с датчиком.
Первым делом скачаем библиотеку для работы с датчиком, например здесь: https://github.com/adafruit/DHT-sensor-library.
Теперь разберемся с самим датчиком, датчик может быть с готовой обвязкой и тремя контактами — земля, питание и данные.
Либо как у меня, сам датчик без какой либо обвязки, с четырьмя контактами один из которых нам не понадобится.
Вот, сам датчик:
Как представлено на рисунке, если датчик находится к нам решёткой а контакты направлены вниз, то номера контактов будут от 1 до 4 слева на право, как показано на фотографии выше слева.
Подключение LCD2004A к Arduino UNO R3
ArduinoВ данной публикации речь пойдет о подключении жидкокристаллического дисплея LCD2004A без интерфейса I2C. Это обычный жидкокристаллический дисплей с четырьмя строками по 20 символов в каждой, подключается он так же как и двухстрочный аналогичный дисплей, поэтому инструкция будет полезна и для дисплея с двумя строками LCD2002.
Выглядит дисплей вот так:
Данный дисплей имеет 16 выводов:
Цитата дня!
Блог им. RomanНе повторяйте одну и ту же ошибку в вашем коде снова и снова.Комментировать...
Создайте функцию с этой ошибкой и вызывайте её каждый раз, когда понадобится!
MSSQL - передача таблицы или списка значений в процедуру ( C# .NET )
MS SQL - по необходимостиЧасто бывает необходимость передать за один раз некоторый набор данных в процедуру, в этой публикации будет приведен пример как это сделать на языке C# для базы данных MSSQL.
Использовать будем обычный способ вызова процедуры без каких либо фреймворков.
Для начала создадим тестовую таблицу в базе данных:
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Bottles](
[Uid] [uniqueidentifier] NOT NULL,
[Name] [varchar](50) NULL,
[Color] [varchar](50) NULL
) ON [PRIMARY]
GO
В данной таблице будем размещать бутылки разных названий и цветов (просто для теста).Читаль далее...
Интерполяция строк в языке C#
Язык программирования C#Интерполированной строкой в C# называется строка перед которой расположен символ $.
Такая интерполированная строка может включать выражения, которые заключены в фигурные скобки:
int x = 18;
Console.Write($"Указанный возраст {x} лет."); // Выводит: Указанный возраст 18 лет.
Внутри фигурных скобок может быть помещено любое допустимое выражение C# произвольного типа, C# при этом преобразует значение в строку, вызвав ToString(), или эквивалентный метод для заданного типа. Формат вывода можно менять добавлением двоеточия и строки формата, например:
string s = $"223 в шестнадцатиричном формате: {223:X2}"; // X2 - шестнадцатиричное значение из двух знаков.
// В итоге строка будет "223 в шестнадцатиричном формате: DF"
Читаль далее...
Руководство по Python Bottle (Перевод) Часть 6 - Templates (о Шаблонах)
PythonВ предыдущей части (Руководство по Python Bottle (Перевод) Часть 5 — Request Data (данные в запросе)) мы рассмотрели основные аспекты относящиеся к передаваемым данным в запросах, в этой части мы вкратце рассмотрим использование шаблонов.
Bottle имеет быстрый и мощный встроенный механизм шаблонов, который называется SimpleTemplate Engine. Для рендеринга шаблона вы можете использовать функцию template() или декоратор view(). Все, что вам нужно сделать, это предоставить имя шаблона и переменные, которые вы хотите передать шаблону в качестве аргументов. Вот простой пример того, как обратиться к шаблону:
@route('/hello')
@route('/hello/<name>')
def hello(name='World'):
return template('hello_template', name=name)
Данный код загрузит файл шаблона hello_template.tpl и отобразит его с установленной переменной name. Bottle будет искать шаблоны в папке ./views/ или в любой папке, указанной в списке bottle.TEMPLATE_PATH.
Читаль далее...
Руководство по Python Bottle (Перевод) Часть 5 - Request Data (данные в запросе)
PythonВ предыдущей части (Руководство по Python Bottle (Перевод) Часть 4 — Создание контента) мы рассмотрели основные аспекты относящиеся к передаваемому контенту, в этой части мы рассмотрим данные передаваемые в запросах.
Файлы Cookie, HTTP-заголовки, поля HTML форм и другие данные запроса доступны через глобальный объект request. Этот специальный объект всегда ссылается на текущий запрос, даже в многопоточных средах, где одновременно обрабатываются сразу несколько клиентских подключений:
from bottle import request, route, template
@route('/hello')
def hello():
name = request.cookies.username or 'Guest'
return template('Привет {{name}}', name=name)
Объект request является подклассом от BaseRequest и имеет очень богатый API для доступа к данным. Здесь будут рассмотрены только наиболее часто используемые функции, этого должно быть достаточно для начала.
Читаль далее...
Ссылочные локальные переменные в C# 7
Язык программирования C#Начиная с версии C# 7 в языке появилась возможность, позволяющая объявить локальную переменную, ссылающуюся на элемент массива или на поле в объекте:
int[] simpleArray = {0, 1, 2, 3, 4, 5, 6, 7, 8};
ref int simpleElementRef = ref simpleArray[3];
В примере выше simpleElementRef — ссылка на simpleArray[3]. Изменение simpleElementRef приводит к изменению элемента массива:
simpleElementRef *= 15;
Console.WriteLine(simpleElementRef); // 15
Console.WriteLine(simpleArray[3]); // 15
В качестве цели ссылочной локальной переменной может быть указан элемент массива, поле, или обычная локальная переменная. Целью не может быть свойство.
Читаль далее...
Руководство по Python Bottle (Перевод) Часть 4 - Создание контента
PythonВ предыдущей части (Руководство по Python Bottle (Перевод) Часть 3 — Маршрутизация запросов) мы рассмотрели основные аспекты касающиеся маршрутизации запросов, в этой части будут рассмотрены аспекты относящиеся к передаваемому контенту.
Создание контента
В чистом стандарте WSGI диапазон возвращаемых из приложения типов очень ограничен. Приложения должны возвращать строки с возможностью разбиения их на набор байт. Можно вернуть строку (разбив её на части), но большинство серверов это заставляет передавать контент символ за символом. Строки в Unicode не допускаются вообще. Это не очень практично.
Bottle гораздо более гибок и поддерживает широкий спектр типов. Он автоматически добавляет заголовок Content-Length, когда это возможно, и автоматически кодирует Unicode, что облегчает работу разработчика. Ниже приведен список типов данных, которые могут быть возвращены из приложения, и краткое описание того, как они обрабатываются платформой:
Читаль далее...
OFFSET FETCH пример применения в TSQL
MS SQL - по необходимостиФильтр OFFSET FETCH в языке TSQL интересен тем что в отличии от фильтра TOP позволяет пропускать заданное количество строк ROWS.
Пример:
select regioncode, aolevel, offname from s_adr_fias
order by regioncode, aolevel, offname
offset 100 rows fetch next 50 rows only;
Данный пример демонстрирует выборку из набора отсортированного по условию ORDER BY (по полям regioncode, aolevel, offname) 50 строк данных пропустив первые 100 строк.
!!! Сначала выполняется именно сортировка, и только затем, из отсортированного набора данных берётся необходимый диапазон.
P.S. На больших объёмах, даже с учетом самой оптимальной индексации, данный фильтр является довольно ресурсоемким. Комментировать...
Работа с Postgresql в C#
Не так давно занялся разработкой приложения на C# работающего на базе PostreSQL, появилась информаци (читать далее...)
1098Работа с MySQL в C#
Надеюсь данная публикация не даст читателям повторить мои ошибки и поможет сделать изначально правил (читать далее...)
648Работа со строками в Oracle (PL/SQL)
Основные способы обработки строковых значений в Oracle. В этой публикации я приведу основные функции (читать далее...)
628Поиск и регулярные выражения в MySQL
СУБД MySQL имеет различные инструменты для осуществления поиска, среди которых оператор LIKE, осущес (читать далее...)
471Передача параметров между формами в C#
Часто возникает необходимость передать определённые параметры между формами в одном приложении, напр (читать далее...)
455OpenXML - Пример создания Excel файла на C#
В данной публикации приведен пример генерации Excel файла при помощи библиотеки OpenXML. Отличие это (читать далее...)
438Установка русской кодировки на уже созданную базу данных (смена COLLATION)
Полезный пример изменения кодировки (COLLATION) на уже созданной базе данных. В данном примере устан (читать далее...)
412Работа с XML в Oracle PL/SQL (Часть 1)
В этой публикации я приведу основные способы работы с XML в Oracle, которые сам использую. Здесь буд (читать далее...)
394Курсоры в MSSQL - перебор выборки в цикле.
Команды манипулирования данными SELECT, UPDATE, DELETE работают сразу с группами строк. Эти группы, (читать далее...)
347Функция Oracle TO_DATE (PL/SQL)
Функция TO_DATE — преобразует строку в переменную времени DATE. Синтаксис: TO_DATE(исходная_строка, (читать далее...)
321