Pull to refresh
32
0.1
Алексей @Dinxor

User

Send message
Играл в крестики-нолики на таком. На квадратном поле 3х3 (кнопки клавиатуры 1-9 это как бы клетки) калькулятор делает первый ход в центр (5) и в зависимости от введенных цифр вычисляет следующие клетки. В программе это было реализовано с помощью хитрой адресации переходов, в том числе косвенной. Программа занимала почти всю память, о варианте с первым ходом игрока речи уже не было.
У меня был 5х86-133, Винамп 2 не вытягивал воспроизведение mp3 даже 128kbit. Нашел какой-то плеер, умеющий воспроизводить с пониженным битрейтом но звук не понравился. В итоге гонял плейлисты в консольном плеере под DOS, там все работало.
Убивает ток, проходящий через тело. Этот ток зависит от напряжения прикосновения и сопротивления цепи, по которой пойдет ток. И он никак не связан с силой тока в проводах. Поэтому нет, 12в безопаснее.
Такие конденсаторные БП очень широко применяются до сих пор: дешевые светодиодные лампочки, датчики движения и освещенности для управления светом, сетевая часть беспроводных звонков и беспроводных пультов для люстр. Косяк этой схемы — со временем падает емкость конденсатора, устройство перестает работать (или звонок начинает «заикаться»).
Расчет емкости конденсатора примитивен — 1 мкФ на каждые 70 мА тока нагрузки. Больше 2,2 мкФ не встречал, такой стоял в 4-х канальном ДУ люстры.
Несмотря на относительно большую величину тока, потребляемая от сети мощность минимальна — реактивная составляющая нагрузки не учитывается бытовым электросчетчиком.
Именно с этим сервером интерфейсов не сталкивался, но аналогичное устройство от eWon отлично работает в этом режиме, уже лет 10. Виртуальный COM обычно просто перенаправляет полученные данные в сокет.
Только что набрел на эту тему и показалось, что на Питоне реализация слишком медленная.
Я делал так:
N = 10**8

def er(n):
    sz = n//2
    sieve = bytearray(b'\x01'*sz)
    for i in range (1, int(n**0.5)//2):
        if (sieve[i]):
            s = 2*i+1
            p = 2*i*(i+1)
            sieve[p::s] = [False]*((sz-p-1)//s+1)
#    return len(list(filter(None, sieve)))# if you need count of primes only, Time: 3.6 for N = 10**8
    simp = [2]
    simp.extend(2*i+1 for i in range(1, sz) if sieve[i])
    return(simp)

print(len(er(N)))

# 5761455
# Time: 8.223

Считает за 8 сек до 10**8 на i3, причем больше половины времени уходит на заполнение массива чисел.
Это такие белые матовые трубки диаметром сантиметра 4, длина «восьмидесятки» полтора метра, «сороковка» чуть покороче. До сих пор встречаются потолочные светильники на две трубки в разных учреждениях.
светильник
image

Но выглядеть часики на таких должны примерно так:
image

Довелось работать с ПЛК Omron из середины 90-х, там в софте была возможность вывести всю программу в виде такого ASCII-арта. Оказалось очень удобно — можно сравнивать версии программы с размазанными по разным блокам изменениями, все диффы сразу видно.
У меня в трудовой написано «инженер-электроник». Но за совет спасибо.
Ардуино здорово снизила порог вхождения. Многих отталкивает необходимость ставить навороченную IDE, собирать или покупать плату с обвязкой, искать программатор, разбираться с настройкой и подключением — для программирования голого контроллера всё это предшествует попытке собственно запрограммировать что-нибудь. Ардуино — берешь плату, подключаешь шнурок, ставишь простую оболочку и вперед. Для новичков часто даже установка драйвера для USB шнурка становится проблемой.
Ещё нюанс — ей могут пользоваться как программисты, не работавшие раньше с железом, так и электроники, не умеющие программировать. После повторения чужого проекта они вполне могут заинтересоваться, переделать программу под свои нужды… смотришь — уже библиотеки правят и свои модули паяют. Не попробовав, они просто не смогли бы пойти дальше.
На счет таймеров, далеко не всегда нужны точные интервалы времени и работа по прерываниям. Я работаю с ПЛК, в них тоже обычно крутится бесконечный цикл: прочитал состояние входов, обработал, выставил состояние выходов. Прерывания только там, где они реально нужны (сигналы с энкодеров и т.п.), в остальном время цикла может составлять десятки, а то и сотни миллисекунд. Всё зависит от задачи, на сложном оборудовании крутится например Simatic, а что-то относительно простое вполне можно собрать на LOGO!
Моё мнение — Ардуино это не совсем про эмбеддинг, скорее такой любительский ПЛК. Отлично подойдет для ознакомления, создания прототипов устройств, можно что-то не сильно критичное на нём собрать вроде системы сбора информации с датчиков. Формат, интерфейс подключения стандартизированы, есть платы на разную производительность и количество выходов, дополнительные модули, библиотеки. Софт не перегружен лишними функциями, но под капотом обычный Си — всегда можно выбрать, насколько глубоко в него залезать. Ещё прикрутить промышленные графические языки программирования (LAD, FBD), добавить нормальные входы/выходы и можно ставить на дин-рейку, будет вполне реальный конкурент тому же LOGO! (у которого, к слову, только пару лет назад появилась возможность выделять повторяющиеся блоки в модули-подпрограммы).
12 ...
7

Information

Rating
3,578-th
Location
Россия
Date of birth
Registered
Activity