Compare commits
7 commits
bc9d8904e2
...
ce388b1126
Author | SHA1 | Date | |
---|---|---|---|
ce388b1126 | |||
9e02248a5a | |||
976e5db7ed | |||
df56660eb0 | |||
4b03461d1f | |||
0240949bc6 | |||
f4cabbf11a |
11 changed files with 162 additions and 32 deletions
|
@ -8,10 +8,20 @@ jobs:
|
|||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
submodules: "true"
|
||||
- name: Initialize virtual environment
|
||||
run: /usr/bin/python -m venv .venv
|
||||
- name: Install dependencies
|
||||
run: ./.venv/bin/pip install -r requirements.txt
|
||||
- name: Execute code
|
||||
run: |
|
||||
. .venv/bin/activate
|
||||
myst build --execute
|
||||
- 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
3
.gitmodules
vendored
Normal file
|
@ -0,0 +1,3 @@
|
|||
[submodule "courstex"]
|
||||
path = courstex
|
||||
url = https://git.edgarpierre.fr/edpibu/courstex.git
|
|
@ -3,4 +3,4 @@
|
|||
<https://cours.edgarpierre.fr>
|
||||
|
||||
[](https://myst.tools)
|
||||
[](https://git.edgarpierre.fr/edpibu/cours4.0/actions?workflow=serve.yaml)
|
||||
[](https://git.edgarpierre.fr/edpibu/cours4.0/actions?workflow=serve.yaml)
|
|
@ -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
|
||||
::::
|
||||
:::
|
|
@ -1,6 +1,9 @@
|
|||
---
|
||||
title: Les signaux
|
||||
subject: Cours
|
||||
export:
|
||||
- format: pdf
|
||||
template: courstex
|
||||
kernelspec:
|
||||
name: python3
|
||||
display_name: Python 3
|
||||
|
|
|
@ -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.
|
||||
````
|
||||
::::
|
111
cours/SIN/04-numeration.md
Normal file
111
cours/SIN/04-numeration.md
Normal file
|
@ -0,0 +1,111 @@
|
|||
---
|
||||
title: Systèmes de numération
|
||||
subject: Cours
|
||||
export:
|
||||
- format: pdf
|
||||
template: courstex
|
||||
---
|
||||
|
||||
# Définition
|
||||
|
||||
:::{prf:definition} Système de numération
|
||||
:nonumber: true
|
||||
Un système de numération est un ensemble de règles qui régissent une, voire plusieurs numérations données. De façon plus explicite, c'est un ensemble de règles d'utilisation des signes, des mots ou des gestes permettant d'écrire, d'énoncer ou de mimer les nombres.
|
||||
|
||||
Source : Article _[Système de numération](https://fr.wikipedia.org/wiki/Syst%C3%A8me_de_num%C3%A9ration)_ de [Wikipédia en français](https://fr.wikipedia.org/) ([auteurs](https://fr.wikipedia.org/w/index.php?title=Syst%C3%A8me_de_num%C3%A9ration&action=history))
|
||||
:::
|
||||
|
||||
# Systèmes de numération usuels
|
||||
|
||||
## Le système décimal (base 10)
|
||||
|
||||
Le système décimal est celui que l'on utilise au quotidien, qui utilise 10 symboles (0 à 9). La valeur des nombres s'obtient ainsi (@tab:num-10) :
|
||||
|
||||
:::{math}
|
||||
1789=1 \times 10^3 + 7 \times 10^2 + 8 \times 10^1 + 9 \times 10^0
|
||||
:::
|
||||
|
||||
:::{csv-table} Système décimal
|
||||
:label: tab:num-10
|
||||
10³,10²,10¹,10⁰
|
||||
1000, 100, 10, 1
|
||||
1,7,8,9
|
||||
:::
|
||||
|
||||
## Le système binaire (base 2)
|
||||
|
||||
Le système binaire est celui utilisé par systèmes électroniques. Il utilise 2 symboles (0 et 1). Chaque chiffre est appelé un bit. Un nombre à 8 bits est appelé octet (ou byte en anglais). La valeur des nombres s'obtient ainsi (@tab:num-2) :
|
||||
|
||||
:::{math}
|
||||
1011_2=1 \times 2^3 + 0 \times 2^2 + 1 \times 2^1 + 1 \times 2^0
|
||||
:::
|
||||
|
||||
:::{csv-table} Système binaire
|
||||
:label: tab:num-2
|
||||
2³,2²,2¹,2⁰
|
||||
8, 4, 2,1
|
||||
1,0,1,1
|
||||
:::
|
||||
|
||||
### Conversion binaire vers décimal
|
||||
|
||||
Pour convertir un nombre binaire en nombre décimal, utiliser la méthode ci-dessus : chaque bit, lui associer sa valeur, puis faire la somme des bits à 1.
|
||||
|
||||
::::{hint} Exemple : Convertir $1101_2$ en décimal.
|
||||
|
||||
- On associe à chaque bit sa valeur :
|
||||
:::{math}
|
||||
\begin{matrix}
|
||||
2³ & 2² & 2¹ & 2⁰ \\
|
||||
1 & 1 & 0 & 1
|
||||
\end{matrix}
|
||||
:::
|
||||
- On additione la valeur des bits à 1 :
|
||||
:::{math}
|
||||
N = 8+4+1 = 13_{10}
|
||||
:::
|
||||
::::
|
||||
|
||||
### Conversion décimal vers binaire
|
||||
|
||||
La méthode infaillible pour convertir un nombre décimal en nombre binaire est de poser la division par 2, puis réitérer avec le quotient obtenu jusqu'à obtenir 0, puis lire le reste des divisions en sens inverse.
|
||||
|
||||
::::{hint} Exemple : Convertir $25_{10}$ en binaire.
|
||||
|
||||
- On pose la division :
|
||||
- $25\div 2=12\text{, reste }1$
|
||||
- $12\div 2=6\text{, reste }0$
|
||||
- $6\div 2=3\text{, reste }0$
|
||||
- $3\div 2=1\text{, reste }1$
|
||||
- $1\div 2=0\text{, reste }1$
|
||||
- On lit le reste des divisions dans l'ordre inverse : $25_{10}=11001_{2}$.
|
||||
::::
|
||||
|
||||
## Le système hexadécimal (base 16)
|
||||
|
||||
Le système hexadécimal est souvent utiliser pour retranscrire des nombres binaires car la conversion entre les deux systèmes est simple. Il utilise 16 symboles (0 à 9 puis A à F ; A=10, B=11, C=12, D=13, E=14 et F=15). La valeur des chiffres s'obtient ainsi (@tab:num-16) :
|
||||
|
||||
:::{math}
|
||||
6FD_{16}=6\times 16²+15\times 16¹+13\times 16⁰
|
||||
:::
|
||||
|
||||
:::{csv-table} Système hexadécimal
|
||||
:label: tab:num-16
|
||||
16²,16¹,16⁰
|
||||
256,16,1
|
||||
6,F,D
|
||||
:::
|
||||
|
||||
### Conversion entre binaire et hexadécimal
|
||||
|
||||
Pour convertir un nombre binaire en hexadécimal, on peut regrouper les bits en paquets de 4, puis convertir chaque groupe de 4 bits en un chiffre hexadécimal.
|
||||
|
||||
:::{hint} Exemple : Convertir $0110\,1111\,1101_2$ en hexadécimal.
|
||||
|
||||
- On groupe en paquets de 4 bits : $0110_2$, $1111_2$, $1101_2$.
|
||||
- On convertit chaque paquet en un chiffre hexadécimal :
|
||||
- $0110_2=6_{10}=6_{16}$
|
||||
- $1111_2=15_{10}=F_{16}$
|
||||
- $1101_2=13_{10}=D_{16}$
|
||||
- On obtient donc : $0110\,1111\,1101_2=6FD_{16}$.
|
||||
:::
|
1
courstex
Submodule
1
courstex
Submodule
|
@ -0,0 +1 @@
|
|||
Subproject commit d040c12b630182d5b127a9123a0cfa617d9a0016
|
4
myst.yml
4
myst.yml
|
@ -16,7 +16,9 @@ project:
|
|||
country: France
|
||||
url: https://lyceedupaysdesoule.fr
|
||||
license: CC-BY-NC-SA-4.0
|
||||
exclude: README.md
|
||||
exclude:
|
||||
- README.md
|
||||
- courstex
|
||||
numbering:
|
||||
headings: true
|
||||
site:
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Add table
Reference in a new issue