Come unificare due progetti con un solo codice

ORSO2001:
Ciao...se il pulsante è lo stesso prova a dichiararlo/definirlo nello stesso modo...nel primo usi una variabile nel secondo un #define...e forse ti viene più chiaro

alexxandro:
ciao!
sono alle prime armi con arduino con la programmazione ed attualmente utilizzo il simulatore tinkercad.
Attualmente sono interessato a realizzare un circuito che premendo un pulsante mi faccia girare un servo motore e allo stesso momento faccia emettere ad un cicalino un beep
Ora io ho i due codici di programmazione per realizzare il tutto
il primo riguarda il servo motore che premendo il pulsante sul pin 6 mi fa girare il motore
ed è questo :

/*

beam_blocker.ino

Program that controls a 3D printed beam blocker that uses a servo as actuator

The circuit:

  • Push-button connected to pin digital pin 6
  • Servo motor connected to pin 9

Usage:
When the push button is pressed, the beam blocker opens or close depending on its previous state.

Additional information:
3D printed model can be downloaded from Thingiverse

Created 08/Sept/2016
By Luis Jose Salazar-Serrano
totesalaz@gmail.com
http://opensourcelab.salazarserrano.com

*/

#include <Servo.h>

Servo servo1;

int ledPin = 13;               
int key_s6 = 6; // pin for push button

int index = 0;
boolean flag1 = false;

void setup()
{
  pinMode(ledPin, OUTPUT);      // Set Pin13 to output mode
  pinMode(key_s6, INPUT);      // Set Pin2 to input mode
 
  servo1.attach(9);            // Attach servo to digital port 9
  servo1.write(0);              // initialize servo position
  digitalWrite(ledPin, LOW);
}
void loop()
{
     
  // if button S6 is pressed...
  if(digitalRead(key_s6) == LOW && flag1 == false){       
    index++;
    flag1 = true;
  }

// if button is NOT pressed...
  if(digitalRead(key_s6) == HIGH && flag1 == true){   
 
      if(index%2 == 1){
        servo1.write(90); // open beam block
        digitalWrite(ledPin, HIGH);
      }

if(index%2 == 0){
        servo1.write(0);  // close beam block
        digitalWrite(ledPin, LOW);
      }
     
      flag1 = false;
  }
         
}





mentre il codice riguardo il cicalino è questo :


#define pulsante 6
#define suono 5
int a;
void setup() {

pinMode(pulsante,INPUT);
pinMode(suono,OUTPUT);
digitalWrite(suono,LOW);
}

void loop() {
a=digitalRead(pulsante);
if(a==HIGH)
{
  digitalWrite(suono,HIGH);
}else{
  digitalWrite(suono,LOW);
}
}




Come si implementa il tutto ?

alexxandro:
ciao!
sono alle prime armi con arduino con la programmazione ed attualmente utilizzo il simulatore tinkercad.
Attualmente sono interessato a realizzare un circuito che premendo un pulsante mi faccia girare un servo motore e allo stesso momento faccia emettere ad un cicalino un beep
Ora io ho i due codici di programmazione per realizzare il tutto
il primo riguarda il servo motore che premendo il pulsante sul pin 6 mi fa girare il motore
ed è questo :

/*

beam_blocker.ino

Program that controls a 3D printed beam blocker that uses a servo as actuator

The circuit:

  • Push-button connected to pin digital pin 6
  • Servo motor connected to pin 9

Usage:
When the push button is pressed, the beam blocker opens or close depending on its previous state.

Additional information:
3D printed model can be downloaded from Thingiverse

Created 08/Sept/2016
By Luis Jose Salazar-Serrano
totesalaz@gmail.com
http://opensourcelab.salazarserrano.com

*/

#include <Servo.h>

Servo servo1;

int ledPin = 13;               
int key_s6 = 6; // pin for push button

int index = 0;
boolean flag1 = false;

void setup()
{
  pinMode(ledPin, OUTPUT);      // Set Pin13 to output mode
  pinMode(key_s6, INPUT);      // Set Pin2 to input mode
 
  servo1.attach(9);            // Attach servo to digital port 9
  servo1.write(0);              // initialize servo position
  digitalWrite(ledPin, LOW);
}
void loop()
{
     
  // if button S6 is pressed...
  if(digitalRead(key_s6) == LOW && flag1 == false){       
    index++;
    flag1 = true;
  }

// if button is NOT pressed...
  if(digitalRead(key_s6) == HIGH && flag1 == true){   
 
      if(index%2 == 1){
        servo1.write(90); // open beam block
        digitalWrite(ledPin, HIGH);
      }

if(index%2 == 0){
        servo1.write(0);  // close beam block
        digitalWrite(ledPin, LOW);
      }
     
      flag1 = false;
  }
         
}





mentre il codice riguardo il cicalino è questo :


#define pulsante 6
#define suono 5
int a;
void setup() {

pinMode(pulsante,INPUT);
pinMode(suono,OUTPUT);
digitalWrite(suono,LOW);
}

void loop() {
a=digitalRead(pulsante);
if(a==HIGH)
{
  digitalWrite(suono,HIGH);
}else{
  digitalWrite(suono,LOW);
}
}




Come si implementa il tutto ?

alexxandro:
ciao!
sono alle prime armi con arduino con la programmazione ed attualmente utilizzo il simulatore tinkercad.
Attualmente sono interessato a realizzare un circuito che premendo un pulsante mi faccia girare un servo motore e allo stesso momento faccia emettere ad un cicalino un beep
Ora io ho i due codici di programmazione per realizzare il tutto
il primo riguarda il servo motore che premendo il pulsante sul pin 6 mi fa girare il motore
ed è questo :

/*

beam_blocker.ino

Program that controls a 3D printed beam blocker that uses a servo as actuator

The circuit:

  • Push-button connected to pin digital pin 6
  • Servo motor connected to pin 9

Usage:
When the push button is pressed, the beam blocker opens or close depending on its previous state.

Additional information:
3D printed model can be downloaded from Thingiverse

Created 08/Sept/2016
By Luis Jose Salazar-Serrano
totesalaz@gmail.com
http://opensourcelab.salazarserrano.com

*/

#include <Servo.h>

Servo servo1;

int ledPin = 13;               
int key_s6 = 6; // pin for push button

int index = 0;
boolean flag1 = false;

void setup()
{
  pinMode(ledPin, OUTPUT);      // Set Pin13 to output mode
  pinMode(key_s6, INPUT);      // Set Pin2 to input mode
 
  servo1.attach(9);            // Attach servo to digital port 9
  servo1.write(0);              // initialize servo position
  digitalWrite(ledPin, LOW);
}
void loop()
{
     
  // if button S6 is pressed...
  if(digitalRead(key_s6) == LOW && flag1 == false){       
    index++;
    flag1 = true;
  }

// if button is NOT pressed...
  if(digitalRead(key_s6) == HIGH && flag1 == true){   
 
      if(index%2 == 1){
        servo1.write(90); // open beam block
        digitalWrite(ledPin, HIGH);
      }

if(index%2 == 0){
        servo1.write(0);  // close beam block
        digitalWrite(ledPin, LOW);
      }
     
      flag1 = false;
  }
         
}





mentre il codice riguardo il cicalino è questo :


#define pulsante 6
#define suono 5
int a;
void setup() {

pinMode(pulsante,INPUT);
pinMode(suono,OUTPUT);
digitalWrite(suono,LOW);
}

void loop() {
a=digitalRead(pulsante);
if(a==HIGH)
{
  digitalWrite(suono,HIGH);
}else{
  digitalWrite(suono,LOW);
}
}




Come si implementa il tutto ?

mah le cose che vuoi fare sono estremamente semplici e si possono fare benissimo in uno sketch solo fin dall inizio, invece non vedo nessun debounce su i pulsanti e queste cose e meglio metterli sempre