Er i gang med projekt på elektronikfagtekniker. Skal lave et speedometer og en temp. Har lavet dem, hver for sig, men kan ikke blande dem sammen hvad gør jeg forkert??
Den virker fint alene:
#include <Servo.h>
Servo myServo; // Servo motor
int const potPin = A0; // Analog pin hvor der er monteret et potmeter
int potVal; // Ud læs data fra analog porten
int angle; // Hvor servo motoren skal stå
const int alarm = 8;
void setup()
{
myServo.attach(9); // Det er til servomotoren på pin 9
Serial.begin(9600); // Til serial komunitation
pinMode (8,OUTPUT); // Til busser
}
void loop()
{
potVal = analogRead(potPin); // Læs potiometeret posion
angle = map(potVal, 0, 1023, 0, 200); // Nummert fra potionmeter
Serial.print(" Km/t: "); //Vis hastigheden
Serial.println(angle);
myServo.write(angle);
if (angle >80) // når hatsigheden kommer over 80
{
digitalWrite(8,HIGH);
}
else
{
digitalWrite(8,LOW);
}
delay(150); // Delay på 150 milli sek
}
Den her virker også:
const int temperaturePin = 0;
void setup()
{
Serial.begin(9600);
}
void loop()
{
float voltage, degreesC, degreesF;
voltage = getVoltage(temperaturePin);
degreesC = (voltage - 0.5) * 100.0;
degreesF = degreesC * (9.0/5.0) + 32.0;
Serial.print("voltage: ");
Serial.print(voltage);
Serial.print(" deg C: ");
Serial.println(degreesC);
Serial.print(" deg F: ");
Serial.println(degreesF);
delay(1000); // repeat once per second (change as you wish!)
}
float getVoltage(int pin)
{
return (analogRead(pin) * 0.004882814);
}
Skriver ikke kan finde getVoltage når jeg blander dem sammen.
Hvordan blander jeg dem sammen??
Her er den sat sammen men virker ikke :'(
#include <Servo.h>
Servo myServo; // Servo motor
int const potPin = A0; // Analog pin hvor der er monteret et potmeter
int potVal; // Ud læs data fra analog porten
int angle; // Hvor servo motoren skal stå
const int temperaturePin = 1;
const int alarm = 8;
void setup()
{
myServo.attach(9); // Det er til servomotoren på pin 9
Serial.begin(9600); // Til serial komunitation
pinMode (8,OUTPUT); // Til busser
}
void loop()
{
{
float voltage, degreesC, degreesF;
voltage = getVoltage(temperaturePin);
degreesC = (voltage - 0.5) * 100.0;
degreesF = degreesC * (9.0/5.0) + 32.0;
Serial.print("voltage: ");
Serial.print(voltage);
Serial.print(" deg C: ");
Serial.println(degreesC);
float getVoltage(int pin)
{
return (analogRead(pin) * 0.004882814);
}
delay(1000); // repeat once per second (change as you wish!)
}
potVal = analogRead(potPin); // Læs potiometeret posion
angle = map(potVal, 0, 1023, 0, 200); // Nummert fra potionmeter
Serial.print(" Km/t: "); //Vis hastigheden
Serial.println(angle);
myServo.write(angle);
if (angle >80) // når hatsigheden kommer over 80
{
digitalWrite(8,HIGH);
}
else
{
digitalWrite(8,LOW);
}
delay(150); // Delay på 150 milli sek
}
Det ser ud til at du forsøger at definere getVoltage-funktionen inden i loop'et. Jeg er ikke C-haj, så måske kan det give mening i visse sammenhænge (jeg tvivler). Men i dit tilfælde, skal den i hvert fald ud - så compiler det hos mig.
Du tager den her del
float getVoltage(int pin)
{
return (analogRead(pin) * 0.004882814);
}
Og sætter den nederst, uden for loop-funktionen.