Compare commits

...

2 commits

9 changed files with 44 additions and 35 deletions

View file

@ -12,6 +12,10 @@ jobs:
run: /usr/bin/python -m venv .venv
- name: Install dependencies
run: ./.venv/bin/pip install -r requirements.txt
- name: Build PDF exports
run: |
. .venv/bin/activate
myst build --execute --pdf
- name: Build static HTML
run: |
. .venv/bin/activate

3
.gitmodules vendored Normal file
View file

@ -0,0 +1,3 @@
[submodule "courstex"]
path = courstex
url = https://git.edgarpierre.fr/edpibu/courstex.git

View file

@ -1,6 +1,9 @@
---
title: Les capteurs
subject: Cours
export:
- format: pdf
template: courstex
---
# Définition
@ -28,10 +31,9 @@ Ils génèrent donc un signal dit **binaire**.
Un interrupteur (@inter) ou un détecteur de mouvement PIR (@pir) sont des capteurs
tout ou rien.
::::{figure}
:label: fig:capteur-tor
:::{figure} https://upload.wikimedia.org/wikipedia/commons/3/3a/Switches-electrical.agr.jpg
:label: inter
:width: 50%
Interrupteur[^inter].
@ -41,6 +43,7 @@ Interrupteur[^inter].
:::{figure} https://upload.wikimedia.org/wikipedia/commons/2/2e/Motion_detector.jpg
:label: pir
:width: 50%
Détecteur de mouvement PIR[^pir].
@ -48,9 +51,6 @@ Détecteur de mouvement PIR[^pir].
Public domain, via Wikimedia Commons.
:::
Exemples de capteurs tout ou rien
::::
## Les capteurs analogiques
Le signal de sortie est en relation directe avec la grandeur d'entrée
(généralement proportionnelle)
@ -59,10 +59,9 @@ c'est un signal dit **analogique**.
Une thermistance (@thermistance) ou une jauge de déformation (@jauge) sont des
capteurs analogiques.
::::{figure}
:label: fig:capteur-analogique
:::{figure} https://upload.wikimedia.org/wikipedia/commons/3/3b/NTC_bead.jpg
:label: thermistance
:width: 50%
Thermistance : résistance variant selon la température[^thermistance].
@ -73,6 +72,7 @@ via Wikimedia Commons.
:::{figure} https://upload.wikimedia.org/wikipedia/commons/0/0a/Unmounted_strain_gauge.jpg
:label: jauge
:width: 50%
Jauge de déformation : résistance variant selon son élongation[^jauge].
@ -80,17 +80,13 @@ Jauge de déformation : résistance variant selon son élongation[^jauge].
[CC BY-SA 4.0](https://creativecommons.org/licenses/by-sa/4.0), via Wikimedia Commons.
:::
Exemples de capteurs analogiques.
::::
## Les capteurs numériques
Un capteur numérique génère un signal de sortie ne pouvant prendre qu'un certain nombre de valeur distincte, c'est à dire un signal **numérique**.
Une caméra (@camera) ou un codeur absolu (@codeur) sont des capteurs numériques.
::::{figure}
:label: fig:capteur-numerique
:::{figure} https://upload.wikimedia.org/wikipedia/commons/0/02/S4000_Image_Sensor_%28Colorful%29.jpg
:label: camera
:width: 50%
Caméra : pour chaque pixel, le signal peut prendre une valeur entière allant de 0 à 255[^camera].
@ -98,12 +94,10 @@ Caméra : pour chaque pixel, le signal peut prendre une valeur entière allant d
:::
:::{figure} https://upload.wikimedia.org/wikipedia/commons/a/a8/Gray_code_rotary_encoder_13-track_opened.jpg
:label: codeur
:width: 50%
Codeur absolu : le signal prend une valeur entière différente selon l'angle du disque[^codeur].
[^codeur]: [Mike1024](https://commons.wikimedia.org/wiki/File:Gray_code_rotary_encoder_13-track_opened.jpg),
Public domain, via Wikimedia Commons
:::
Exemples de capteurs numériques
::::
:::

View file

@ -1,6 +1,9 @@
---
title: Les signaux
subject: Cours
export:
- format: pdf
template: courstex
kernelspec:
name: python3
display_name: Python 3

View file

@ -1,6 +1,9 @@
---
title: Le CAN
subject: Cours
export:
- format: pdf
template: courstex
kernelspec:
name: python3
display_name: Python 3
@ -33,9 +36,9 @@ On donne en @fig:exemple-can l'exemple d'un CAN de tension de référence 5 V fo
La **caractéristique** du CAN est la courbe représentant la valeur numérique en sortie en fonction de la valeur analogique en entrée (@fig:carac-can).
````{figure}
::::{figure}
:label: fig:exemple-can
```{code-cell} python
:::{code-cell} python
:tags: [remove-input]
import matplotlib.pyplot as plt
from matplotlib import ticker
@ -94,14 +97,14 @@ arr2 = ax2.annotate("", xy=(0.5, 0), xytext=(0.5, 1), arrowprops=dict(arrowstyle
ax2.annotate("$q$", (1, 0.5), xycoords=arr2, ha="left", va="center")
arr3 = ax2.annotate("", xy=(1, 0), xytext=(1, 8), arrowprops=dict(arrowstyle="<->"))
ax2.annotate("$V_{pe}$", (1, 0.5), xycoords=arr3, ha="left", va="center")
```
ax2.annotate("$V_{pe}$", (1, 0.5), xycoords=arr3, ha="left", va="center");
:::
Signal analogique et signal numérisé.
````
::::
````{figure}
::::{figure}
:label: fig:carac-can
```{code-cell} python
:::{code-cell} python
:tags: [remove-input]
import matplotlib.pyplot as plt
from matplotlib import ticker
@ -116,15 +119,12 @@ fig, ax = plt.subplots()
ax.stairs(s_n, s_a, color="C1", lw=3, baseline=None)
ax.set(
xlim=(0, 5),
ylim=(-1, N),
yticks=s_n,
xlabel="Signal analogique (V)",
ylabel="Signal numérique",
)
ax.set_xticks(s_a, [f"{v:.3f}" for v in s_a], rotation=45, ha="right", rotation_mode="anchor")
ax.set_aspect(5/8, 'box')
ax.set_aspect(5/8, "datalim")
arr4 = ax.annotate(
"", xy=(s_a[0], 0), xytext=(s_a[1], 0), arrowprops=dict(arrowstyle="<->")
)
@ -133,7 +133,7 @@ ax.annotate("$q$", (0.5, 1), xycoords=arr4, ha="center", va="bottom")
arr5 = ax.annotate(
"", xy=(s_a[0], 1.5), xytext=(s_a[-1], 1.5), arrowprops=dict(arrowstyle="<->")
)
ax.annotate("$V_{pe}$", (0.5, 1), xycoords=arr5, ha="center", va="bottom")
```
ax.annotate("$V_{pe}$", (0.5, 1), xycoords=arr5, ha="center", va="bottom");
:::
Caractéristique du CAN.
````
::::

1
courstex Submodule

@ -0,0 +1 @@
Subproject commit d040c12b630182d5b127a9123a0cfa617d9a0016

View file

@ -16,13 +16,11 @@ project:
country: France
url: https://lyceedupaysdesoule.fr
license: CC-BY-NC-SA-4.0
exclude: README.md
exclude:
- README.md
- courstex
numbering:
headings: true
settings:
output_stderr: remove-error
output_stdout: remove
output_matplotlib_strings: remove
site:
template: book-theme
options:

View file

@ -6,6 +6,9 @@ abstract: |
L'objectif de cette procédure est de visualiser un modèle 3D réalisé avec
Solidworks en réalité augmentée avec l'application [Caddy](https://www.heycaddy.net/)
sur Meta Quest 3.
export:
- format: pdf
template: courstex
---
# Export au format IGES

View file

@ -5,6 +5,9 @@ subtitle: Découper ou graver une pièce
abstract: |
L'objectif de cette procédure est de découper et graver une pièce dans une
plaque à l'aide de la découpe laser JAMP78 JA50.
export:
- format: pdf
template: courstex
---
# Import dans RdCAM