Первое и главное: Играя в ПЛК -- схема всегда одна:*)
Vcc n R 10K
GND n PB
PB out 300
Vcc n R 330
n GND LED
*) надоело рисовать? -- расскажи про входной язык Spice
Почему на LED последовательно ставят резистор?
"идеальный" диод:
"крутой" диод:
вот почему можно делать китайский фонарик только на таблетке -- из-за внутреннего сопротивления CR2032.
Годзилла против Кингконга
Пример:
(* matrio: --]x/[----(y)--
program0: --]button[---------------(led0)--
--]led0[----x[matrio0]y--(led0)--
*)
FUNCTION_BLOCK matrio
VAR_INPUT
x : BOOL;
END_VAR
VAR_OUTPUT
y : BOOL;
END_VAR
y := NOT(x);
END_FUNCTION_BLOCK
PROGRAM program0
VAR
button AT %IX0.0 : BOOL := 0;
led0 AT %QX0.0 : BOOL;
led1 AT %QX0.1 : BOOL;
END_VAR
VAR
matrio0 : matrio;
END_VAR
led0 := button;
matrio0(x := led0);
led1 := matrio0.y;
END_PROGRAM
CONFIGURATION Config0
RESOURCE Res0 ON PLC
TASK task0(INTERVAL := T#20ms,PRIORITY := 0);
PROGRAM instance0 WITH task0 : program0;
END_RESOURCE
END_CONFIGURATION
на уроке
Nr | проблема | решение |
---|---|---|
1 | тестер светодиода | V/A характеристика, самоделка |
2 | тестер-омы | держатель батарейки |
3 | кнопка плохо контачит*0 | ключ Морзе |
4 | монтажка ненадежна*1 | найти переход Анти (kirill../arduino-serial) |
5 | не вижу резистор | очки-лупа |
6 | upload готовой прошивки | Arduino IDE, properties:show, avrdude*2. |
7 | C-robootikalabor*3 | дополнить чего не хватает: enum , static , ?? |
8 | ST (Petrov) | tl;dr.. конспект |
9 | Arduino, новости из музея | Arduino PLC IDE |
*0) Что такое дребезг.
*1) http://kirill.tpt.edu.ee/arduino_serial-N3E.html
*2)
$LCN="C:\Users\alien\AppData\Local\Arduino15\packages\"
$LCN+="arduino\tools\avrdude\6.3.0-arduino17"
cd $LCN
/bin/avrdude -C$LCN+"/etc/avrdude.conf" -v -patmega2560 `
-cwiring -PCOM11 -b115200 -D `
-Uflash:w:my_sketch.hex:i
*3) https://robolabor.ee/homelab/et/programming/c/crashcourse
Kuidas ma saan teada, milline SSL-sertifikaat on saidi jaoks välja antud?
https://qna.habr.com/q/205503?ysclid=lflus4a221268430431
..Üldiselt peate klõpsama turvalise ühenduse ikoonile, ülejäänud sammud sõltuvad kasutatavast brauserist. Siit saate lugeda rohkem:
Translated with www.DeepL.com/Translator (free version)
PowerShell 7.3.3
PS C:\Users\alien> nslookup kirill.tpt.edu.ee 8.8.8.8
Server: dns.google
Address: 8.8.8.8
Non-authoritative answer:
Name: kirill.tpt.edu.ee
Address: 193.40.160.60
PS C:\Users\alien> nslookup wiki.tptlive.ee 8.8.8.8
Server: dns.google
Address: 8.8.8.8
Non-authoritative answer:
Name: wiki.tptlive.ee
Address: 217.146.69.45
VS-2015
Kui keegi saab installeerimisel vigu, siis siin on vihje MSDNist (minul töötas):
Visual Studio taastamise katsel tekib viga, installeerimise vahemälu võib olla rikutud. Vahemälu taastamiseks järgige järgmisi samme.
cd "C:\ProgramData\Package Cache"
(Del|Erase) /F /S *.msiDelete /F /S *.cab
Breadboard Simulator 1.0.
cp res/breadboard/* res/objects/
Если совсем коротко, то с Thonny работать крайне неудобно, поскольку 1. он очень мало подсказывает, даже когда очень попросишь. Пример от WallySalami TKGPIO: led5.<CTRL+SPACE>. Но можно настроить его "правильно"*). 2. То, что вышедшая две недели назад версия 4.02 укомплектована не самой новой версией Питона (3.10 медленнее 3.11 в среднем на 20%), погоды не делает и в учебном процессе роли не играет. Кроме того, 3. уже достаточно давно жива ошибка в установщике -- в режиме "для всех пользователей": интерпретатор 'not found'. Как я писал уже несколько лет назад: "за двумя зайцами погонишься ни одного не поймаешь -- поэтому зайцев должно быть не менее трех". Установка Питона 3.11 вместе с Visual Studio Code описана в отдельной заметке в разделе программирование.
--
*) Мне удалось "разговорить" Thonny только после того, как я сделал установку Python 3.11.1 и Pip (с сайта python.org
) в C:\Program Files\Python311
, запустил в окне администратора Powershell pip install tkgpio
, добавил в путь системы (Settings -> Edit system environment variables):
C:\Program Files\Python311\
C:\Program Files\Python311\Scripts
Код для XOR (для Logisim показывал в начале урока):
# in preferences: open user settings
# "python.defaultInterpreterPath":
# "C:\\Users\\kirill.nelus\\AppData\\Local\\
# Programs\\Thonny\\python.exe"
from tkgpio import TkCircuit
# initialize the circuit inside the GUI
configuration = {
"width": 300,
"height": 200,
"leds": [
{"x": 70, "y": 20, "name": "LED A", "pin": 22},
{"x": 70, "y": 140, "name": "LED B", "pin": 23},
{"x": 160, "y": 80, "name": "LED Y", "pin": 26},
],
"buttons": [
{"x": 20, "y": 20, "name": "A", "pin": 8},
{"x": 20, "y": 140, "name": "B", "pin": 9},
],
}
circuit = TkCircuit(configuration)
@circuit.run
def main ():
# now just write the code you would use on a real Raspberry Pi
from gpiozero import LED, Button
from time import sleep
def decide():
if led1.is_active and not led2.is_active or \
led2.is_active and not led1.is_active:
led5.on()
else:
led5.off()
def buttonA_pressed():
led1.toggle()
decide()
def buttonB_pressed():
led2.toggle()
decide()
led1 = LED(22)
led2 = LED(23)
led5 = LED(26)
buttonA = Button(8)
buttonB = Button(9)
buttonA.when_pressed = buttonA_pressed
buttonB.when_pressed = buttonB_pressed
while True:
sleep(0.1)
Код для варианта 99 показывать не буду: даже этот пример написан с нарушением принципа DRY (don't repeat yourself), функция decide()
грязная (side effects), вам в этом копаться рано, ну а мне лень (поздно :) )
еnv
.не могу попасть в Teams. Включить tls
(Transport Layer Security) в IE.
There are two workarounds to solve this problem. The first is to enable TLS 1.1 or/and TLS 1.2 protocols on the web browser, and the other is to activate the TLS protocol in the Windows registry.
In the Internet Properties panel, select the tab "Advanced", and in the Settings, Security section mark to activate the boxes ["Use TLS 1.1", "Use TLS 1.2"]
How to enable TLS protocol on ALL Windows editions
не на всех компьютерах удается зайти в домен (уже третий год нет свободных активных сокетов в стене.
Workaround: Работаем вне домена (как oplane
) на portables
.
(MICRO-xxx.7z, где xxx дата последнего обновления в формате YMD (YearMonthDay, см. заметку системы счисления и "мой" календарь)) Для запуска скачать, распаковать, запустить и настроить приложение*2).
Сайт виден только внутри главного здания (а не внутри домена, как я вообразил).
Workaround: копия исходников сайта в Teams (HOMEPAGE-xxx.7z) Для запуска скачать, распаковать, щелкнуть по index.html
Генератор вариантов заданий для самостоятельной работы:
0..n | Sort-Object{ Get-Random }
--
*1) урок 1 ач (академический час). 1 ач = 45 минут, ПАРА 2 урока подряд.
*2) How?
warning: More Settings.. -> Run anyway
.file explorer
copy path to a clipboard. in powershell window:cd <paste_selected_path>
java -jar Logisim.jar
Draft.