Hogyan lehet ezt így arduino-ban lefuttatni? (sketch van)
Azt akarom hogy a sketchemben a szervók mozgása alatt mindig folyamatosan írja ki a szenzorok értékét az lcd.
Itt van:
#include <Servo.h>
#include <LiquidCrystal.h>
Servo servo1;
Servo servo2;
Servo servo3;
Servo servo4;
int pos=90;
int pos1=90;
#define echoPin 3
#define trigPin 2
LiquidCrystal lcd(13, 12, 11, 10, 9, 8);
int maximumRange = 200;
int minimumRange = 0;
long duration, distance;
int BalLDR = 0;
int JobbLDR = 1;
int balfenyero;
int jobbfenyero;
void setup()
{
servo1.attach(7);
servo2.attach(6);
servo3.attach(5);
servo4.attach(4);
static int v=90;
static int v1=60;
static int v2=120;
servo1.write(v);
servo2.write(v);
servo3.write(v);
servo4.write(v);
Serial.begin (9600);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
lcd.begin(16, 2);
}
void loop()
{
elore();
delay(500);
hatra();
delay(500);
allas();
delay(500);
servo();
delay(500);
servoH();
delay(500);
vege();
delay(500);
void ut2();
delay(500);
}
void elore()
{
servo2.write(60);
servo3.write(60);
delay(500);
}
void hatra()
{
servo3.write(90);
for(pos = 90; pos < 125; pos += 1)
{
servo4.write(pos);
delay(20);
for(pos1 = 90; pos1 < 115; pos1 += 1)
servo1.write(pos1);
delay(20);
}
}
void allas()
{
for(pos = 60; pos < 90; pos += 1)
{
servo2.write(pos);
servo3.write(pos);
delay(20);
}
delay(500);
}
void servo(){
static int v2=110;
servo2.write(v2);
servo3.write(v2);
delay(500);
}
void servoH(){
for(pos = 90; pos > 65; pos -= 1)
{
servo4.write(pos);
delay(20);
for(pos1 = 90; pos1 > 55; pos1 -= 1)
servo1.write(pos1);
delay(20);
}
}
void vege(){
for(pos = 110; pos > 90; pos -= 1)
{
servo2.write(pos);
servo3.write(pos);
delay(20);
}
}
void ut2()
{
{
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
distance = duration/58.2;
if (distance >= maximumRange || distance <= minimumRange)
{
Serial.println("-1");
}
else {
Serial.println(distance);
}
delay(50);
}
{
balfenyero = analogRead(BalLDR);
jobbfenyero = analogRead(JobbLDR);
Serial.print("Bal: ");
Serial.print(balfenyero, DEC);
Serial.print(", Jobb: ");
Serial.println( jobbfenyero,DEC);
delay(500);
}
lcd.print(distance);
lcd.print(",");
lcd.print("j.");
lcd.print(jobbfenyero,DEC);
lcd.print("B.");
lcd.print(balfenyero,DEC);
lcd.print(",");
}
Te lehetsz az első, aki segít a kérdezőnek!
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!