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