Unidad 6
Programas con Arduino
1.
int num;
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
pinMode(13,OUTPUT);
pinMode(12,OUTPUT);
}
void loop() {
if(Serial.available()){
num=Serial.parseInt();
if (num==1){
digitalWrite(13,HIGH);
delay(1000);
digitalWrite(13,LOW);}
else{
digitalWrite(12,HIGH);
delay(1000);
digitalWrite(12,LOW);}
}
}
2.
void setup() {
pinMode(13, OUTPUT);
pinMode(12, OUTPUT);
pinMode(11, OUTPUT);
}
void loop() {
digitalWrite(13, HIGH);
delay(2000);
digitalWrite(13, LOW);
digitalWrite(11, HIGH);
delay(2000);
digitalWrite(11, LOW);
for (int i = 0; i < 3; i++) {
digitalWrite(12, HIGH);
delay(300);
digitalWrite(12, LOW);
delay(300);
}
}
3.
#include <NewPing.h>
#define PIN_TRIG 13
#define PIN_ECHO 12
#define MAX_DISTANCE 120 // Distancia máxima en cm
/*int 11=rojo;
int 10=amarillo;
int 9 =verde;*/
NewPing sonar(PIN_TRIG, PIN_ECHO, MAX_DISTANCE);
void setup(){
Serial.begin(9600);
pinMode(11,OUTPUT);
pinMode(10,OUTPUT);
pinMode(9,OUTPUT);
}
void loop(){
int distance = sonar.ping_cm(); // Obtener distancia en cm
Serial.print("Distancia: ");
Serial.print(distance);
Serial.println(" cm");
delay(100); // Retardo entre mediciones
if(distance>0&&distance<15){digitalWrite(11,HIGH);}
else if(distance>15 && distance<20){digitalWrite(11,0);
digitalWrite(10,HIGH);}
else{digitalWrite(10,0);
digitalWrite(9,HIGH);
delay(100);
/*digitalWrite(11,LOW);
digitalWrite(10,LOW);
digitalWrite(9,LOW);*/
}
}
4.
int num;
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
pinMode(13,OUTPUT);
pinMode(12,OUTPUT);
}
void loop() {
if(Serial.available()){
num=Serial.parseInt();
if (num==1){
digitalWrite(13,HIGH);
delay(1000);
digitalWrite(13,LOW);}
else{
digitalWrite(12,HIGH);
delay(1000);
digitalWrite(12,LOW);}
}
}
5.
void setup() {
Serial.begin(9600);
pinMode(13,OUTPUT);
}
void loop() {
digitalWrite(13,HIGH);
delay(500);
digitalWrite(13,LOW);
delay(500);
}
6.
#include <Servo.h>
Servo servoMotor;
void setup() {
Serial.begin(9600);
servoMotor.attach(9);
pinMode(13,OUTPUT);
pinMode(12,OUTPUT);
}
void loop() {
servoMotor.write(0);
delay(1000);
servoMotor.write(90);
digitalWrite(13,HIGH);
delay(1000);
digitalWrite(13,LOW);
servoMotor.write(180);
digitalWrite(12,HIGH);
delay(1000);
digitalWrite(12,LOW);
}
7.
#include <Servo.h>
Servo servoMotor;
void setup() {
Serial.begin(9600);
servoMotor.attach(8);
pinMode(13,OUTPUT);
pinMode(12,OUTPUT);
}
void loop() {
servoMotor.write(0);
delay(1000);
digitalWrite(13,HIGH);
servoMotor.write(90);
delay(1000);
digitalWrite(13,LOW);
digitalWrite(12,HIGH);
servoMotor.write(180);
delay(1000);
digitalWrite(12,LOW);
}
8.
int i;
void setup() {
pinMode(13,OUTPUT);
pinMode(12,OUTPUT);
pinMode(11,OUTPUT);
}
void loop() {
digitalWrite(13,HIGH);
delay(2000);
digitalWrite(13,LOW);
for (i=0;i<4;i++){
digitalWrite(12,HIGH);
delay(500);
digitalWrite(12,LOW);
delay(500);}
digitalWrite(11,HIGH);
delay(2000);
digitalWrite(11,LOW);
}
9. FINAL
#include <NewPing.h>
#define PIN_TRIG 9
#define PIN_ECHO 10
#define MAX_DISTANCE 200 // Distancia máxima en cm
/*int 11=rojo;
int 10=amarillo;
int 9 =verde;*/
NewPing sonar(PIN_TRIG, PIN_ECHO, MAX_DISTANCE);
void setup(){
Serial.begin(9600);
pinMode(11,OUTPUT);
pinMode(10,OUTPUT);
pinMode(9,OUTPUT);
}
void loop(){
int distance = sonar.ping_cm(); // Obtener distancia en cm
Serial.print("Distancia: ");
Serial.print(distance);
Serial.println(" cm");
delay(100); // Retardo entre mediciones
if(distance>0&&distance<15){digitalWrite(11,HIGH);}
else if(distance>15 && distance<30){digitalWrite(11,0);
digitalWrite(10,HIGH);}
else{digitalWrite(10,0);
digitalWrite(9,HIGH);
delay(100);
/*digitalWrite(11,LOW);
digitalWrite(10,LOW);
digitalWrite(9,LOW);*/
}
}
Comentarios
Publicar un comentario