Analoge input = digitale output
5 berichten
• Pagina 1 van 1
Analoge input = digitale output
Hallo,
Ik ben redelijk nieuw in Arduino wereld, maar gelukkig wel handig hiermee.
Nu ben ik een code aan het maken voor een analoge input = digitale output.
Analoge input0 =5V dan moet de digitale out 7 = HIGH (zodat er een LED gaat branden)
Analoge input0 = <2V dan moet de digitale out7 = LOW (LED uit)
nu wil dit nog niet echt werken, en ik snap totaal niet waarom.
Kan iemand me dit uitleggen in mijn code?
Ik ben redelijk nieuw in Arduino wereld, maar gelukkig wel handig hiermee.
Nu ben ik een code aan het maken voor een analoge input = digitale output.
Analoge input0 =5V dan moet de digitale out 7 = HIGH (zodat er een LED gaat branden)
Analoge input0 = <2V dan moet de digitale out7 = LOW (LED uit)
nu wil dit nog niet echt werken, en ik snap totaal niet waarom.
Kan iemand me dit uitleggen in mijn code?
- Code: Alles selecteren
int myPin=A0;
int redPin=7;
// the setup routine runs once when you press reset:
void setup() {
// initialize serial communication at 9600 bits per second:
Serial.begin(9600);
pinMode (redPin,OUTPUT);
}
// the loop routine runs over and over again forever:
void loop() {
// read the input on analog pin 0:
int sensorValue = analogRead(A0);
// Convert the analog reading (which goes from 0 - 1023) to a voltage (0 - 5V):
float voltage = sensorValue * (5.0 / 1023.0);
// print out the value you read:
Serial.println(voltage);
delay(250);
if (myPin>5./1023.){
digitalWrite (redPin,HIGH);
}
else if (myPin<1./1023.){
digitalWrite (redPin,LOW);
}
delay(250);
}
Advertisement
Re: Analoge input = digitale output
Je berekent de gemeten spanning in de variable "voltage".
Verolgens gebruik je in de vergelijking "mypin". Die is gedefinieerd als A0.
En bevat dus niet de waarde die je wilt testen, die staat immers in "voltage".
Verolgens gebruik je in de vergelijking "mypin". Die is gedefinieerd als A0.
En bevat dus niet de waarde die je wilt testen, die staat immers in "voltage".
Re: Analoge input = digitale output
Probeer eens de declaraties van de variabelen in de loop functie er buiten te zetten
Deze twee dus voor de setup functie (onder de myPin en redPin):
int sensorValue;
float voltage;
En dan in de loop functie:
sensorValue = analogRead( A0 );
voltage = sensorValue * ( 5.0 / 1023.0 );
Groetzels:
Han.
Deze twee dus voor de setup functie (onder de myPin en redPin):
int sensorValue;
float voltage;
En dan in de loop functie:
sensorValue = analogRead( A0 );
voltage = sensorValue * ( 5.0 / 1023.0 );
Groetzels:
Han.
- Gij Kieken
- Berichten: 631
- Geregistreerd: 15 Nov 2015, 11:54
Re: Analoge input = digitale output
Wat Beamer zegt klopt als een bus.
Maar waarom moeilijk als makkelijk ook kan.
Er bestaat een functie voor <https://www.arduino.cc/reference/en/language/functions/math/map/>
Maar waarom moeilijk als makkelijk ook kan.
Er bestaat een functie voor <https://www.arduino.cc/reference/en/language/functions/math/map/>
Re: Analoge input = digitale output
je laat voltage zien, ga daar dan ook mee verder dus
cpp code
om het nog netter te maken kun je float hoog=4.5 definieren voor de setup
net als de 2.0 maar dat kun je zelf en laat hert resultaat dan aub even zien.
cpp code
if (voltage > 4.5)
{digitalWrite (redPin,HIGH);
}
if (voltage <2.0)
{
digitalWrite (redPin,LOW);
}
om het nog netter te maken kun je float hoog=4.5 definieren voor de setup
net als de 2.0 maar dat kun je zelf en laat hert resultaat dan aub even zien.
paul deelen
shooter@home.nl
shooter@home.nl
5 berichten
• Pagina 1 van 1
Wie is er online?
Gebruikers in dit forum: Google Adsense [Bot] en 6 gasten