From 649688a857e5356bd7d53c21c4bff7931c71ae3e Mon Sep 17 00:00:00 2001 From: Andrea Manni Date: Mon, 27 Mar 2017 17:45:30 +0200 Subject: [PATCH] Proto: creare fuznioni --- prototypes/motor/motor.ino | 54 ++++++++++++++++++++++++++++++++++++++ prototypes/servo/servo.ino | 47 +++++++++++++++++++++++++++++++++ 2 files changed, 101 insertions(+) create mode 100644 prototypes/motor/motor.ino create mode 100644 prototypes/servo/servo.ino diff --git a/prototypes/motor/motor.ino b/prototypes/motor/motor.ino new file mode 100644 index 0000000..a7a4c10 --- /dev/null +++ b/prototypes/motor/motor.ino @@ -0,0 +1,54 @@ +/* L298n motors + +Pilotare 1 motore DC con un modulo l928n + +- 1 motori DC +- L298n module +- Batteria > 6v + +*/ + + +// Configurazione con OUTPUT digitali +// motor one +const int enA = 6; +const int in1 = 7; +const int in2 = 8; +byte speedA = 0; +// motor two +const int enB = 5; +const int in3 = 4; +const int in4 = 3; +byte speedB = 0; + +void setup() { + pinMode(enA, OUTPUT); + pinMode(in1, OUTPUT); + pinMode(in2, OUTPUT); +// pinMode(enB, OUTPUT); +// pinMode(in3, OUTPUT); +// pinMode(in4, OUTPUT); +} + + +void loop() { +// Forward + digitalWrite(in1,LOW); + digitalWrite(in2,HIGH); + digitalWrite(enA,HIGH); + delay(2000); + +// Stop + digitalWrite(enA,LOW); + delay(1000); + +// Backward + digitalWrite(in2,LOW); + digitalWrite(in1,HIGH); + digitalWrite(enA,HIGH); + delay(2000); + +// Stop + digitalWrite(enA,LOW); + delay(1000); +} diff --git a/prototypes/servo/servo.ino b/prototypes/servo/servo.ino new file mode 100644 index 0000000..2a1b3f2 --- /dev/null +++ b/prototypes/servo/servo.ino @@ -0,0 +1,47 @@ +/* Sweep + + Rotazione di un servomotore tramite la librerio Servo.h . + +L'utilizzo della libreria Servo rende inutilizzabile analogWrite() +sui pin 9 e 10 dato che utilizza i timer associati a questi PIN. + +Power: un servo da 9g puo' arrivare ad impegnare 750mA sotto carico +(se viene opposta resistenza al movimento del servo), un SG90 prende +~52mA se il movimento e' libero. Quindi in fase di test il servo puo' +essere alimentato direttamente da una scheda Arduino (200ma dal PIN 5v) +ma per l'uso finale dovra' essere alimentato autonomamente. + +Schema: https://www.arduino.cc/en/uploads/Tutorial/sweep_bb.png + http://microbotlabs.com/images/mearm-uno-servo-1.jpg + */ + +#include + +Servo myservo; // create servo object to control a servo + // a maximum of eight servo objects can be created + +// Servo vars +int pos = 0; // variable to store the servo position +const byte servo =9 ; + +void setup() +{ + myservo.attach(servo); // attaches the servo on pin 9 to the servo object + myservo.write(90); // tell servo to go to position in variable 'pos' + delay(2000); +} + + +void loop() +{ + for(pos = 20; pos < 160; pos += 1) // goes from 0 degrees to 180 degrees + { // in steps of 1 degree + myservo.write(pos); // tell servo to go to position in variable 'pos' + delay(15); // waits 15ms for the servo to reach the position + } + for(pos = 160; pos>=20; pos-=1) // goes from 180 degrees to 0 degrees + { + myservo.write(pos); // tell servo to go to position in variable 'pos' + delay(15); // waits 15ms for the servo to reach the position + } +} -- 2.39.2