From 3fc344bdae8cbfaaf7d49d13ef2e021e1a974770 Mon Sep 17 00:00:00 2001 From: Sébastien Dailly Date: Wed, 9 May 2018 08:16:05 +0200 Subject: Initial commit --- .gitignore | 2 + Makefile | 55 + content/5mm_Red_LED.jpg | Bin 0 -> 36844 bytes content/ARDUINO_UNO_DIP_01.png | Bin 0 -> 894550 bytes content/L293D_Motor_Driver.jpg | Bin 0 -> 168565 bytes content/LM1117.jpg | Bin 0 -> 26901 bytes content/Sharp_GP2Y0A21YK.jpg | Bin 0 -> 30416 bytes content/USB-2-0-B-MALE-TO-5.jpg | Bin 0 -> 18681 bytes content/arduino_l293d.qet | 746 ++++++ content/arduino_l293d.svg | 4164 ++++++++++++++++++++++++++++++ content/arduino_ohmetre.qet | 634 +++++ content/arduino_ohmetre.svg | 1303 ++++++++++ content/attiny_programater.qet | 625 +++++ content/attiny_programatter.svg | 5019 ++++++++++++++++++++++++++++++++++++ content/big_nokia_5110_montage.jpg | Bin 0 -> 488454 bytes content/capteur_infra.qet | 543 ++++ content/capteur_infra.svg | 1390 ++++++++++ content/cligo_led.qet | 743 ++++++ content/cligo_led.svg | 1273 +++++++++ content/condensateur.jpg | Bin 0 -> 19446 bytes content/l293d.svg | 851 ++++++ content/nokia_5110.qet | 851 ++++++ content/nokia_5110.svg | 4031 +++++++++++++++++++++++++++++ content/nokia_5110_montage.jpg | Bin 0 -> 54645 bytes content/ohm.py | 24 + content/piezzo_buzzer.jpg | Bin 0 -> 28105 bytes content/polarity.svg | 115 + content/pont_diviseur.qet | 333 +++ content/pont_diviseur.svg | 549 ++++ content/s-l500.jpg | Bin 0 -> 26132 bytes notes_arduino.rst | 1260 +++++++++ resources/CaviarDreams.ttf | Bin 0 -> 58864 bytes resources/admonitions.tex | 36 + resources/colors.tex | 5 + resources/figures.tex | 20 + resources/header_footer.tex | 44 + resources/language.tex | 8 + resources/modules | 11 + resources/nowidows.tex | 2 + resources/preamble.tex | 51 + resources/title_style.tex | 67 + resources/units.rst | 16 + resources/zz_ref.tex | 35 + 43 files changed, 24806 insertions(+) create mode 100644 .gitignore create mode 100644 Makefile create mode 100755 content/5mm_Red_LED.jpg create mode 100644 content/ARDUINO_UNO_DIP_01.png create mode 100755 content/L293D_Motor_Driver.jpg create mode 100644 content/LM1117.jpg create mode 100755 content/Sharp_GP2Y0A21YK.jpg create mode 100644 content/USB-2-0-B-MALE-TO-5.jpg create mode 100644 content/arduino_l293d.qet create mode 100644 content/arduino_l293d.svg create mode 100644 content/arduino_ohmetre.qet create mode 100644 content/arduino_ohmetre.svg create mode 100644 content/attiny_programater.qet create mode 100644 content/attiny_programatter.svg create mode 100644 content/big_nokia_5110_montage.jpg create mode 100755 content/capteur_infra.qet create mode 100755 content/capteur_infra.svg create mode 100755 content/cligo_led.qet create mode 100644 content/cligo_led.svg create mode 100644 content/condensateur.jpg create mode 100644 content/l293d.svg create mode 100644 content/nokia_5110.qet create mode 100644 content/nokia_5110.svg create mode 100644 content/nokia_5110_montage.jpg create mode 100644 content/ohm.py create mode 100755 content/piezzo_buzzer.jpg create mode 100644 content/polarity.svg create mode 100644 content/pont_diviseur.qet create mode 100644 content/pont_diviseur.svg create mode 100644 content/s-l500.jpg create mode 100644 notes_arduino.rst create mode 100755 resources/CaviarDreams.ttf create mode 100644 resources/admonitions.tex create mode 100755 resources/colors.tex create mode 100644 resources/figures.tex create mode 100755 resources/header_footer.tex create mode 100755 resources/language.tex create mode 100755 resources/modules create mode 100755 resources/nowidows.tex create mode 100644 resources/preamble.tex create mode 100755 resources/title_style.tex create mode 100755 resources/units.rst create mode 100755 resources/zz_ref.tex diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..44a77b6 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +tmp/ +*.pdf diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..530980f --- /dev/null +++ b/Makefile @@ -0,0 +1,55 @@ +TEX=xelatex +SOURCE=. + +SRC =$(wildcard *.rst) +SVG =$(wildcard content/*.svg) + +PDFS = $(SRC:.rst=.pdf) +INCLUDED_PDF = $(SVG:.svg=.pdf) + +all: $(PDFS) + +BIBS =$(wildcard *.bib) + +DIR = $(sort $(shell find $(SOURCE) -name '*.rst' -print)) +SOURCES = $(sort $(wildcard resources/*.tex)) + +null := +space := $(null) # +comma := , +TEX_STYLE := $(subst $(space),$(comma),$(strip $(SOURCES))) +TEX_BIBS := $(subst $(space),$(comma),$(strip $(BIBS))) + +PACK = $(shell sed -e 's/\#.*$$//' -e '/^$$/d' resources/modules) +PACKAGES := $(subst $(space),$(comma),$(strip $(PACK))) + +tmp: + mkdir tmp + +# Image generation +content/%.pdf: content/%.svg + inkscape -D -z --export-pdf=$@ $< + +%.pdf: %.dot + dot -Tpdf $< | ps2pdf - $@ + +# Generate the latex file from rst +tmp/%.tex: %.rst $(INCLUDED_PDF) $(SOURCES)| tmp + rst2latex --no-section-subtitles --no-section-numbering --table-style=borderless --use-latex-citations --use-latex-docinfo --documentclass=article --documentoption=12pt,A4,table --syntax-highlight=short --stylesheet=$(PACKAGES),$(TEX_STYLE) $< $@ + sed -i -e 's/continued on next page/suite sur la page suivante/;s|^%$$||' $@ + sed -i -e 's/longtable\*/mytable/g' $@ + sed -i -e 's/p{[0-9]\.[0-9]*\\DUtablewidth}/X/g' $@ + sed -i -e 's/admonition-/admonition/g' $@ + +# Generate each pdf with latex +tmp/%.pdf: tmp/%.tex $(BIBS) | tmp + $(TEX) -output-directory tmp $< + #bibtex tmp/$*.aux && $(TEX) -output-directory tmp $< || echo "no bib" + while grep 'Rerun to get ' tmp/$*.log ; do $(TEX) -output-directory tmp $< ; done + +# Put the pdf in the right place +%.pdf: tmp/%.pdf | tmp + cp $< $@ + +clean: + rm -r tmp diff --git a/content/5mm_Red_LED.jpg b/content/5mm_Red_LED.jpg new file mode 100755 index 0000000..230eccb Binary files /dev/null and b/content/5mm_Red_LED.jpg differ diff --git a/content/ARDUINO_UNO_DIP_01.png b/content/ARDUINO_UNO_DIP_01.png new file mode 100644 index 0000000..5dcd36f Binary files /dev/null and b/content/ARDUINO_UNO_DIP_01.png differ diff --git a/content/L293D_Motor_Driver.jpg b/content/L293D_Motor_Driver.jpg new file mode 100755 index 0000000..ba161e8 Binary files /dev/null and b/content/L293D_Motor_Driver.jpg differ diff --git a/content/LM1117.jpg b/content/LM1117.jpg new file mode 100644 index 0000000..23bfe1b Binary files /dev/null and b/content/LM1117.jpg differ diff --git a/content/Sharp_GP2Y0A21YK.jpg b/content/Sharp_GP2Y0A21YK.jpg new file mode 100755 index 0000000..4b5ec2b Binary files /dev/null and b/content/Sharp_GP2Y0A21YK.jpg differ diff --git a/content/USB-2-0-B-MALE-TO-5.jpg b/content/USB-2-0-B-MALE-TO-5.jpg new file mode 100644 index 0000000..2448e4b Binary files /dev/null and b/content/USB-2-0-B-MALE-TO-5.jpg differ diff --git a/content/arduino_l293d.qet b/content/arduino_l293d.qet new file mode 100644 index 0000000..0bfc348 --- /dev/null +++ b/content/arduino_l293d.qet @@ -0,0 +1,746 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Εισηγμένα στοιχεία + Elementy importowane + Imported elements + Éléments importés + Импортированные элементы + Elementos importados + Elementen geïmporteerd + elementos importados + Elements importats + Importierte elemente + Zavedené prvky + Elementi importati + Uvezeni elementi + Elemente importate + + + + Ηλεκτρικά + Elektrotechnika + Electric + Electrique + Электротехника + Elektrotechniek + Elektrik + Elettrica + Elektrotechnika + + + + Κατασκευαστές υλικού + Urządzenia producentów + Manufacturers articles + Articles constructeurs + База изделий производителей + Herstellerartikel + Marchi produttori + + + + Arduino + Arduino + + + + + + Arduino Uno + Arduino Uno + Arduino Uno + Arduino Uno + Arduino Uno + Arduino Uno + + ezza + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Πολυγραμμικό + Schematy wieloliniowe + All-pole + Multifilaire + Многополюсные + Veel polig + Vícežilový + Multifilare + Allpolig + + + + Καταναλώσεις και ενεργοποιητές + Odbiorniki i urządzenia wykonawcze + Consumers and actuators + Consommateurs et actionneurs + Исполнительные механизмы + Verbruikers en bewegingen + Utilizzatori e attuatori + Verbraucher und Aktoren + Spotřebitelé a spouštěče + + + + Μοτέρ + Silniki + محرّك + Engines + Moteurs + Двигатели + Motor + Motor + Motor + Motoren + Motor + Motori + + + + + + محرّك تيّار مستمرّ + Gleichstrom Motor + Эл. мотор постоянного тока + Motor de corrente contínua + Μοτέρ συνεχούς + DC motor + Motore a corrente continua + Moteur à courant continu + Silnik prądu stałego + Motor de corriente continuo + Motor DC + Motor na stejnosměrný proud + + Author: The QElectroTech team +License: see http://qelectrotech.org/wiki/doc/elements_license + + + + + + + + + + + + + + + + + + + + + + + + + + pic16f84 + + Author: Angelescu Constantin +titus0818@yahoo.com + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/content/arduino_l293d.svg b/content/arduino_l293d.svg new file mode 100644 index 0000000..9d97a1f --- /dev/null +++ b/content/arduino_l293d.svg @@ -0,0 +1,4164 @@ + + + + + + image/svg+xml + + + + + + Qt SVG Document + Generated with Qt + + + + + Arriere M1 + + + + + + + + + Avant M2 + + + + + + + + + Vitesse M2 + + + + + + + + + + + + + + + Arriere M2 + + + + + + + + + Vitesse M1 + + + + + + + + + + + + + + + + + + + + + + + + + + + Avant M1 + + + + + + + + + + + + + + + + + + + + + + + M + + + + + + + + + + + + + + + + + + + + + + Moteur 2 + + + + + + + + + + + + + + M + + + + + + + + + + + + + + + + + + + + + + Moteur 1 + + + + + + + + + + + 3.3V + + + GND + + + + + + + + + GND + + + + + + Vin + + + + + + ANALOG IN + + + POWER + + + RESET + + + 5V + + + + + + IO ref + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + RX + + + + + + + + + + + + + + + + + + L + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A5 + + + + + + A4 + + + A3 + + + + + + A0 + + + + + + A2 + + + + + + A1 + + + + + + ~9 + + + 12 + + + ~10 + + + TX->1 + + + RX<-0 + + + ~11 + + + 8 + + + 4 + + + 7 + + + ~3 + + + 2 + + + 13 + + + DIGITAL (PWM~) + + + ~5 + + + ~6 + + + AREF + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GND + + + + + + + + + ARDUINO + + + + + + + + + + + + + + + UNO + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + TX + + + AIMEL + + + + + + + + + + + + + + + + + + + + + + + + + + + MADE IN ITALY + + + + + + + + + + + + GROUND + + + 8 + + + 9 + + + 10 + + + 11 + + + 12 + + + 13 + + + 5 + + + 1 + + + 4 + + + 7 + + + 16 + + + 6 + + + 3 + + + + + + 2 + + + 14 + + + 15 + + + 3A + + + 3Y + + + 1Y + + + 1A + + + 1,2EN + + + VCC1 + + + 4A + + + 4Y + + + GROUND + + + 3,4EN + + + VCC2 + + + 2A + + + 2Y + + + L293D + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/content/arduino_ohmetre.qet b/content/arduino_ohmetre.qet new file mode 100644 index 0000000..8ea0525 --- /dev/null +++ b/content/arduino_ohmetre.qet @@ -0,0 +1,634 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Elements importats + Importierte elemente + Zavedené prvky + Elementi importati + Uvezeni elementi + Elemente importate + Εισηγμένα στοιχεία + Elementy importowane + Imported elements + Éléments importés + Импортированные элементы + Elementos importados + Elementen geïmporteerd + elementos importados + + + + Elektrik + Elettrica + Elektrotechnika + Ηλεκτρικά + Elektrotechnika + Electric + Electrique + Электротехника + Elektrotechniek + + + + Herstellerartikel + Marchi produttori + Κατασκευαστές υλικού + Urządzenia producentów + Manufacturers articles + Articles constructeurs + База изделий производителей + + + + Arduino + Arduino + + + + + + Arduino Uno + + ezza + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Arduino Uno + Arduino Uno + Arduino Uno + Arduino Uno + Arduino Uno + Arduino Uno + + ezza + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Vícežilový + Multifilare + Allpolig + Πολυγραμμικό + Schematy wieloliniowe + All-pole + Multifilaire + Многополюсные + Veel polig + + + + Elettronica e semiconduttori + Elektronik und Halbleiter + Ηλεκτρονικά και ημιαγωγοί + Elektronika i półprzewodniki + Electronics and semiconductors + Electronique et semi-conducteurs + Электроника и полупроводники + Electronica en halfgeleiders + + + + Widerstände + Resistori + Odporník + Αντιστάσεις + مُقاومة + Rezystory + Resistors + Résistances + Резисторы + Resistencia + Weerstand + Resistência + + + + + + Αντίσταση + Résistance + Widerstand + Odporník + Резистор + Resistencia + مُقاومة + Resistore + Rezystor + Resistor + Resistência + Weerstand + + EN 60617: 04-01-01 + + + + + + + + + + + + + + + + + + + + diff --git a/content/arduino_ohmetre.svg b/content/arduino_ohmetre.svg new file mode 100644 index 0000000..484f8da --- /dev/null +++ b/content/arduino_ohmetre.svg @@ -0,0 +1,1303 @@ + + +Qt SVG Document +Generated with Qt + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +3.3V + + + +GND + + + + + + + + + + + +GND + + + + + + + +Vin + + + + + + + +ANALOG IN + + + +POWER + + + +RESET + + + +5V + + + + + + + +IO ref + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +RX + + + + + + + + + + + + + + + + + + + + + + + +L + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +A5 + + + + + + + +A4 + + + +A3 + + + + + + + +A0 + + + + + + + +A2 + + + + + + + +A1 + + + + + + + +~9 + + + +12 + + + +~10 + + + +TX->1 + + + +RX<-0 + + + +~11 + + + +8 + + + +4 + + + +7 + + + +~3 + + + +2 + + + +13 + + + +DIGITAL (PWM~) + + + +~5 + + + +~6 + + + +AREF + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +GND + + + + + + + + + + + +ARDUINO + + + + + + + + + + + + + + + + + + + +UNO + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +TX + + + +AIMEL + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +MADE IN ITALY + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +R1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +R2 + + + + + + + + + + + + diff --git a/content/attiny_programater.qet b/content/attiny_programater.qet new file mode 100644 index 0000000..1b4adbc --- /dev/null +++ b/content/attiny_programater.qet @@ -0,0 +1,625 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Elementy importowane + Imported elements + Éléments importés + Импортированные элементы + Elementos importados + Elementen geïmporteerd + elementos importados + Elements importats + Importierte elemente + Zavedené prvky + Elementi importati + Uvezeni elementi + Elemente importate + Εισηγμένα στοιχεία + + + + Elektrotechnika + Electric + Electrique + Электротехника + Elektrotechniek + Elektrik + Elettrica + Elektrotechnika + Ηλεκτρικά + + + + Urządzenia producentów + Manufacturers articles + Articles constructeurs + База изделий производителей + Herstellerartikel + Marchi produttori + Κατασκευαστές υλικού + + + + Arduino + Arduino + + + + + + Arduino Uno + Arduino Uno + Arduino Uno + Arduino Uno + Arduino Uno + Arduino Uno + + ezza + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Schematy wieloliniowe + All-pole + Multifilaire + Многополюсные + Veel polig + Vícežilový + Multifilare + Allpolig + Πολυγραμμικό + + + + Elektronika i półprzewodniki + Electronics and semiconductors + Electronique et semi-conducteurs + Электроника и полупроводники + Electronica en halfgeleiders + Elettronica e semiconduttori + Elektronik und Halbleiter + Ηλεκτρονικά και ημιαγωγοί + + + + مُكثّف + Kondensatory + Capacitors + Capacités + Конденсаторы + Condensador + Condensatoren + Condensador + Kapazitäten + Condensatori + Kondenzátor + Πυκνωτές + + + + + + Elektrolytkondensator + Πυκνωτής με πολικότητα + Kondensator elektrolityczny + مُكثّف كيميائي + Condensatore elettrolitico + Polarized capacitor + Elektrolytický kondenzátor + Condensateur electrolytique + Condensator electrolytisch + + EN 60617: 04-02-05 + + + + + + + + + + + + + + + + + + + + + + + pic16f84 + + Author: Angelescu Constantin +titus0818@yahoo.com + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/content/attiny_programatter.svg b/content/attiny_programatter.svg new file mode 100644 index 0000000..358f012 --- /dev/null +++ b/content/attiny_programatter.svg @@ -0,0 +1,5019 @@ + + + + + + image/svg+xml + + + + + + Qt SVG Document + Generated with Qt + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Pin 0 + + + GND + + + 5 + + + 1 + + + 4 + + + 8 + + + 3 + + + + + + 2 + + + 6 + + + 7 + + + Pin 4 + + + Pin 3 + + + RESET + + + VCC + + + Pin 2 + + + Pin 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 3.3V + + + GND + + + + + + + + + GND + + + + + + Vin + + + + + + ANALOG IN + + + POWER + + + RESET + + + 5V + + + + + + IO ref + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + RX + + + + + + + + + + + + + + + + + + L + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A5 + + + + + + A4 + + + A3 + + + + + + A0 + + + + + + A2 + + + + + + A1 + + + + + + ~9 + + + 12 + + + ~10 + + + TX->1 + + + RX<-0 + + + ~11 + + + 8 + + + 4 + + + 7 + + + ~3 + + + 2 + + + 13 + + + DIGITAL (PWM~) + + + ~5 + + + ~6 + + + AREF + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GND + + + + + + + + + ARDUINO + + + + + + + + + + + + + + + UNO + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + TX + + + AIMEL + + + + + + + + + + + + + + + + + + + + + + + + + + + MADE IN ITALY + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 10µf + + + + + + diff --git a/content/big_nokia_5110_montage.jpg b/content/big_nokia_5110_montage.jpg new file mode 100644 index 0000000..e9fbd7c Binary files /dev/null and b/content/big_nokia_5110_montage.jpg differ diff --git a/content/capteur_infra.qet b/content/capteur_infra.qet new file mode 100755 index 0000000..39c2d17 --- /dev/null +++ b/content/capteur_infra.qet @@ -0,0 +1,543 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + 10nF + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Elementos importados + Elementen geïmporteerd + elementos importados + Elements importats + Importierte elemente + Zavedené prvky + Elementi importati + Uvezeni elementi + Elemente importate + Εισηγμένα στοιχεία + Elementy importowane + Imported elements + Éléments importés + Импортированные элементы + + + + Elektrotechniek + Elektrik + Elettrica + Elektrotechnika + Ηλεκτρικά + Elektrotechnika + Electric + Electrique + Электротехника + + + + Veel polig + Vícežilový + Multifilare + Allpolig + Πολυγραμμικό + Schematy wieloliniowe + All-pole + Multifilaire + Многополюсные + + + + Electronica en halfgeleiders + Elettronica e semiconduttori + Elektronik und Halbleiter + Ηλεκτρονικά και ημιαγωγοί + Elektronika i półprzewodniki + Electronics and semiconductors + Electronique et semi-conducteurs + Электроника и полупроводники + + + + Condensador + Condensatoren + Condensador + Kapazitäten + Condensatori + Kondenzátor + Πυκνωτές + مُكثّف + Kondensatory + Capacitors + Capacités + Конденсаторы + + + + + + Elektrolytkondensator + Πυκνωτής με πολικότητα + Kondensator elektrolityczny + مُكثّف كيميائي + Condensatore elettrolitico + Polarized capacitor + Elektrolytický kondenzátor + Condensateur electrolytique + Condensator electrolytisch + + EN 60617: 04-02-05 + + + + + + + + + + + + + + + + + + + Herstellerartikel + Marchi produttori + Κατασκευαστές υλικού + Urządzenia producentów + Manufacturers articles + Articles constructeurs + База изделий производителей + + + + Arduino + Arduino + + + + + + Arduino Uno + Arduino Uno + Arduino Uno + Arduino Uno + Arduino Uno + Arduino Uno + + ezza + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Capteur infrarouge gp2y0a + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/content/capteur_infra.svg b/content/capteur_infra.svg new file mode 100755 index 0000000..3e65f2d --- /dev/null +++ b/content/capteur_infra.svg @@ -0,0 +1,1390 @@ + + +Qt SVG Document +Generated with Qt + + + + + + + + + + + + + + + +Sortie du capteur + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Capteur infrarouge + + + + + + + + + + + + + + + + + +3.3V + + + +GND + + + + + + + + + + + +GND + + + + + + + +Vin + + + + + + + +ANALOG IN + + + +POWER + + + +RESET + + + +5V + + + + + + + +IO ref + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +RX + + + + + + + + + + + + + + + + + + + + + + + +L + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +A5 + + + + + + + +A4 + + + +A3 + + + + + + + +A0 + + + + + + + +A2 + + + + + + + +A1 + + + + + + + +~9 + + + +12 + + + +~10 + + + +TX->1 + + + +RX<-0 + + + +~11 + + + +8 + + + +4 + + + +7 + + + +~3 + + + +2 + + + +13 + + + +DIGITAL (PWM~) + + + +~5 + + + +~6 + + + +AREF + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +GND + + + + + + + + + + + +ARDUINO + + + + + + + + + + + + + + + + + + + +UNO + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +TX + + + +AIMEL + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +MADE IN ITALY + + + + + + + + + + + + + + +Carte Arduino + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +10nF + + + + + + + + + + + + diff --git a/content/cligo_led.qet b/content/cligo_led.qet new file mode 100755 index 0000000..d296cba --- /dev/null +++ b/content/cligo_led.qet @@ -0,0 +1,743 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + elementos importados + Elements importats + Importierte elemente + Zavedené prvky + Elementi importati + Uvezeni elementi + Elemente importate + Εισηγμένα στοιχεία + Elementy importowane + Imported elements + Éléments importés + Импортированные элементы + Elementos importados + Elementen geïmporteerd + + + + Elektrik + Elettrica + Elektrotechnika + Ηλεκτρικά + Elektrotechnika + Electric + Electrique + Электротехника + Elektrotechniek + + + + Jednopólové + Unifilare + Einpolig + Μονογραμμικό + Schematy jednoliniowe + Single pole + Unifilaire + Однополюсные + Enkel pool + + + + Elektronik und Halbleiter + Elektronika a polovodiče + Elettronica e semiconduttori + Ηλεκτρονικά και ημιαγωγοί + Elektronika i półprzewodniki + Electronics and semiconductors + Electronique et semi-conducteurs + Электроника и полупроводники + Electronica en halfgeleiders + + + + Resistência + Widerstände + Resistori + Odporník + Αντιστάσεις + مُقاومة + Rezystory + Resistors + Résistances + Резисторы + Resistencia + Weerstand + + + + + + مُقاومة + Widerstand + Резистор + Resistência + Αντίσταση + Resistor + Resistore + Résistance + Rezystor + Resistencia + Odporník + Weerstand + + Author: The QElectroTech team +License: see http://qelectrotech.org/wiki/doc/elements_license + + + + + + + + + + + + + + + + Herstellerartikel + Marchi produttori + Κατασκευαστές υλικού + Urządzenia producentów + Manufacturers articles + Articles constructeurs + База изделий производителей + + + + KNX + KNX + + + + Diversos + Diverses + Varie + Různé + Διάφορα + متفرقات + Różne + Misc + Diversen + Divers + Разное + Diversos + Diversen + + + + + + Display digitale + Afficheur led + Digitaal Scherm + Wyświetlacz binarny + Binary display + Display digital + Digitální obrazovka + + Author: The QElectroTech team +License: see http://qelectrotech.org/wiki/doc/elements_license + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Arduino + Arduino + + + + + + Arduino Uno + Arduino Uno + Arduino Uno + Arduino Uno + Arduino Uno + Arduino Uno + + ezza + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Vícežilový + Multifilare + Allpolig + Πολυγραμμικό + Schematy wieloliniowe + All-pole + Multifilaire + Многополюсные + Veel polig + + + + Elettronica e semiconduttori + Elektronik und Halbleiter + Ηλεκτρονικά και ημιαγωγοί + Elektronika i półprzewodniki + Electronics and semiconductors + Electronique et semi-conducteurs + Электроника и полупроводники + Electronica en halfgeleiders + + + + Dioden + Diodo + Dioda + Δίοδοι + Diody + Diode + Diode + Диоды + Diodes + + + + + + دايود ضاوي LED + LED + Светодиод + LED + Δίοδος LED + LED + LED + DEL + Dioda elektroluminescencyjna (LED) + LED + Svítící dioda (světelná emisní dioda - LED) + LED + + Author: The QElectroTech team +License: see http://qelectrotech.org/wiki/doc/elements_license + + + + + + + + + + + + + + + + + + Resistência + Widerstände + Resistori + Odporník + Αντιστάσεις + مُقاومة + Rezystory + Resistors + Résistances + Резисторы + Resistencia + Weerstand + + + + + + Αντίσταση + Résistance + Widerstand + Odporník + Резистор + Resistencia + مُقاومة + Resistore + Rezystor + Resistor + Resistência + Weerstand + + EN 60617: 04-01-01 + + + + + + + + + + + + + + + + + + Utilizzatori e attuatori + Verbraucher und Aktoren + Spotřebitelé a spouštěče + Καταναλώσεις και ενεργοποιητές + Odbiorniki i urządzenia wykonawcze + Consumers and actuators + Consommateurs et actionneurs + Исполнительные механизмы + Verbruikers en bewegingen + + + + iscaldamento + Heizungen + Topení + Θερμαντήρες + Ogrzewanie + Heatings + Chauffages + Нагреватели + Verwarming + + + + + + Vytápěcí odpory + Resistenza di riscaldamento + Grzejnik + Resistances heating + Verwarmingsweerstand + Heizwiderstand + مقاومة تسخين + Resistances chauffantes + Αντίσταση θέρμανσης + + Author: The QElectroTech team +License: see http://qelectrotech.org/wiki/doc/elements_license + + + + + + + + + + + + + + + + + + + + + + + diff --git a/content/cligo_led.svg b/content/cligo_led.svg new file mode 100644 index 0000000..18669d5 --- /dev/null +++ b/content/cligo_led.svg @@ -0,0 +1,1273 @@ + + +Qt SVG Document +Generated with Qt + + + + + + + + + + + + + + + + + + + + +3.3V + + + +GND + + + + + + + + + + + +GND + + + + + + + +Vin + + + + + + + +ANALOG IN + + + +POWER + + + +RESET + + + +5V + + + + + + + +IO ref + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +RX + + + + + + + + + + + + + + + + + + + + + + + +L + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +A5 + + + + + + + +A4 + + + +A3 + + + + + + + +A0 + + + + + + + +A2 + + + + + + + +A1 + + + + + + + +~9 + + + +12 + + + +~10 + + + +TX->1 + + + +RX<-0 + + + +~11 + + + +8 + + + +4 + + + +7 + + + +~3 + + + +2 + + + +13 + + + +DIGITAL (PWM~) + + + +~5 + + + +~6 + + + +AREF + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +GND + + + + + + + + + + + +ARDUINO + + + + + + + + + + + + + + + + + + + +UNO + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +TX + + + +AIMEL + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +MADE IN ITALY + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +LED + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Résistance + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/content/condensateur.jpg b/content/condensateur.jpg new file mode 100644 index 0000000..6f25b2a Binary files /dev/null and b/content/condensateur.jpg differ diff --git a/content/l293d.svg b/content/l293d.svg new file mode 100644 index 0000000..825d29a --- /dev/null +++ b/content/l293d.svg @@ -0,0 +1,851 @@ + + + + + + image/svg+xml + + Qt SVG Document + + + + + Qt SVG Document + Generated with Qt + + + + GROUND + + + 8 + + + 9 + + + 10 + + + 11 + + + 12 + + + 13 + + + 5 + + + 1 + + + 4 + + + 7 + + + 16 + + + 6 + + + 3 + + + + + + 2 + + + 14 + + + 15 + + + 3A + + + 3Y + + + 1Y + + + 1A + + + 1,2EN + + + VCC1 + + + 4A + + + 4Y + + + GROUND + + + 3,4EN + + + VCC2 + + + 2A + + + 2Y + + + L293D + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/content/nokia_5110.qet b/content/nokia_5110.qet new file mode 100644 index 0000000..c863054 --- /dev/null +++ b/content/nokia_5110.qet @@ -0,0 +1,851 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Nokia 5110 + Nokia 5110 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 74HC4050 + 74HC4050 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Imported elements + elementos importados + Elemente importate + Elementi importati + Elementy importowane + Elementen geïmporteerd + Uvezeni elementi + Éléments importés + Εισηγμένα στοιχεία + Zavedené prvky + Elements importats + Импортированные элементы + Importierte elemente + Elementos importados + + + + Electric + Elettrica + Elektrotechnika + Elektrotechniek + Ηλεκτρικά + Electrique + Elektrotechnika + Электротехника + Elektrik + Elektrisk + Eléctrica + + + + All-pole + Multifilare + Schematy wieloliniowe + Veel polig + Πολυγραμμικό + Multifilaire + Vícežilový + Многополюсные + Allpolig + Flere ledere + Multifilar + + + + Electronics and semiconductors + Elettronica e semiconduttori + Elektronika i półprzewodniki + Electronica en halfgeleiders + Electronique et semi-conducteurs + Ηλεκτρονικά και ημιαγωγοί + Электроника и полупроводники + Elektronik und Halbleiter + Electrónica y semiconductores + + + + Integrated circuits + Circuiti integrati + Układy scalone + Geintegreerde schakelingen IC + Ολοκληρωμένα κυκλώματα + Circuits integrés + Integrované obvody + Микросхемы + دوائر مدمجة + Integrierte Schaltungen + + + + + + دائرة مدمجة 16 دبوس, مُرقّمة + Integrierte Schaltung 16 Anschlüsse nummeriert + Ολοκληρωμένο κύκλωμα 16 ακροδεκτών, αριθμημένο + Integrated Circuit, 16 pins, numbered + Circuito integrato, 16 pin numerati + Circuit integré 16 broches , numerotées + Układ scalony, 16 nóżek (ponumerowany) + Integrovaný obvod, 16 očíslovaných kolíků + IC 16 pin nummers + + Author: The QElectroTech team +License: see http://qelectrotech.org/wiki/doc/elements_license + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Manufacturers articles + Marchi produttori + Urządzenia producentów + Κατασκευαστές υλικού + Articles constructeurs + База изделий производителей + Herstellerartikel + Producent produkter + Articulos de fabricantes + + + + Arduino + Arduino + + + + + + Arduino Uno + Arduino Uno + Arduino Uno + Arduino Uno + Arduino Uno + Arduino Uno + + ezza + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Integrated Circuit, 16 pins, numbered + Circuito integrato, 16 pin numerati + IC 16 pin nummers + Układ scalony, 16 nóżek (ponumerowany) + Ολοκληρωμένο κύκλωμα 16 ακροδεκτών, αριθμημένο + 74HC4050 + Integrovaný obvod, 16 očíslovaných kolíků + دائرة مدمجة 16 دبوس, مُرقّمة + Integrierte Schaltung 16 Anschlüsse nummeriert + + Author: The QElectroTech team +License: see http://qelectrotech.org/wiki/doc/elements_license + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Nokia 5110 LCD + + + + + + + + + + + + + + + + + + + + + + + diff --git a/content/nokia_5110.svg b/content/nokia_5110.svg new file mode 100644 index 0000000..949e730 --- /dev/null +++ b/content/nokia_5110.svg @@ -0,0 +1,4031 @@ + + + + + + image/svg+xml + + Qt SVG Document + + + + + Qt SVG Document + Generated with Qt + + + + + + + + + + 3.3V + + + GND + + + + + + + + + GND + + + + + + Vin + + + + + + ANALOG IN + + + POWER + + + RESET + + + 5V + + + + + + IO ref + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + RX + + + + + + + + + + + + + + + + + + L + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A5 + + + + + + A4 + + + A3 + + + + + + A0 + + + + + + A2 + + + + + + A1 + + + + + + ~9 + + + ~11 + + + 7 + + + 13 + + + DIGITAL (PWM~) + + + ~5 + + + ~6 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GND + + + + + + + + + ARDUINO + + + + + + + + + + + + + + + UNO + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + TX + + + AIMEL + + + + + + + + + + + + + + + + + + + + + + + + + + + MADE IN ITALY + + + + + + + + + + + + + + + + + + + + + + + + + + + + Nokia 5110 + + + + + 3A + + + + + + 3Y + + + 5Y + + + 1Y + + + 5A + + + 2Y + + + 6A + + + 2A + + + 4Y + + + 6Y + + + 4A + + + + + + 9 + + + 10 + + + 11 + + + 12 + + + 6 + + + + + + + + + 2 + + + 5 + + + + + + 1 + + + 8 + + + + + + + + + 15 + + + 7 + + + + + + + + + 4 + + + + + + + + + + + + + + + + + + + + + + + + + + + NC + + + 3 + + + NC + + + + + + 14 + + + GND + + + VCC + + + 1A + + + + 74HC4050 + + + + + + + + + SLCK + + + + + + + + + SCLK + + + + + + + + + D/C + + + + + + + + + RST + + + + + + + + + LED + + + + + + + + + D/C + + + + + + + + + SCE + + + + + + + + + + + + + + 3.3V + + + + + + + + + + + + + GND + + + + + + + + + SCE + + + + + + + + + + + + + + + + 3.3V + + + + + + + + + GND + + + + + + + + + RST + + + + + + + + + LED + + + + + + + + + DN(MOSI) + + + + + + + + + DN(MOSI) + + + + + diff --git a/content/nokia_5110_montage.jpg b/content/nokia_5110_montage.jpg new file mode 100644 index 0000000..5756099 Binary files /dev/null and b/content/nokia_5110_montage.jpg differ diff --git a/content/ohm.py b/content/ohm.py new file mode 100644 index 0000000..a189c55 --- /dev/null +++ b/content/ohm.py @@ -0,0 +1,24 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- + +def get_value(r1, r2, vin): + va = r2 * vin /(r2 + r1) + print("Va: ", va) + value = int((va * 1023) / vin) + + if value == 0: + return 0, 0 + realr1 = r2 * ((1023. / value) - 1) + return value, int(realr1) + +if __name__ == "__main__": + + vin = float(input("vin? ")) + r2 = int(input("r2? ")) + while True: + r1 = int(input("r1? ")) + value, realr1 = get_value(r1, r2, vin) + i = vin / (r1 + r2) + print(value, realr1, i) + + diff --git a/content/piezzo_buzzer.jpg b/content/piezzo_buzzer.jpg new file mode 100755 index 0000000..103c5ca Binary files /dev/null and b/content/piezzo_buzzer.jpg differ diff --git a/content/polarity.svg b/content/polarity.svg new file mode 100644 index 0000000..281f4e2 --- /dev/null +++ b/content/polarity.svg @@ -0,0 +1,115 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + - + + diff --git a/content/pont_diviseur.qet b/content/pont_diviseur.qet new file mode 100644 index 0000000..da8a43f --- /dev/null +++ b/content/pont_diviseur.qet @@ -0,0 +1,333 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Elementos importados + Elementen geïmporteerd + elementos importados + Elements importats + Importierte elemente + Zavedené prvky + Elementi importati + Uvezeni elementi + Elemente importate + Εισηγμένα στοιχεία + Elementy importowane + Imported elements + Éléments importés + Импортированные элементы + + + + Elektrotechniek + Elektrik + Elettrica + Elektrotechnika + Ηλεκτρικά + Elektrotechnika + Electric + Electrique + Электротехника + + + + Veel polig + Vícežilový + Multifilare + Allpolig + Πολυγραμμικό + Schematy wieloliniowe + All-pole + Multifilaire + Многополюсные + + + + Netwerk voedingen + Alimentazione da rete + Netzquellen + Síťové zdroje + Παροχές δικτύου + Sieć elektroenergetyczna + Network supplies + Sources réseau + Подвод питания, сеть + + + + + + Massa + Masa + Massa + Σασί + Masse + Kostra + Masa + Massa + هيكل معدني + Chassis + Masse + Шасси + + Author: The QElectroTech team +License: see http://qelectrotech.org/wiki/doc/elements_license + + + + + + + + + + + + + + + + + Electronica en halfgeleiders + Elettronica e semiconduttori + Elektronik und Halbleiter + Ηλεκτρονικά και ημιαγωγοί + Elektronika i półprzewodniki + Electronics and semiconductors + Electronique et semi-conducteurs + Электроника и полупроводники + + + + Resistencia + Weerstand + Resistência + Widerstände + Resistori + Odporník + Αντιστάσεις + مُقاومة + Rezystory + Resistors + Résistances + Резисторы + + + + + + Αντίσταση + Résistance + Widerstand + Odporník + Резистор + Resistencia + مُقاومة + Resistore + Rezystor + Resistor + Resistência + Weerstand + + EN 60617: 04-01-01 + + + + + + + + + + + + + + + + + + Verbindingen + Verbindungen + Collegamenti + Spojení + Ενώσεις + Połączenie + Connections + Connections + Соединения + + + + + + Cross + Croce + Пересечение + Croix + Połączenie 2 + Kříž + + + + + + + + + + + + + + + + + Corner + Angolo + Угол + Coin + Narożnik + Roh + + + + + + + + + + + + + Kabels en draden + Cavi e collegamenti + Kabel und Verdrahtung + Kabely a drátové propojení + Καλώδια και καλωδίωση + Przewody i kable + Cables and wiring + Câbles et filerie + Кабели и провода + + + + + + + diff --git a/content/pont_diviseur.svg b/content/pont_diviseur.svg new file mode 100644 index 0000000..7eb903b --- /dev/null +++ b/content/pont_diviseur.svg @@ -0,0 +1,549 @@ + + +Qt SVG Document +Generated with Qt + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +R1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +R2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +_ + + + + + + + + + + + + + + + + +_ + + + + + + + + + + + + + + + + +_ + + + + + + + + + + + + +Va + + + + + + + + + + + + + + + + +_ + + + + + + + + + + + + +Vcc + + + + + + + + + + + + diff --git a/content/s-l500.jpg b/content/s-l500.jpg new file mode 100644 index 0000000..797a62b Binary files /dev/null and b/content/s-l500.jpg differ diff --git a/notes_arduino.rst b/notes_arduino.rst new file mode 100644 index 0000000..2b4d648 --- /dev/null +++ b/notes_arduino.rst @@ -0,0 +1,1260 @@ +.. -*- mode: rst -*- +.. -*- coding: utf-8 -*- + +.. default-role:: literal +.. role:: smallcaps +.. role:: index +.. |led| replace:: :smallcaps:`led` + +.. include:: resources/units.rst + +.. sectnum:: + :depth: 2 + +**************** +La carte Arduino +**************** + +.. image:: content/ARDUINO_UNO_DIP_01.png + :width: 50% + :align: center + +.. contents:: + :depth: 2 + +.. A partir de maintenant, on insère un saut de page avant chaque nouvelle + section, et l'on redéfini l'espace après le titre de la section. + +.. raw:: latex + + \newcommand{\sectionbreak}{\clearpage} + \titlespacing*{\section}{0pt}{1.1\baselineskip}{100pt} + +=============================== +Les sorties de la carte Arduino +=============================== + +Premier programme +================= + +Faire clignoter une |led| est l'une des premières étapes avec Arduino. C'est +aussi une introduction pour comprendre le fonctionnement de la carte. + +Ce premier programme ne nécessite pas de branchement : une |led| est présente +sur la carte et devrait s'allumer automatiquement en lançant le programme. + +Décomposition du programme +-------------------------- + +L'initialisation +~~~~~~~~~~~~~~~~ + +L'initialisation s'exécute seulement au démarrage du programme sur la carte +(et sera de nouveau exécutée si l'on appuie sur le bouton `reset`). + +.. code-block:: arduino + :number-lines: 9 + + // the setup routine runs once when you press reset: + void setup() { + // initialize the digital pin as an output. + pinMode(13, OUTPUT); + } + +Une seule instruction est lancée dans cet extrait : :index:`pinMode` +`pinMode` [#]_. Celle-ci permet d'indiquer au microcontrolleur si la broche +doit être configurée pour envoyer du courant, ou en recevoir. Puisque nous +souhaitons ici allumer une |led|, nous lui passons le paramètre `OUTPUT` en +argument. + +.. [#] https://www.arduino.cc/en/Reference/pinMode + +L'exécution +~~~~~~~~~~~ + +Voici le cœur du programme, ces instructions seront exécutées en boucles, +indéfiniment, tant que la carte sera sous tension. + +.. code-block:: arduino + :number-lines: 15 + + // the loop routine runs over and over again forever: + void loop() { + // turn the LED on (HIGH is the voltage level) + digitalWrite(13, HIGH); + delay(1000); // wait for a second + digitalWrite(13, LOW); + // turn the LED off by making the voltage LOW + delay(1000); // wait for a second + } + +Ce bloc est composé de quatre instructions, qui appellent deux fonctions +différentes. :index:`digitalWrite` `digitalWrite` [#]_ permet d'envoyer ou de +couper le courant sur une broche donnée. Pour allumer la |led|, nous commençons +donc en donnant `HIGH` en paramètre. + +.. [#] https://www.arduino.cc/en/Reference/digitalWrite + +Vient ensuite une instruction permettant de faire une pause dans le programme : +:index:`delay` `delay` [#]_. Cette fonction prend en paramètre la durée de la +pause (en millisecondes, `1000` vaut donc une seconde). + +.. [#] https://www.arduino.cc/en/Reference/delay + +Afin de faire clignoter la |led|, il est nécessaire de l'éteindre ensuite. +C'est pourquoi nous retrouvons l'instruction `digitalWrite`, mais cette fois +avec la valeur `LOW`, suivi d'une nouvelle pause d'une seconde. + +.. sidebar:: digital + + digital signifie *numérique*. Le terme indique une valeur que l'on peut + exprimer en nombre entier (1, 2, 3…). + +Le programme complet +-------------------- + +.. sidebar:: Chargement + + Ce programme est disponible dans l'environnement Arduino dans les exemples : + Basic / Blink + +.. code-block:: arduino + + /* + Blink + Turns on an LED on for one second, then off for one + second, repeatedly. + + This example code is in the public domain. + */ + + // the setup routine runs once when you press reset: + void setup() { + // initialize the digital pin as an output. + pinMode(13, OUTPUT); + } + + // the loop routine runs over and over again forever: + void loop() { + // turn the LED on (HIGH is the voltage level) + digitalWrite(13, HIGH); + delay(1000); // wait for a second + digitalWrite(13, LOW); + // turn the LED off by making the voltage LOW + delay(1000); // wait for a second + } + +Utiliser une led externe +======================== + +.. sidebar:: Une led + + .. image:: content/5mm_Red_LED.jpg + :align: center + :width: 100% + +Suite à ce premier exemple, nous allons maintenant faire évoluer notre +programme pour l'adapter à une |led| que nous allons brancher à la carte. +Puisque nous intégrons un composant externe, nous allons devoir veiller à ce +que celui-ci soit compatible avec l'alimentation de la carte Arduino : certains +composants nécessitent une tension plus importante (par exemple un moteur), +d'autre des tensions plus faibles (au risque de faire griller le composant). + +Le tableau suivant indique la valeur minimale et maximale supportée par +différents types de |led|, ainsi que l'intensité du courant pour la tension +minimale et maximale. + +======= =========== ============== ================ +Taille Couleur Tension (`V`) Intensité (`mA`) +======= =========== ============== ================ +3mm rouge `1.8`-`2.5` `5`-`18` +3mm vert `2.1`-`2.6` `5`-`17.5` +3mm jaune `1.8`-`2.0` `5`-`17.5` +5mm rouge `1.9`-`2.3` `5`-`18` +5mm vert `1.9`-`2.5` `4`-`14` +5mm jaune `1.9`-`2.5` `5`-`15` +======= =========== ============== ================ + +.. sidebar:: Polarisation + + la |led| ne laisse passer le courant que dans un seul sens. C'est pourquoi + les deux broches ne sont pas de la même longueur. La patte la plus courte + doit être branchée sur le pôle `-`. + +.. admonition:: Attention + :class: warning + + La tension de sortie de la carte est de 5 |V|. Or, en lisant le tableau, on + voit bien que les |led|\ s ne supporteront pas cette tension à leur borne, il + est donc nécessaire de mettre en place un système pour réduire la tension + dans les limites de ce qui est acceptable par la |led|. + +Dans notre situation, la tension délivrée par la carte Arduino et le courant +qui traversera la |led| sont stables — la |led| ne modifie pas son comportement +pendant son fonctionnement. Nous pouvons utiliser le schéma le plus simple pour +réduire la tension : *la résistance chutrice*. + +.. figure:: content/cligo_led.pdf + :width: 100% + + Arduino, LED et une résistance + +Calcul de la résistance +----------------------- + +La résistance à placer se calcule de la manière suivante : + +.. math:: + + R = \frac{(U-Ul)}{I} + +.. sidebar:: Valeurs + + :R: Résistance + :U: Tension de l'alimentation + :Ul: Tension de la |led| + :I: Intensité de la |led| + +Dans notre exemple, en prenant l'intensité maximale supportée par la |LED| nous +obtenons le calcul suivant : + +.. math:: + + R &= \frac{(5-2.5)}{0.018} \\ + &= 139\ \Omega + +.. sidebar:: Déjà des calculs ? + + Ce petit calcul peut sembler théorique, toutefois nous en aurons besoin par + la suite, quand il sera nécessaire d'alimenter des composants avec des + tensions différentes que l'alimentation. (Nous aborderons cela plus loin avec + les notions de *Pont diviseur*, ainsi que les *régulateurs de tension*). + +La résistance choisie doit donc avoir une valeur supérieure. En consultant la +série E12 [#]_, on peut choisir la valeur la plus proche (par exemple 220 +:math:`\Omega`). + +.. [#] Série de douze valeurs utilisées dans les composants électroniques : + https://fr.wikipedia.org/wiki/CEI_60063 + +Vérification de l'intensité +--------------------------- + +On sait que : :math:`I = \frac{U}{R}` soit ici : + +.. math:: + + I &= \frac{U-Ul}{R} \\ + &= \frac{5-2.5}{220} \\ + &= 11.36\ mA + +Ce qui est suffisant pour alimenter notre composant. + + +Mise à jour du programme +------------------------ + +Nous pouvons maintenant mettre à jour notre programme. Il s'agit toujours du +même code que celui présenté plus haut avec toutefois une légère différence : +au lieu d'envoyer du courant sur la broche `13`, nous l'envoyons désormais sur +la broche `9`. Il est donc nécessaire de faire quelques modifications au lignes +`12`, `18` et `20`. + +Faire varier la luminosité +========================== + +Il existe 6 ports sur la carte Arduino permettant de faire varier la tension de +sortie : `3`, `5`, `6`, `9`, `10` et `11`. Les autres port permettent seulement +d'envoyer la tension `HIGH` ou `LOW`, c'est-à-dire 5 |V| ou 0 |V|. + +Il est possible d'utiliser la fonction :index:`analogWrite` `analogWrite` [#]_ +sur chacun de ses ports, en envoyant une valeur comprise entre `0` et `255`. + +.. [#] https://www.arduino.cc/en/Reference/AnalogWrite + +.. raw:: latex + + + \begin{center} + \begin{tikzpicture}[scale=2.6] + + \foreach \x in {0,0.5,...,5} { + \pgfmathtruncatemacro\result{\x * 255 / 5} + \draw (\x,-4pt) -- (\x,4pt) + node [below,yshift=-20] {\pgfmathprintnumber{\result}} + node [above] {$\x$V}; + } + + \draw (0,0) -- (5,0); + + \end{tikzpicture} + \end{center} + +.. sidebar:: `PWM` + + La variation de la tension est réalisée via la *modulation de largeur + d'impulsions* [#]_ qui permet de faire varier la tension en faisant varier de + manière très brève la durée pendnant laquelle le courant est émis. + +.. [#] https://fr.wikipedia.org/wiki/Modulation_de_largeur_d'impulsion + +.. note:: + + Les valeurs présentées ici sont des tensions *moyennes*. En envoyant la + valeur `127`, la tension sur la broche sera de 5 |V|, mais pendant une durée + très courte : + + .. raw:: latex + + \begin{tikzpicture} + \draw[help lines] (0,0) grid (7,1); + \draw[thick] (0,0) node[anchor=base east] {0V} -- ++(0,0) + \foreach \x in {1,...,7}{ + -- +(0,1) -- +(0.5,1) -- +(0.5,0) -- ++(1,0) + } -- +(0,.5); + \draw[thick,anchor=north east] (0,1) node {5V}; + \end{tikzpicture} + + Avec la valeur `192` la tension reste à 5 |V| pendant une durée plus longue : + + .. raw:: latex + + \begin{tikzpicture} + \draw[help lines] (0,0) grid (7,1); + \draw[thick] (0,0) node[anchor=south east] {0V} -- ++(0,0) + \foreach \x in {1,...,7}{ + -- +(0,1) -- +(0.75,1) -- +(0.75,0) -- ++(1,0) + } -- +(0,.5); + \draw[thick,anchor=north east] (0,1) node {5V}; + \end{tikzpicture} + + Dans tous les cas, la tension à la sortie de la borne sera de 5 |V|. Il est + toutefois possible de transformer ce signal en une vraie tension linéaire, à + l'aide d'un condensateur supplémentaire [#]_. + +.. [#] https://provideyourown.com/2011/analogwrite-convert-pwm-to-voltage/ + +.. admonition:: Mesure de la tension + :class: exercice + + Avec un multimètre, mesurer la tension en sortie de la borne en fonction de + diverses valeurs. + +Programme +--------- + +.. sidebar:: Ressource limitée ! + + Cette capacité à contrôler la tension de sortie est très intéressante (par + exemple pour demander à un moteur de tourner plus ou moins vite), mais est + limitée à 6 bornes seulement. Il vaut mieux les réserver quand nous avons + besoin d'une sortie analogique. + +.. code-block:: arduino + + // Fade + + // This example shows how to fade an LED on pin 9 + // using the analogWrite() function. + + // This example code is in the public domain. + + int led = 9; // the pin that the LED is attached to + int brightness = 0; // how bright the LED is + int fadeAmount = 5; // how many points to fade the LED by + + // the setup routine runs once when you press reset: + void setup() { + // declare pin 9 to be an output: + pinMode(led, OUTPUT); + } + + // the loop routine runs over and over again forever: + void loop() { + // set the brightness of pin 9: + analogWrite(led, brightness); + + // change the brightness for next time through the loop: + brightness = brightness + fadeAmount; + + // reverse the direction of the fading + // at the ends of the fade: + if (brightness == 0 || brightness == 255) { + fadeAmount = -fadeAmount ; + } + // wait for 30 milliseconds to see the dimming effect + delay(30); + } + + +Générer du son +============== + +.. sidebar:: Un piezzo buzzer + + .. image:: content/piezzo_buzzer.jpg + :align: center + :width: 100% + +Avec un piezzo buzzer il est possible d'ajouter une sortie sonore au programme. +Ceux que l'on trouve dans le commerce supportent une tension allant de 3 à +24 |V|, ce qui permet de brancher le buzzer directement en sortie de la carte. + +Le composant permet de produire du son en fonction de la fréquence du signal de +sortie. + +Il est possible d'utiliser la fonction `digitalWrite` sur une borne pour +produire un beep, mais il est plus intéressant de pouvoir contrôler la +fréquence de sortie. Nous utiliserons pour cela la fonction :index:`tone` +`tone` [#]_. (Cette instruction peut être utilisée sur une sortie numérique, il +n'est donc pas nécessaire de réserver une sortie analogique pour le buzzer.) + +.. [#] https://www.arduino.cc/en/Reference/Tone + +.. sidebar:: Qualité du son + + La fonction `tone` ne sait produire qu'un signal carré, ce qui signifie que + le son n'aura jamais les harmoniques d'un fichier :smallcaps:`mp3` ou + :smallcaps:`wav`. + +.. note:: + + La fonction `tone` n'est pas disponible sur toutes les cartes Arduino. Si + vous utilisez une carte *Gemma* ou *Due* (ou un autre microcontrolleur), la + fonction ne sera pas disponible. + + Dans ce cas, il est possible d'écrire soit même la fonction en utilisant + les instructions `delayMicroseconds` et `digitalWrite`. Dans ce cas la + fréquence des sons ne sera pas garantie, mais le but n'est pas de faire de la + carte Arduino un outil `hi-fi` : + + .. code-block:: arduino + + void tone(int targetPin, long frequency, long length) { + // calculate the delay value between transitions + // 1 second's worth of microseconds, divided by the + // frequency, then split in half since there are two + // phases to each cycle + long delayValue = 1000000/frequency/2; + // calculate the number of cycles for proper timing + // multiply frequency, which is really cycles per + // second, by the number of seconds to get the + // total number of cycles to produce + long numCycles = frequency * length/ 1000; + for (long i=0; i < numCycles; i++) { + // write the buzzer pin high to push out the diaphram + digitalWrite(targetPin,HIGH); + // wait for the calculated delay value + delayMicroseconds(delayValue); + // write the buzzer pin low to pull back the diaphram + digitalWrite(targetPin,LOW); + // wait again or the calculated delay value + delayMicroseconds(delayValue); + } + } + +Par exemple, en connectant le buzzer sur la broche `8`, l'instruction suivante +permettra de jouer un *la* pendant une seconde : + +.. code-block:: arduino + + tone(8, 440, 1000); + +En faisant varier la fréquence ainsi que la durée de chaque note, nous pourrons +ainsi jouer des mélodies (simples). Il est par contre nécessaire de connaître +la fréquence de la note que l'on souhaite jouer. (La table peut être obtenue +facilement sur internet [#]_). + +.. [#] https://fr.wikipedia.org/wiki/Note_de_musique + +.. sidebar:: Codification des notes + + En anglais, chaque note est codée par une lettre de A à G : C pour Do, D pour + Ré, F pour Mi, etc. + +Plutôt que d'écrire directement les fréquence dans le programme, il est plus +simple de coder les notes, et laisser l'application jouer les notes +correspondantes ; la notation anglaise est souvent utilisée. En associant +chaque fréquence à une valeur dans le programme, il devient plus facile +d'écrire la mélodie qui peut être codée en écrivant directement les notes de +musiques ! + +.. admonition:: Exercice + :class: exercice + + Écrire une petite mélodie ! + +Contrôler un moteur +=================== + +Avec ces instructions, il est temps de passer aux choses sérieuses. En +contrôlant les sorties à l'aide de l'instruction `digitalWrite`, nous allons +pouvoir donner du mouvement au robot en lui donant des roues. Mettre en route +un moteur n'est pas difficile, mais nécessite de prendre certaines précautions +avant de connecter notre moteur. + +.. admonition:: Attention + :class: warning + + Ne jamais brancher un moteur directement à la carte Arduino. D'une part parce + que la tension nécessaire pour activer le moteur risque d'être trop + importante pour la carte (dans le meilleur des cas, le moteur ne tournera + pas, dans le pire des cas la carte grillera), mais aussi parce qu'un moteur + fonctionne de la même manière qu'une dynamo : il produit du courant quand il + tourne. Ce courant risque de remonter dans la carte et générer un + court-circuit. + +Pour cette raison, nous utiliserons un contrôleur externe, destiné à nous +éviter de nombreuses complications : le L293D [#]_. Cette puce va nous permettre : + +.. [#] http://www.ti.com/lit/ds/symlink/l293d.pdf [#]_ + +.. [#] Prenez le temps de lire les spécification des composants. Elles sont en + anglais, mais donnent toutes les informations nécessaire pour utiliser + le composant au mieux : les caractéristiques générale, mais également + les cas d'utilisation, les valeurs maximales supportées, les conseils + de branchement etc. + +.. sidebar:: Une puce L293D + + .. image:: content/L293D_Motor_Driver.jpg + :align: center + :width: 100% + +- de protéger la carte Arduino en empêchant les surtensions : il intègre des + diodes de protections et des contrôleurs thermiques pour protéger le circuit. +- de limiter le cablage et les composants à utiliser : le composant supporte + des tensions de fonctionnement allant de 4,5 à 36 |V|, et permettra donc de + délivrer des tensions beaucoup plus puissantes que ce que peut fournir la + carte Arduino. + +.. note:: + + Il est parfaitement possible de contrôler un moteur directement à partir de + la carte Arduino sans utiler ce type de composant, mais nous compliquons + alors le schéma de cablage inutilement. La documentation technique du + composant nous montre comment réaliser le cablage équivalent avec des diodes + et des transitors (un double pont en H). + +En fait, la puce ne permet pas simplement de contrôler un moteur, mais quatre +! (ou alors deux moteurs pouvant tourner dans les deux sens). Cela correspond à +notre robot qui aura deux roues motrices : une seule puce et quelques fils +pourront permettre de faire rouler notre robot et lui faire réaliser quelques +manœuvres. + +.. figure:: content/l293d.pdf + :width: 50% + + L293D + + :EN: Puissance du moteur : permet de contrôler la vitesse de rotation du + moteur en fonction de la tension appliquée à la borne. Cette borne + peut être reliée à une borne analogique de la carte Arduino. + :A: Activation du moteur : permet d'activer le moteur connecté. Ces + bornes sont à relier aux sorties digitales de la carte. + :Y: Sortie à relier aux bornes des moteurs. + :VCC2: Alimentation des moteurs : cette borne est à relier à + l'alimentation générale (36 |V| max.) + :VCC1: Alimentation du composant (5 |V|) : cette borne est à relier à + l'alimentation stabilisée de la carte Arduino. + :ground: Ces bornes sont à relier à la masse + +Montage général +--------------- + +Il y a trois types de bornes sur le composant : celles destinées à être +connectées au moteur (`Y`), celles destinées à la carte Arduino (`EN` et `A`), +et celles qui qui servent à l'alimentation (`VCC`). Comme il est possible de +contrôler plusieurs moteurs, les bornes sont numérotées en fonction du moteur +contrôlé. + +Dans le cas d'un moteur devant tourner dans les deux sens, les bornes `Y` +doivent être connectées aux deux pattes du moteur : en envoyant du courant sur +l'une des deux bornes `A`, il devient possible de faire tourner le moteur dans +un sens ou un autre (le tableau présente l'exemple d'un moteur connecté aux +bornes `1` et `2`, un deuxième moteur pourra être contrôlé de la même manière +en le branchant sur les bornes `3` et `4`) : + +.. sidebar:: frein électromagnétique + + Le moteur génère de l'électricité en tournant (comme une dynamo). En + alimentant le moteur avec l'électricité qu'il produit lui-même, on peut ainsi + freiner le moteur avec sa propre énergie ! + +=========== =========== ============================================= +Tension 1A Tension 2A Résultat +=========== =========== ============================================= +`LOW` `LOW` Arrêt du moteur (frein électromagnétique) +`LOW` `HIGH` Faire tourner le moteur dans un sens +`HIGH` `LOW` Faire tourner le moteur en sens inverse +`HIGH` `HIGH` Arrêt du moteur (frein électromagnétique) +=========== =========== ============================================= + +Voir le schéma de branchement avec deux moteurs contrôlés depuis la carte +Arduino. + +.. figure:: content/arduino_l293d.pdf + :width: 100% + + L293D, Arduino et deux moteurs + + Les cables reliant le L293D à la masse, et l'alimentation des moteurs ne sont + pas représentés. + + :Cable bleu: Marche avant + :Cable vert: Marche arrière + :Cable orange: Puissance du moteur + +.. raw:: latex + + \pagebreak + +Programme +--------- + +.. sidebar:: Valeurs + + Les valeurs ne sont pas choisies par hasard : elles correspondent aux + paramètres des fonctions `digitalWrite` et `analogWrite` ! + +Ce programme n'est pas disponible dans l'environnement Arduino, cette fois nous +allons devoir l'écrire nous même. Afin de simplifier l'écriture, nous allons +définir une fonction `runMotor` qui prendra trois paramètres : + +:motor: Le numéro du moteur à activer, le 1er moteur déclaré aura la numéro `0` +:direction: La direction du moteur, elle peut prendre deux valeurs `HIGH` ou + `LOW` +:speed: La vitesse de rotation, cette valeur peut aller de `0` à `255` + +.. code-block:: arduino + + void runMotor(int motor, int direction, int speed) { + // … + } + + +.. admonition:: Contrôle du moteur + :class: exercice + + Avec la fonction `runMotor`, nous pouvons donner du mouvement au robot. En + donnant des paramètres de sens et de vitesse différents à la roue gauche et + droite le robot se déplacera différement. Donnez les paramètres de la + fonction `runMotor` pour réaliser les actions suivantes : + + - Marche avant + - Marche arrière + - Faire tourner le robot sur lui-même + - Faire un virage serré + - Faire un virage large + - Arrêt complet + +.. ========================= ========================= ========================== +.. Moteur 1 Moteur 2 Effet +.. ========================= ========================= ========================== +.. `runMotor(0, HIGH, 255)` `runMotor(1, HIGH, 255)` Marche avant +.. `runMotor(0, LOW, 255)` `runMotor(1, HIGH, 255)` Tourner sur lui-même +.. `runMotor(0, HIGH, 255)` `runMotor(1, LOW, 255)` Tourner sur lui-même (sens +.. inverse) +.. `runMotor(0, LOW, 255)` `runMotor(1, LOW, 255)` Marche arrière +.. `runMotor(0, LOW, 0)` `runMotor(1, HIGH, 255)` Virage serré +.. `runMotor(0, HIGH, 127)` `runMotor(1, HIGH, 255)` Virage large +.. `runMotor(0, LOW, 0)` `runMotor(1, LOW, 0)` Arrêt complet +.. ========================= ========================= ========================== + +Connecter un écran Nokia 5110 +============================= + +.. sidebar:: L'écran LCD + + .. image:: content/s-l500.jpg + :align: center + :width: 100% + +L'écran Nokia 5110 est un composant de base et peu honéreux (environ 2€) +permettant un affichage depuis la carte Arduino. Il permet un affichage sur une +grille de 84x48 pixels, soit 4 lignes de textes. + +.. admonition:: Tension de fonctionnement + :class: warning + + Le composant fonctionne sous 3,3 |V|, il n'est donc pas recommandé de le + brancher directement sur la carte Arduino (même si certains le font [#]_). + Dans le doute, commencez avec un correcteur de courant. + +.. [#] https://circuitdigest.com/microcontroller-projects/nokia5110-graphical-lcd-arduino-interfacing + +Level shifter 74HC4050N +----------------------- + +Ce composant est *unidirectionnel* et *High to Low* : en alimentant le +composant en 3.3 |V|, nous avons la possibilité de générer une sortie à 3.3 |V| +à partir de la carte Arduino : le composant possède 6 entrées et 6 sorties : à +chaque fois que la tension sur une borne d'entrée est supérieure à la tension +d'alimentation, la sortie correspondante sera activée. + +.. admonition:: Broches non connectées + :class: note + + Deux bornes ne sont pas connectées sur le composants : les bornes `13` et + `16`. Attention au moment du cablage ! + +.. sidebar:: Cablage + + Le cablage sur le composant `74HC4050N` importe peu, tant que chaque entrée + est bien associée à la sortie correspondantes. + +.. figure:: content/nokia_5110.pdf + :width: 100% + + Arduino, Nokia 5110, 74HC4050N + + :Cable Rouge: +3.3 |V| + :Cable Noir: Masse + :Cable Vert: Broche 7 - 3 (SCE) + :Cable Bleu: Broche 6 - 4 (RST) + :Cable Orange: Broche 5 - 5 (D/C) + :Cable Maron: Broches 11 - 6 (DN(MOSI)) + :Cable Cyan: Broche 13 - 7 (SeriaL CLock) + :Cable Mauve: Broche 9 - 8 (LED) + + +Le programme [#]_ + +.. image:: content/nokia_5110_montage.jpg + :width: 100% + + +.. [#] https://learn.sparkfun.com/tutorials/graphic-lcd-hookup-guide + + +.. default-role:: literal +.. role:: smallcaps +.. role:: index +.. |lcd| replace:: :smallcaps:`lcd` +.. |usb| replace:: :smallcaps:`usb` + +=============================== +Les entrées de la carte Arduino +=============================== + +Maintenant que nous avons vu comment contrôler les sorties de la carte Arduino, +il est temps de se poser la question d'utiliser les entrées de la carte : c'est +par ce moyen que nous allons pouvoir donner un peu de réaction à notre robot, à +travers des capteurs qui nous fournirons des informations sur le monde +extérieur. + +Utiliser Arduino comme ohmmètre +=============================== + +Lecture de la tension +--------------------- + +Il existe six ports sur la carte Arduino permettant de lire des valeurs +analogiques (`A0` — `A5`). + +Par exemple, la tension peut être lue le port `A0` sur avec l'instruction +:index:`analogRead` `analogRead(A0)` [#]_. Celle-ci est lue sur dix bits (soit +une valeur comprise entre `0` et `1023`), en fonction de la tension +d'alimentation de la carte Arduino (normalement 5 |V|). + +.. [#] https://www.arduino.cc/en/Reference/AnalogRead + +.. raw:: latex + + \begin{center} + \begin{tikzpicture}[scale=2.5] + + \foreach \x in {0,0.5,...,5} { + \pgfmathtruncatemacro\result{\x * 1023 / 5} + \draw (\x,-4pt) -- (\x,4pt) + node [below,yshift=-20] {\pgfmathprintnumber{\result}} + node [above] {$\x$ V}; + } + + \draw (0,0) -- (5.0,0); + + \end{tikzpicture} + \end{center} + +.. note:: + + Lors de l'écriture sur un port analogique, la précision est réalisée sur huit + bits (soit une valeur comprise entre `0` et `255`). Attention donc en + redirigeant l'entrée d'un port vers une sortie ! + +On peut donc utiliser la carte comme un voltmètre simple, pour mesurer une +tension entre 0 |V| et la tension d'alimentation (5 |V|). La formule suivante +permet de calculer la tension en fonction de la valeur retournée par la +fonction `AnalogRead` : + +.. math:: + + V = \frac{5 \times \mathtt{AnalogRead()}}{1023} + +Utiliser l'Arduino comme ohmmètre +--------------------------------- + +Notre premier montage pour illustrer la lecture d'une valeur consiste à +utiliser l'Arduino pour connaître la valeur d'une résistance. Nous allons +utiliser un *pont diviseur* (voir le schéma) avec une résistance connue, et une +autre dont on souhaitera déterminer la valeur : en lisant la tension +:math:`V_A`, il sera possible de déterminer la valeur de la résistance +inconnue. + +.. figure:: content/pont_diviseur.pdf + :width: 50% + :align: center + + Le pont diviseur + + + La plus simple représentation du diviseur de tension consiste à placer deux + résistances électriques en série. Ce type d'association de résistances étant + omniprésent dans les montages électriques, le pont diviseur en devient une des + notions fondamentales en électronique. + + + Il est possible de calculer facilement la valeur de :math:`V_A` dans le + montage, à la condition de connaitre les valeurs des résistances et la valeur + de la tension Vcc. La première formule à utiliser est celle de la loi d'Ohm qui + permet de citer cette équation : + + .. math:: + + I = \frac{V_\text{cc}}{R_1+R_2} + + En utilisant la loi d'Ohm une seconde fois, il est possible de déterminer + l'équation suivante: + + .. math:: + + V_a = R_2 \times I + + Dans la formule ci-dessous, il suffit de remplacer le courant :math:`I` par + sa valeur équivalente (la première équation) pour déterminer facilement + l'équation de :math:`V_A`: + + .. math:: + + V_a = R_2 \times (\frac{V_\text{cc}}{R_1+R_2}) + + **Exemple** + + Prenons les valeurs suivantes : + + - :math:`V_\text{cc}`: 9V + - :math:`R_1`: 1k :math:`\Omega` + - :math:`R_2`: 3k :math:`\Omega` + + .. math:: + + V_a &= R_2 \times \frac{V_\text{cc}}{R_1 + R_2} \\ + &= 3000 \times \frac{9}{1000+3000} \\ + & = \frac{27000}{4000} \\ + &= 6.75V + + La différence de potentiel :math:`V_A` sera égal à 6.75 |V| en utilisant les valeurs + précédentes. + +Dans notre cas, nous connaissons la tension ainsi que la valeur de la +résistance :math:`R_2`. Donc en reprenant la formule du calcul de :math:`V_A` +nous obtenons : + +.. math:: + + %V_a &= R_2 \times \frac{V_\text{cc}}{R_1 + R_2} \\ + %(R_1 + R_2) \times V_a &= R_2 \times V_\text{cc} \\ + %R_1 \times V_a + R_2 \times V_a &= R_2 \times V_\text{cc} \\ + %R_1 \times V_a &= R_2 \times V_\text{cc} - R_2 \times V_a \\ + %R_1 &= \frac{R_2 \times V_\text{cc}}{V_a} - \frac{R_2 \times V_a}{V_a} \\ + %R_1 &= \frac{R_2 \times V_\text{cc}}{V_a} - R_2 \\ + %R_1 &= R_2 \times \left(\frac{V_\text{cc}}{V_a} - 1\right) \\ + R_1 &= R_2 \times \left(\frac{1023}{\mathtt{AnalogRead()}} - 1\right) + +.. .. note:: +.. +.. +.. La dernière ligne du calcul peut se retrouver ainsi : on sait que la tension +.. lue par fonction `analogRead()` est échelonée de `0` à `1023` par rapport à +.. la tension d'alimentation, ce que l'on peut représenter dans la ligne +.. suivante : +.. +.. .. math:: +.. +.. V_A &= \frac{V_\text{cc} \times \mathtt{AnalogRead()}}{1023} && \text{donc} \\ +.. \frac{V_\text{cc}}{V_A} &= \frac{V_\text{cc}}{\frac{V_\text{cc} \times \mathtt{AnalogRead()}}{1023}} \\ +.. \frac{V_\text{cc}}{V_A} &= V_\text{cc} \times {\frac{1023}{V_\text{cc} \times \mathtt{AnalogRead()}}} \\ +.. \frac{V_\text{cc}}{V_A} &= \frac{1023}{\mathtt{AnalogRead()}} + +Contrôle théorique +~~~~~~~~~~~~~~~~~~ + +Ce programme en python permet de prédire les différentes valeurs qui seront +lues par la carte Arduino. Il reproduit (dans une certaine mesure) les erreurs +d'arrondis qui seront susceptible d'arriver sur la carte lors du calcul des +valeurs : + +.. sidebar:: Programme + + Ce programme va calculer la tension :math:`V_A`, la valeur lue par la fonction + `analogRead`, la valeur de la résistance calculée, et l'intensité qui + traverse les composants. + +.. include:: content/ohm.py + :code: python + +.. raw:: latex + + \pagebreak + + +Il permet de construire le tableau de valeurs suivant (avec :math:`R_2` = 1000 +:math:`\Omega`, et :math:`V_\text{cc}` = 5 |V|) : + +.. sidebar:: Tension théorique + + Ce tableau est construit à partir de la différence de potentielle théorique + au niveau de la résistance :math:`R_2`. Les valeurs réelles seront toujours + légèrement différentes lors du montage. + +=================== ================= ============= =================== +Résistance Tension théorique Valeur lue Résistance calculée +=================== ================= ============= =================== +10 :math:`\Omega` 4,95 |V| 1012 10 +220 :math:`\Omega` 4,1 |V| 838 220 +1k :math:`\Omega` 2.5 |V| 511 1 001 +10k :math:`\Omega` 0,45 |V| 93 10 000 +220k :math:`\Omega` 0,02 |V| 4 254 750 +=================== ================= ============= =================== + +Au delà de 220k :math:`\Omega`, la tension qui traverse :math:`R_2` devient si +faible que la valeur lue par la fonction `analogRead` tombe à `0`, ce qui +empêche toute mesure. En prenant une valeur plus importante pour la résistance +:math:`R_2`, la plage d'erreur sera plus faible pour des valeurs plus +importante de :math:`R_1` + +Montage +------- + +Le montage reste simple à mettre en place, il ne nécessite que deux résistances +(dont celle dont on souhaite calculer la valeur). + +.. figure:: content/arduino_ohmetre.pdf + :width: 70% + + Arduino comme ohmmètre + + La résistance :math:`R_1` sera calculée en fonction de la valeur de + :math:`R_2`. + + La résistance :math:`R_2` peut être choisie avec une valeur de + 1000 :math:`\Omega` par défaut, et changée en fonction du besoin. + +Le programme reprend la formule que nous avons calculé ci-dessus, et affiche le +résultat sur la console. + +.. code-block:: arduino + + // La résistance r2 doit être connue et + // renseignée dans le programme + int r2 = ...; + + void setup() { + Serial.begin(9600); + } + + void loop() { + + int r1 = r2 * ((1023 / (float)analogRead(A0)) - 1); + + Serial.print("R1: "); + Serial.println(r1); + + delay(1000);// wait for a second + } + +.. [#] https://www.arduino.cc/en/Serial/Print + +.. note:: + + Nous découvrons à l'occasion de ce programme la librairie `Serial` [#]_ qui + permet d'envoyer des données à l'ordinateur via le port |usb|. Il s'agit d'un + moyen pratique pour transmettre une valeur lue sur la carte. + + Nous pourrions enrichir ce schéma avec une sortie sur un écran |lcd| plutôt + que d'envoyer l'information vers l'ordinateur : nous aurons ainsi un ohmmètre + autonome ! + + +Capteur de proximité infrarouge +=============================== + +Dans un projet de robot mobile, il est nécessaire de tester la présence +d'objets à proximité pour éviter que celui-ci ne percute les obstacles. + +.. sidebar:: Capteur infrarouge + + .. image:: content/Sharp_GP2Y0A21YK.jpg + :align: center + :width: 100% + +Nous retrouvons deux types de senseurs sur les robots : des senseurs +optiques, ou par ultrasons. Le senseur Sharp relève de la première catégorie. +Il permet de détecter la présence d'un objet entre 10 et 80 cm, à partir du +retour de lumière infrarouge. + +Montage général +--------------- + +Le schéma suivant indique comment placer les différents câbles du connecteur +:smallcaps:`JST`. + +.. sidebar:: Condensateur + + Le condensateur présent sur le schéma permet ici de lisser les variations de + la tension. On l'appelle *Condensateur de découplage* [#]_. + +.. [#] https://fr.wikipedia.org/wiki/Condensateur_de_d%C3%A9couplage + +.. figure:: content/capteur_infra.pdf + :width: 100% + + Arduino, `GP2Y0A21YK` + + :Cable Rouge: +5 |V| + :Cable Noir: GND/Masse + :Cable Jaune ou Blanc: Entrée Analogique `A0` + +Tension de sortie +~~~~~~~~~~~~~~~~~ + +.. sidebar:: Tension d'entrée + + Même si le composant supporte une tension allant jusque 7 |V|, il fonctionne de + manière optimale avec des valeurs allant de 4,5 à 5,5 |V|. + +La tension de sortie, sur le fil jaune, nous indique la distance de l'objet. +Celle-ci varie entre 0,5 |V| et 3 |V| selon la distance de l'obstacle [#]_. + +.. [#] http://www.sharp-world.com/products/device/lineup/data/pdf/datasheet/gp2y0a21yk_e.pdf + +.. image:: content/gp2y0a21yk_e.pdf + :width: 100% + +.. Mesure de la tension en fonction de la distance + +Exemple +~~~~~~~ + +Ce programme lit l'entrée sur la broche `A0` et allume une |led| si un objet +est détecté à proximité (±20 |cm|) : + +.. code-block:: arduino + + + int ledPin = 9; // LED connected to digital pin 9 + + void setup() {} + + void loop() { + int sensorValue = analogRead(A0); + if (sensorValue < 220) + sensorValue = 0; + + analogWrite(ledPin, sensorValue >> 2); + delay(200); // delay 200 milliseconds + } + +.. Déclencher le capteur sur demande +.. --------------------------------- +.. +.. Plutôt que d'activer le capteur en continu, nous allons modifier le programme +.. pour n'activer la détection d'objets seulement en cas de mouvements du robot +.. (il n'est pas nécessaire de chercher à tester les obstacles si le robot ne se +.. déplace pas). Cela permettra d'augmenter l'autonomie du robot (en contre-partie +.. d'un port digital utilisé). La consommation du composant étant de 30 |mA|, nous +.. pouvons connecter directement la broche à l'Arduino, il sera capable de fournir +.. le courant nécessaire. +.. +.. Le capteur nécessite un délai minimal avant de fournir une valeur fiable. +.. +.. Créer une tension seuil +.. ----------------------- +.. +.. Nous n'avons pas un besoin réel d'évaluer la distance de l'objet, simplement de +.. pouvoir arrêter le robot s'il s'approche trop près d'un objet. Si l'on connaît +.. la distance d'arrêt souhaitée (et donc la tension) avant de construire le +.. robot, nous pouvons paramétrer le seuil de déclenchement de l'alarme, et +.. utiliser une broche digitale au lieu d'une broche analogique. + + +.. -*- mode: rst -*- +.. -*- coding: utf-8 -*- + +.. default-role:: literal +.. role:: smallcaps +.. role:: index + + +========================= +L'alimentation du système +========================= + +USB +=== + +L'|usb| fourni une tension de 5 |V| avec une intensité maximale de 100 |mA| sur +les bornes d'alimentation. Il est donc possible d'alimenter une carte Arduino +avec un câble |usb| (c'est d'ailleurs ainsi que l'on procède lorsque l'on +programme la carte). + +Source externe +============== + +.. sidebar:: Régulateur LM1117 + + .. image:: content/LM1117.jpg + :align: center + :width: 75% + +La carte Arduino possède un régulateur de tension intégré capable de produire +une tension de 5 |V|. Il est donc possible d'alimenter la carte avec une +tension supérieure pour alimenter le circuit. + +.. note:: + + La régulation de la tension est réalisée en convertissant la puissance + superflue en chaleur. Si la tension est trop importante, le composant va trop + chauffer et la carte va s'abîmer. + + De même, le régulateur consomme également du courant en fonctionnement, + donner une tension de 5 |V| sera trop juste pour alimenter le circuit. + + Aussi, la tension recommandée pour un bon fonctionnement est comprise entre 7 + à 12 |V|. + +.. sidebar:: Attention au sens ! + + En inversant le sens des fils entre la masse et l'alimentation, on applique + l'opposé de la tension attendue, ce qui ne plaira pas beaucoup au circuit ! + [#]_ + +.. [#] https://www.rugged-circuits.com/10-ways-to-destroy-an-arduino + +Il existe deux points de connexions sur la carte permettant d'utiliser le +régulateur de tension : la prise jack, ainsi que la borne `Vin`. + +Alimentation via prise jack +--------------------------- + +Il s'agit de la manière la plus simple pour alimenter le circuit, puisque la +carte Arduino possède une prise Jack. En respectant les limites des tensions +indiquées ci-dessus, il ne reste qu'à brancher la fiche sur la carte. + +Dans le cas d'un transformateur externe, il faut veiller à ce que symbole suivant + +.. image:: content/polarity.pdf + :width: 25% + :align: center + +soit présent sur la carte : c'est à dire que le fil `+` soit connecée au centre +de la borne d'alimentation. + +Alimentation directe sur la carte +--------------------------------- + +La borne `Vin` permet de connecter directement une alimentation à la carte : +elle est également reliée au régulateur de tension et supporte donc une tension +supérieure jusque 12 |V|. + +Là encore, il faut veiller à connecter les deux fils sur les bonnes bornes : la +carte Arduino n'offre aucune protection en cas d'erreur… + +Alimentation externe 5 |V| +========================== + +.. note:: + + Cette solution peut être utilisée si la tension d'entrée est supérieure à + 12 |V| : l'utilisation d'un régulateur de tension externe tel que le `LM7805` + permettra de prendre en entrée une tension jusqu'à 20 |V|. + +Si la tension externe est déjà stabilisée à 5 |V|, il n'est pas possible de se +connecter sur la broche `Vin` de la carte, puisqu'il faut au minimum du 7 |V| +pour avoir une tension de fonctionnement correcte. + +Alimentation par usb +-------------------- + +.. sidebar:: Cable + + .. image :: content/USB-2-0-B-MALE-TO-5.jpg + :width: 100% + +La solution la plus sûre dans ce cas est de brancher cette alimentation sur +l'entrée |usb| de la carte. On gagne ainsi en sécurité, au détriment d'un petit +peu de cablage supplémentaire. + +Alimentation par la broche 5V +----------------------------- + +Autre solution envisageable, brancher l'alimentation directement sur la broche +`5V` de la carte Arduino : cette borne est reliée au circuit 5 |V| de la carte, +et n'est pas uniquement une borne de sortie : elle relie l'ensemble des +composants qui ont besoin d'être alimentés avec cette tension. + +.. admonition:: Attention + :class: warning + + Alimenter la carte par la prise `5V` de la carte n'est pas recommandé : + + - Étant donné que l'on passe outre le régulateur de tension, il y a un risque + important de griller la carte si l'on applique une tension trop importante. + - Il interdit d'utiliser en même temps la prise |usb| + - Il interdit d'utiliser en même temps la prise `Vin` sous risque de griller + la carte + +En effet, cette prise est directement reliée au circuit 5 |V| et outrepasse +**toutes** les protections de la carte, qui n'est pas prévue pour être +alimentée ainsi. Il faut réserver cet usage a des cas particuliers (par exemple +alimenter deux cartes Arduino ensemble) + +Tableau récapitulatif +===================== + +Les différentes tensions admissibles : + +================ =============== =============== ============== +Entrée Tension min. Tension max. Intensité max. +================ =============== =============== ============== +Port USB 4,5 |V| 5,5 |V| +Broche `5V` 4,5 |V| 5,5 |V| +Prise jack 7 |V| 12 |V| +Broche `Vin` 6,6 |V| 12 |V| +================ =============== =============== ============== + + +============================== +Créer sa propre plaque arduino +============================== + +Il suffit d'un microcontrolleur pour faire fonctionner son programme arduino, +il n'est pas nécessaire d'acheter la carte déjà montée ! + +.. Avec un ATMege328 +.. ================= +.. +.. Voir le tutoriel [#]_ +.. +.. .. [#] https://www.arduino.cc/en/Tutorial/ArduinoToBreadboard +.. +.. RBBB propose de monter soit même son arduino + +Avec un AtTiny85 +================ + +.. figure:: content/attiny_programatter.pdf + :width: 100% + + Cablage du programmateur + diff --git a/resources/CaviarDreams.ttf b/resources/CaviarDreams.ttf new file mode 100755 index 0000000..4ba4279 Binary files /dev/null and b/resources/CaviarDreams.ttf differ diff --git a/resources/admonitions.tex b/resources/admonitions.tex new file mode 100644 index 0000000..5ab78ca --- /dev/null +++ b/resources/admonitions.tex @@ -0,0 +1,36 @@ +\usepackage{DUStyle} +\definecolor{orangeColor}{RGB}{255, 165, 0} +\definecolor{redColor}{RGB}{211, 38, 38} +\definecolor{blueColor}{RGB}{38, 38, 211} +\definecolor{lightBlueColor}{RGB}{0, 89, 255} +\definecolor{greenColor}{RGB}{38, 211, 38} + + +\usepackage{fontspec} +\RequirePackage{fontawesome} +% Style pour les avertissements +\createIconifiedDUStyle{warning}{orangeColor}{\faExclamation}{CaviarDreamsFont} +% Style pour les notes +\createIconifiedDUStyle{note}{lightBlueColor}{\faComment}{CaviarDreamsFont} +% Style pour les exercices +\createIconifiedDUStyle{exercice}{greenColor}{\faPencil}{CaviarDreamsFont} + +\let\oldttfamily\ttfamily + +\newenvironment{DUCLASScode}{% + \begin{mdframed}[topline=false,% + bottomline=false,% + rightline=false,% + leftline=false,% + linecolor=black,% + linewidth=3pt,% + skipabove=0.5cm,% + backgroundcolor=black!5] + %\small + %\let\ttfamily\DejaVuSansMono +}{% + \let\ttfamily\oldttfamily + \end{mdframed} +} + + diff --git a/resources/colors.tex b/resources/colors.tex new file mode 100755 index 0000000..ebecdb6 --- /dev/null +++ b/resources/colors.tex @@ -0,0 +1,5 @@ +\RequirePackage{color, framed} + +\definecolor{grisfonce}{RGB}{49,49,49} +\definecolor{blanc}{RGB}{255,255,255} +\ProcessOptions diff --git a/resources/figures.tex b/resources/figures.tex new file mode 100644 index 0000000..2957756 --- /dev/null +++ b/resources/figures.tex @@ -0,0 +1,20 @@ +\usepackage{float} +\floatplacement{figure}{htbp} % here, top, bottom, extra-page +%\floatstyle{boxed} +%\restylefloat{figure} + + +\usepackage{caption} +\captionsetup[figure]{name=Schéma} + +\let\legacyFigure\figure +\let\endlegacyFigure\endfigure + +\renewenvironment{figure}{% + \begin{legacyFigure}% + \begin{mdframed}[linecolor=gray]% +}{% + \end{mdframed}% + \end{legacyFigure}% +} + diff --git a/resources/header_footer.tex b/resources/header_footer.tex new file mode 100755 index 0000000..af80d26 --- /dev/null +++ b/resources/header_footer.tex @@ -0,0 +1,44 @@ +\RequirePackage{fancyhdr} + +\fancyhf{} +\pagestyle{fancy} % mise en page + +\makeatletter + +%%%% Commande \docutitre pour l'en-tete. +%%%% Il faut entrer le contenu via la commande: \docutitre{blablabla} +\newcommand*{\docutitre}[1]{\gdef\@docutitre{#1}} +\docutitre{} + +%% En-tete +%pages impaires +\fancyhead[RO]{\color{grisfonce}\@docutitre} +\fancyhead[LO]{\color{grisfonce}\@date} + +%pages paires +\fancyhead[RE]{\color{grisfonce}\@date } +\fancyhead[LE]{\color{grisfonce}\@docutitre } + + +%%%Pieds de page +%pages impaires +\fancyfoot[RO]{ +%\fcolorbox{fondtitre}{fondtitre}{\color{blanc}page \thepage}} % ici le num de page +{page \thepage}} % ici le num de page +\fancyfoot[LO]{ +\fcolorbox{blanc}{blanc}{\color{grisfonce}\@author}} % ici l'auteur +%pages paires +\fancyfoot[LE]{ +%\fcolorbox{fondtitre}{fondtitre}{\color{blanc}page \thepage}} % ici le num de page +{page \thepage}} % ici le num de page +\fancyfoot[RE]{ +\fcolorbox{blanc}{blanc}{\color{grisfonce}\@author}} % ici l'auteur + +\makeatother + +%%%%%%% ligne de l'entete %%%%%%%%%%% +% pour la rendre invisible, sur un fond blanc... on la peint en blanc + +\renewcommand{\headrule}{ +} + diff --git a/resources/language.tex b/resources/language.tex new file mode 100755 index 0000000..631a814 --- /dev/null +++ b/resources/language.tex @@ -0,0 +1,8 @@ +\RequirePackage[frenchb]{babel} + +%\frenchbsetup{ItemLabeli=\color{fondetsection}\ding{251}} + +\selectlanguage{french} +\frenchspacing +\FrenchFootnotes + diff --git a/resources/modules b/resources/modules new file mode 100755 index 0000000..931111e --- /dev/null +++ b/resources/modules @@ -0,0 +1,11 @@ +parskip # Ne pas indenter la premiere ligne d'un paragraphe +#ulem # Souligner le texte en emphase + +# Polices mathematiques. +amsmath +amsfonts +amssymb + +DUpygments-tango +DUsmallcaps +marginfix diff --git a/resources/nowidows.tex b/resources/nowidows.tex new file mode 100755 index 0000000..3b96931 --- /dev/null +++ b/resources/nowidows.tex @@ -0,0 +1,2 @@ +\widowpenalty=1000 +\clubpenalty=500 diff --git a/resources/preamble.tex b/resources/preamble.tex new file mode 100644 index 0000000..b524b89 --- /dev/null +++ b/resources/preamble.tex @@ -0,0 +1,51 @@ + +%\RequirePackage[utf8]{inputenc} % attention a l'UTF8, on peut choisir latin1... +%\RequirePackage[a4paper, top=3 cm, bottom=3 cm, left=2 cm, right=2 cm]{geometry} +\usepackage[a4paper, top=1.5cm, bottom=1.5cm, outer=5cm, inner=2cm, heightrounded, marginparwidth=3.5cm, marginparsep=0.9cm]{geometry} +%\renewcommand{\baselinestretch}{1.0} + +\usepackage{fontspec} +\setmainfont[Mapping=tex-text]{Linux Libertine O} + + +\newfontfamily\LibertineFont[Mapping=tex-text]{Linux Libertine O} +\newfontfamily\CaviarDreamsFont[Path=resources/, Mapping=tex-text]{CaviarDreams} +\newfontfamily\DejaVuSansMono{DejaVu Sans Mono} + +\setmonofont{Latin Modern Mono Light} + +%\RequirePackage[linecolor=blueColor]{DUsidebar} +\RequirePackage{DUsidebar} + +\definecolor{darkGray}{gray}{0.3} + +%\newcommand{\DUrolecode}[1]{\colorBox{black}{#1}} + +\newcommand{\DUtitletitle}[1]{% + {\normalsize\CaviarDreamsFont{#1}} +} + +\usepackage{longtable} +\usepackage{tabu} +% alternate rowcolors for all long-tables +\newenvironment{mytable}[2][c]% +{\longtabu to \linewidth [#1]{#2}\tableHeaderStyle}% +{\endlongtabu} + + +% This red commes from a triad on the blue +\colorlet{tableHeader}{redColor} +\definecolor{tableLineOne}{RGB}{245, 245, 245} +\definecolor{tableLineTwo}{RGB}{224, 224, 224} + +\newcommand{\tableHeaderStyle}{ + \rowfont{\leavevmode\color{white}\bfseries} + \rowcolor{tableHeader} +} + +\taburowcolors[2] 2{tableLineOne .. tableLineTwo} +\tabulinesep = ^4mm_3mm +\everyrow{\tabucline[.4mm white]{}} + +\usepackage{etoolbox} +\patchcmd{\quote}{\rightmargin}{\leftmargin 0em \rightmargin}{}{} diff --git a/resources/title_style.tex b/resources/title_style.tex new file mode 100755 index 0000000..e3cf026 --- /dev/null +++ b/resources/title_style.tex @@ -0,0 +1,67 @@ +\usepackage{titlesec} + +%% mise en page du titre + +%\let\oldtitle\title +%\renewcommand{\title}[1]{\oldtitle {titre}} + +%\makeatletter +%\def\maketitle{% +%%\thispagestyle{empty} %si on veut que la premiere page n'ai pas d'en-tete +%% \vspace*{\fill} +%%\begin{center} +%% \fcolorbox{grisfonce}{fondtitre}{ +%% \begin{minipage}{0.97\textwidth} +%% \vspace*{0.8cm} +%% \begin{center} +%% \begin{Huge}\sffamily\color{blanc} +%% \@title +%% \end{Huge} +%% \vfill +%% \end{center} +%% \begin{flushright}\sffamily\color{blanc} +%%% \@date \\ %si pas d'en-tete premiere page, alors mettre date ici +%% \@author +%% \end{flushright} +%% \end{minipage} +%% } +%%\end{center} +%%\vspace*{\fill} +%} +%\makeatother + +\newcommand{\periodafter}[1]{#1.} + +\titleformat{\section}[display]% shape + {\huge\bfseries}% format + { + \makebox[0pt][l]{% + \raisebox{-66pt}[100pt][0pt]{% + \textcolor{black!30}{\fontsize{136pt}{136pt}\selectfont\thesection}% + } + } + } + {0pt} + {\CaviarDreamsFont\Huge\bfseries} + +\newlength\marginSecLen +\setlength\marginSecLen{\dimexpr\oddsidemargin+0.8in+\hoffset\relax} + +% Titre de niveau 2 +\titleformat{\subsection}[block] + {\bfseries\Large} + {\llap{\hspace*{-\marginSecLen}\huge\textcolor{redColor}\thesubsection\hfill}} + {0em} + {} +% {\huge\textcolor{redColor}\thesubsection} +% {5pt} +% {} + +% Titre de niveau 3 +\titleformat{\subsubsection} + {\CaviarDreamsFont\selectfont\bfseries\large} + {\thesubsubsection} + {2em} + {} + {} + diff --git a/resources/units.rst b/resources/units.rst new file mode 100755 index 0000000..b4ee7fe --- /dev/null +++ b/resources/units.rst @@ -0,0 +1,16 @@ +.. -*- mode: rst -*- +.. -*- coding: utf-8 -*- + +.. default-role:: literal + +.. |V| unicode:: 0xA0 V + :ltrim: + +.. |cm| unicode:: 0xA0 cm + :ltrim: + +.. |mA| unicode:: 0xA0 mA + :ltrim: + +.. |Ohm| unicode:: 0xA0 :math:`\Omega` + :ltrim: diff --git a/resources/zz_ref.tex b/resources/zz_ref.tex new file mode 100755 index 0000000..ce338a7 --- /dev/null +++ b/resources/zz_ref.tex @@ -0,0 +1,35 @@ +\usepackage[ + pdfencoding=auto, + linkbordercolor={0.5 0 0}, + citebordercolor={0 0 0.5}, + urlbordercolor={0 0 0.8}, + pdfborderstyle={/S/U/W 1} +]{hyperref} + +% Remove the underline for the footnotes +\providecommand*{\DUfootnotemark}[3]{% + \hypersetup{pdfborderstyle={/W 0}}% + \raisebox{1em}{\hypertarget{#1}{}}% + \hyperlink{#2}{\textsuperscript{#3}}% + \hypersetup{pdfborderstyle={/S/U/W 1}}% +} + +\providecommand{\DUfootnotetext}[4]{% + \begingroup% + \renewcommand{\thefootnote}{% + \protect\hypersetup{pdfborderstyle={/W 0}}% + \protect\raisebox{1em}{\protect\hypertarget{#1}{}}% + \protect\hyperlink{#2}{#3} + \protect\hypersetup{pdfborderstyle={/S/U/W 1}}% + }% + \footnotetext{#4}% + \endgroup% +} + +\let\tableofcontentsWithoutRefMarks\tableofcontents + +\renewcommand{\tableofcontents}{% + \protect\hypersetup{pdfborderstyle={/W 0}}% + \tableofcontentsWithoutRefMarks + \protect\hypersetup{pdfborderstyle={/S/U/W 1}}% +} -- cgit v1.2.3