https://www.arduino.cc/en/software Software > Download options > Windows win 10 and never, 64 bits Just Download > Just Download
Double clic > arduino-ide_2.3.4_Windows_64bit.exe > J'accepte Juste pour moi (admins) > Suivant Dossier d'installation > C:\Users\admins\AppData\Local\Programs\Arduino IDE Cocher > Lancer Arduino IDE Installer > Fermer Autoriser > Autoriser Oui > Installer > Installer > Installer > Installer Oui
https://www.labcenter.com/ Circuit Simulation Software > Download Now Download Proteus Professional Demonstration Email > youremail@domain.com Cocher > Receive our demo resource mailchimp emails Submit ... Aller dans la boite email Cliquer sur le bouton > Proteus Demo Download ... Le téléchargement démarre
Double clic > prodemo.exe > Oui > Next Cocher > I accept the terms of this agreement > Next > Typical Run Proteus 8 Demonstration ... L'installation démarre
File > New Project
Tools > Save As Emplacement > v11 Nom du fichier > ReadyScope Enregistrer
Tools > Board > Arduino AVR Boards > Arduino UNO Emplacement > v11 Nom du fichier > ReadyScope Enregistrer
File > Preferences Show verbose output during > Cocher > Compile OK
int led = 13; ... void setup() { pinMode(led, OUTPUT); } ... void loop() { digitalWrite(led, HIGH); delay(500); digitalWrite(led, LOW); delay(500); }
Sketch > Verify/Compile ... Identifier > "C:\\Users\\admins\\AppData\\Local\\arduino\\sketches\\B5DB2962406473CC2FF3A779F9052EFC/ReadyScope.ino.hex
Copier > B5DB2962406473CC2FF3A779F9052EFC/ReadyScope.ino.hex Coller > Proteus/ReadyScope.ino.hex
https://goalmdcat.com/arduino-uno-library-for-proteus/ Download Arduino UNO Library for Proteus
Copier > ArduinoUnoTEP.LIB Copier > ArduinoUnoTEP.IDX Coller > C:\Program Files (x86)\Labcenter Electronics\Proteus 8 Professional\DATA\LIBRARY
File > New Sketch Name > ReadyScope.pdsprj Path > v11 Cocher > New Project Next > DEFAULT > Next Cocher > Do not create a PCB layout Next Cocher > No Firmware Project Next > Finish
Schematic Capture P > Arduino UNO R3 > OK P > LED-YELLOW > OK P > RES > OK
Schematic Capture Arduino UNO R3 > Clic droit > Edit Properties Program File > ReadyScope.ino.hex OK
Schematic Capture Run the simulation ... La diode LED se met à clignoter toutes les (500ms) sur la broche (13). ...
... // setup() > https://www.arduino.cc/reference/fr/language/structure/sketch/setup/ ... // loop() > https://www.arduino.cc/reference/fr/language/structure/sketch/loop/ ... // pinMode() > https://docs.arduino.cc/language-reference/en/functions/digital-io/pinMode/ ... // digitalWrite() > https://docs.arduino.cc/language-reference/en/functions/digital-io/digitalwrite/ ... // delay() > https://docs.arduino.cc/language-reference/en/functions/time/delay/ ...
Sketch > Include Library > Manage Libraries Barre de recherche > TimerOne TimerOne > Install
#include <TimerOne.h> ... unsigned long pwmP = 20000; byte pwmPon = 10; ... void setup() { ... pinMode(10, OUTPUT); Timer1.initialize(pwmP); Timer1.pwm(9, map(pwmPon, 0, 100, 0, 1023)); Timer1.attachInterrupt(callback); ... } ... void loop() { // code soruce } ... void callback(){ digitalWrite(10, digitalRead(10)^1); }
Sélectionner la portion de code Edit > Comment/Uncomment
Configurer le fichier HEX Démarrer la simulation ... La carte Arduino affiche un signal carré sur la broche (10). Chaque phase du signal carré (Ton, Toff) dure (20ms) soit (20.000µs) soit (50Hz). ... La carte Arduino affiche un signal PWM sur la broche (9). Le signal PWM a une période de (20ms) soit (20.000µs) soit (50Hz). ...
... // TimerOne // Timer1.initialize() // Timer1.pwm() // Timer1.attachInterrupt() > https://www.pjrc.com/teensy/td_libs_TimerOne.html ... // PWM (Pulse Width Modulation) - MLI (Modulation Largeur Impulsions) > https://fr.wikipedia.org/wiki/Modulation_de_largeur_d%27impulsion ...
... #define versao "v1.5" ... void setup() { ... Serial.begin(9600); Serial.println(); Serial.print(">init="); Serial.println(versao); ... } ...
Virtual Terminal > Clic droit > Edit Properties Baude Rate > 9600 > OK
Oscilloscope > Clic droit > Edit Properties Cocher > Exclude from Simulation > OK
Configurer le fichier HEX Démarrer la simulation ... La carte Arduino affiche un message d'initialisation sur le port série du terminal virtuel.
... // Serial.begin() > https://docs.arduino.cc/language-reference/en/functions/communication/serial/begin/ ... // Serial.println() > https://docs.arduino.cc/language-reference/en/functions/communication/serial/println/ ... // Serial.print() > https://docs.arduino.cc/language-reference/en/functions/communication/serial/print/ ... // Port série - UART - RS232 > https://fr.wikipedia.org/wiki/RS-232 ...
... #define pinA 7 #define pinB 8 ... byte entrada = 0; ... void setup() { ... pinMode(pinA, OUTPUT); pinMode(pinB, OUTPUT); selecionar(2); ... } ... void selecionar(byte e){ entrada=e; digitalWrite(pinA, bitRead(entrada, 0)); digitalWrite(pinB, bitRead(entrada, 1)); }
View > Snap 50th
2D Graphics Text Mode (A) C > COMPONENT Cliquer sur une zone vide String > S1 Horizontal > Center Vertical > Middle Global Style > COMPONENT Height > 0.1in OK
Configurer le fichier HEX Démarrer la simulation ... La carte Arduino affiche une valeur de sélection d'un multiplexeur sur 2 bits (S1, S0) connecté aux broches (8, 7). ... La carte Arduino affiche une valeur décimal (2) soit une valeur binaire (10) qui correspond à la sélection la sortie (2) du multiplexeur. ...
... // bitRead() > https://docs.arduino.cc/language-reference/en/functions/bits-and-bytes/bitRead/ ...
https://eterlogic.com/Products.VSPE_Download.html Download VSPE 64 bit (x64)
SetupVSPE_64_1.5.1.191.zip > Extraire SetupVSPE_64.msi > Next Cocher > I accept the terms in the License Agreement Next Destination Folder > C:\Program Files\Eterlogic Software\Virtual Serial Ports Emulator (x64)\ Next > Installer > Oui Finsih
Device > Create new device Device type > Virtual Pair Suivant Virtual serial port 1 > COM1 Virtual serial port 2 > COM2 Terminer
Bouton Windows > Gestionnaire de périphériques Ports (COM et LPT)
https://sourceforge.net/projects/realterm/files/ Download Last Version
Realterm_2.0.0.70_Signed_Wrapper_setup.exe > Double clic > Oui Next > Next Destination Folder > C:\Program Files (x86)\BEL\Realterm\ Next > Install > Finish
Port Baud > 9600 Port > 2=\VSPE_SERIAL2 Change ...
COMPIM > Clic droit > Edit Properties Pysical Port > COM1 Pysical Baud Rate > 9600 Virtual Baud Rate > 9600 Terminer
... byte entrada = 0; ... void loop() { lerSerial(); } ... void lerSerial() { char c; ... if (Serial.available() > 0) { c = Serial.read(); switch (c) { case 'h': printHelp(); break; default: Serial.print("erro c="); Serial.println(c, HEX); break; } } } ... void printHelp() { Serial.println("-----------------------"); Serial.print("! ReadyScope "); Serial.print(versao); Serial.println(" - youremail@domain.com !"); Serial.println("-----------------------"); } ...
Clic droit sur le symbole > Change All Occurrences versao > version
Clic droit sur le code > Formater Document
Configurer le fichier HEX Démarrer la simulation ... La carte Arduino affiche un message sur le terminal connecté au port série de l'ordinateur. ... Appuyer sur la touche (h) du terminal > Pour envoyer la commande (h) ... La carte Arduino affiche le message d'aide sur le terminal. ...
... // Serial.available() > https://docs.arduino.cc/language-reference/en/functions/communication/serial/available/ ... // Serial.read() > https://docs.arduino.cc/language-reference/en/functions/communication/serial/read/ ...
... unsigned int dt = 4; char unidade='m'; ... void lerSerial() { char c; int k; ... if (Serial.available() > 0) { c = Serial.read(); switch (c) { ... case 'd': k = Serial.parseInt(); if (k >= 1 && k <= 30000) { dt = k; } c = Serial.read(); if (c == 'u' || c == 'm') { unidade = c; } else { unidade = 'm'; dt *= 1000; } Serial.print("dt="); Serial.print(dt); Serial.println(unidade); break; ... } } } ...
Configurer le fichier HEX Démarrer la simulation ... La carte Arduino affiche un message sur le terminal connecté au port série de l'ordinateur. ... Appuyer sur les touches (d100m) du terminal > Pour envoyer la commande (d) ... La carte Arduino met la valeur (100) dans la varibale (dt). La carte Arduino met la valeur (m) dans la varibale (unidade). ... La carte Arduino configure l'intervalle d'acquisition des données à une durée de (100ms). ... Par défaut, la carte Arduino utilise un intervalle d'acquisition des données d'une durée de (4000ms) soit (4s). ...
... // Serial.parseInt() > https://www.arduino.cc/reference/tr/language/functions/communication/serial/parseint/ ...
... int q = 100; int qmax=100; ... void lerSerial() { ... if (Serial.available() > 0) { c = Serial.read(); switch (c) { ... case 'q': k = Serial.parseInt(); c = Serial.read(); if (k >= 1 && k <= qmax) { q = k; } Serial.print("q="); Serial.println(q); break; ... } } } ...
Configurer le fichier HEX Démarrer la simulation ... La carte Arduino affiche un message sur le terminal connecté au port série de l'ordinateur. ... Appuyer sur les touches (q50) du terminal > Pour envoyer la commande (q) ... La carte Arduino met la valeur (50) dans la varibale (q). ... La carte Arduino configure le nombre de lecture des données à une valeur de (50). ... Par défaut, la carte Arduino utilise un nombre de lecture des données d'une valeur de (100). ...
... boolean Ch[] = { true, true, true, true }; ... void lerSerial() { ... char c2; ... if (Serial.available() > 0) { c = Serial.read(); switch (c) { ... case 'c': delay(100); c = Serial.read(); delay(100); c2 = Serial.read(); if (c >= '0' && c <= '3') { if (c2 == 'o') { Ch[c - '0'] = true; } else if (c2 == 'x') { Ch[c - '0'] = false; } calcBuffer(); } for (k = 0; k < 4; k++) { Serial.print("Ch"); Serial.print(k); Serial.print("="); Serial.print(Ch[k]); Serial.print(";"); } Serial.println(); break; ... } } } ... void calcBuffer() { // code source } ...
Configurer le fichier HEX Démarrer la simulation ... La carte Arduino affiche un message sur le terminal connecté au port série de l'ordinateur. ... Appuyer sur les touches (c3x) du terminal > Pour envoyer la commande (c) ... La carte Arduino met la valeur (false) dans la varibale (Ch[3]). ... Par défaut, la carte Arduino utilise 4 canaux avec les valeurs à (true). ...
Configurer le fichier HEX Démarrer la simulation ... La carte Arduino affiche un message sur le terminal connecté au port série de l'ordinateur. ... Appuyer sur les touches (c3x) du terminal > Pour envoyer la commande (c) ... La carte Arduino met la valeur (false) dans la varibale (ch[3]). La carte Arduino met la valeur (3) dans la varibale (chq). La carte Arduino met la valeur (130) dans la varibale (qmax). La carte Arduino met la valeur (0) dans la varibale (chi[0]). La carte Arduino met la valeur (130) dans la varibale (chi[1]). La carte Arduino met la valeur (260) dans la varibale (chi[2]). La carte Arduino laisse la valeur (300) dans la varibale (chi[3]). ... Par défaut, la carte Arduino laisse la valeur (300) dans la varibale (chi[3]). ...
Configurer le fichier HEX Démarrer la simulation ... La carte Arduino affiche un message sur le terminal connecté au port série de l'ordinateur. ... Appuyer sur les touches (t3) du terminal > Pour envoyer la commande (t) ... La carte Arduino met la valeur ('3') dans la varibale (canalTrigger). ... Par défaut, la carte Arduino laisse la valeur ('x') dans la varibale (canalTrigger) pour la sélection de tous les canaux. ...
Configurer le fichier HEX Démarrer la simulation ... La carte Arduino affiche un message sur le terminal connecté au port série de l'ordinateur. ... Appuyer sur les touches (tv512) du terminal > Pour envoyer la commande (t) ... La carte Arduino met la valeur (512) dans la varibale (vtrigger). ... Par défaut, la carte Arduino laisse la valeur (0) dans la varibale (vtrigger) soit (0V). ...
Configurer le fichier HEX Démarrer la simulation ... La carte Arduino affiche un message sur le terminal connecté au port série de l'ordinateur. ... Appuyer sur les touches (1) du terminal > Pour envoyer la commande (1) ... La carte Arduino met la valeur (true) dans la varibale (uma). La carte Arduino met la valeur (false) dans la varibale (varias). La carte Arduino met la valeur (false) dans la varibale (fluxo). ... Par défaut, la carte Arduino laisse la valeur (false) dans la varibale (uma). ...
Configurer le fichier HEX Démarrer la simulation ... La carte Arduino affiche un message sur le terminal connecté au port série de l'ordinateur. ... Appuyer sur les touches (fo) du terminal > Pour envoyer la commande (f) ... La carte Arduino met la valeur (true) dans la varibale (fluxo). La carte Arduino met la valeur (false) dans la varibale (varias). La carte Arduino met la valeur (false) dans la varibale (uma). ... La carte Arduino met la valeur (false) dans la varibale (fluxo). ...
Configurer le fichier HEX Démarrer la simulation ... La carte Arduino affiche un message sur le terminal connecté au port série de l'ordinateur. ... Appuyer sur les touches (vo) du terminal > Pour envoyer la commande (v) ... La carte Arduino met la valeur (true) dans la varibale (varias). ... Par défaut, la carte Arduino laisse la valeur (false) dans la varibale (varias). ...
Configurer le fichier HEX Démarrer la simulation ... La carte Arduino affiche un message sur le terminal connecté au port série de l'ordinateur. ... Appuyer sur les touches (ro) du terminal > Pour envoyer la commande (r) ... La carte Arduino met la valeur (true) dans la varibale (lerRC). La carte Arduino met la valeur (0) dans la varibale (dtRC). ... Par défaut, la carte Arduino laisse la valeur (false) dans la varibale (lerRC). ...
Configurer le fichier HEX Démarrer la simulation ... La carte Arduino affiche un message sur le terminal connecté au port série de l'ordinateur. ... Appuyer sur les touches (sx) du terminal > Pour envoyer la commande (s) ... La carte Arduino arrête le générateur PWM. ... Appuyer sur les touches (so) du terminal > Pour envoyer la commande (s) ... La carte Arduino redémarre le générateur PWM. ...
Configurer le fichier HEX Démarrer la simulation ... La carte Arduino affiche un message sur le terminal connecté au port série de l'ordinateur. ... Appuyer sur les touches (p25m) du terminal > Pour envoyer la commande (p) ... La carte Arduino met la valeur (25000) dans la veraible (pwmP) qui correspond à une période de (25ms) soit une fréquence de (40Hz). ... Par défaut, la carte Arduino laisse la valeur (20000) dans la varibale (pwmP) qui correspond à une période de (20ms) soit une fréquence de (50Hz). ...
Configurer le fichier HEX Démarrer la simulation ... La carte Arduino affiche un message sur le terminal connecté au port série de l'ordinateur. ... Appuyer sur les touches (o50) du terminal > Pour envoyer la commande (o) ... La carte Arduino met la valeur (50) dans la veraible (pwmPon) qui correspond à une largeur d'impulsion de (50%). ... Appuyer sur les touches (so) du terminal > Pour envoyer la commande (s) ... Par défaut, la carte Arduino laisse la valeur (10) dans la veraible (pwmPon) qui correspond à une largeur d'impulsion de (10%). ...
// Proteus (Démarrer la simulation) Configurer le fichier HEX Démarrer la simulation ... La carte Arduino affiche un message sur le terminal connecté au port série de l'ordinateur. ... Appuyer sur les touches (?) du terminal > Pour envoyer la commande (?) ... La carte Arduino affiche les configurations du générateur PWM. ...