Archives
Trending
Support
Login
clear text
XML
Django
JavaScript
MATLAB
C
C++
C#
Python
SQL
Shell
Bash
Markdown
YAML
JSON
HTML
CSS
PHP
Java
Ruby
Go
Rust
Swift
Kotlin
Arduino
TypeScript
Perl
Autohotkey
Lua
SQF
R
Scala
Haskell
Groovy
Dart
Clojure
VB.NET
Objective-C
PowerShell
Bash
CoffeeScript
Verilog
/********* Pleasedontcode.com ********** Pleasedontcode thanks you for automatic code generation! Enjoy your code! - Terms and Conditions: You have a non-exclusive, revocable, worldwide, royalty-free license for personal and commercial use. Attribution is optional; modifications are allowed, but you're responsible for code maintenance. We're not liable for any loss or damage. For full terms, please visit pleasedontcode.com/termsandconditions. - Project: Servo Control - Source Code NOT compiled for: Arduino Uno - Source Code created on: 2024-08-25 07:36:12 ********* Pleasedontcode.com **********/ /****** SYSTEM REQUIREMENTS *****/ /****** SYSTEM REQUIREMENT 1 *****/ /* alla pressione del pulsante il servo si muove */ /* dalla posizione 0% all 99% a passi del 5% ogni */ /* 500ms, 0% corrisponde il massimo senso orario, 99% */ /* il massimo senso antiorario. */ /****** END SYSTEM REQUIREMENTS *****/ /********* User code review feedback ********** #### Feedback 1 #### - tutti i commenti descrittivi devono essere in italiano #### Feedback 2 #### - deve continuare a funzionare all'infinito, alla prossima pressio ne del pulsante la posizione ricomincia da 0% ********* User code review feedback **********/ /****** DEFINITION OF LIBRARIES *****/ #include
//https://github.com/arduino-libraries/Servo #include
//https://github.com/evert-arias/EasyButton /****** FUNCTION PROTOTYPES *****/ void setup(void); void loop(void); void onPressed(void); // Prototipo della funzione di callback per la pressione del pulsante /***** DEFINITION OF DIGITAL INPUT PINS *****/ const uint8_t butt_PushButton_PIN_D12 = 12; // Pin per il pulsante /***** DEFINITION OF PWM OUTPUT PINS *****/ const uint8_t servo_Servomotor_PWMSignal_PIN_D10 = 10; // Pin per il segnale PWM del servomotore /***** DEFINITION OF OUTPUT RAW VARIABLES *****/ /***** utilizzato per memorizzare i dati grezzi *****/ uint8_t servo_Servomotor_PWMSignal_PIN_D10_rawData = 0; // Variabile per i dati grezzi del servomotore /****** DEFINITION OF LIBRARIES CLASS INSTANCES*****/ // Istanziamento dell'oggetto Servo Servo myServo; // Crea un oggetto Servo per controllare il servomotore // Istanziamento dell'oggetto EasyButton EasyButton button(butt_PushButton_PIN_D12); // Crea un oggetto EasyButton per il pulsante void setup(void) { Serial.begin(115200); // Inizializza la comunicazione seriale per il debug pinMode(butt_PushButton_PIN_D12, INPUT_PULLUP); // Imposta il pin del pulsante come input con resistenza di pull-up pinMode(servo_Servomotor_PWMSignal_PIN_D10, OUTPUT); // Imposta il pin del servomotore come output myServo.attach(servo_Servomotor_PWMSignal_PIN_D10); // Collega l'oggetto Servo al pin PWM // Inizializza l'EasyButton button.begin(); // Inizializza il pulsante button.onPressed(onPressed); // Imposta la callback per quando il pulsante viene premuto } // Funzione di callback da chiamare quando il pulsante viene premuto void onPressed() { Serial.println("Pulsante premuto"); // Stampa un messaggio sul monitor seriale // Muovi il servomotore da 0% a 99% in incrementi del 5% for (servo_Servomotor_PWMSignal_PIN_D10_rawData = 0; servo_Servomotor_PWMSignal_PIN_D10_rawData <= 99; servo_Servomotor_PWMSignal_PIN_D10_rawData += 5) { myServo.write(map(servo_Servomotor_PWMSignal_PIN_D10_rawData, 0, 99, 0, 180)); // Mappa 0-99 a 0-180 gradi delay(500); // Attendi 500ms prima del prossimo incremento } // Reset the position to 0% after reaching 99% servo_Servomotor_PWMSignal_PIN_D10_rawData = 0; // Reset the raw data to 0 myServo.write(map(servo_Servomotor_PWMSignal_PIN_D10_rawData, 0, 99, 0, 180)); // Move to 0 degrees } void loop(void) { // Leggi continuamente lo stato del pulsante button.read(); // Leggi lo stato del pulsante } /* END CODE */
Mark as private (unlisted)
for 30 minutes
for 6 hours
for 1 day
for 1 week
for 1 month
for 1 year
everlasting (like CCCP)