I den här lektionen kommer vi att använda en knapp, lysdioder och en funktion som returnerar ett värde.
const int vantetid = 1000;
void setup()
{
Serial.begin(9600);
}
void loop()
{
Serial.println("Hej");
delay(vantetid);
}
Vad ser du?
\pagebreak
Du ser Arduino säga “Hej”!
vanta_lite
och visar_knapp_varde
, uppgiftvanta_lite
: i denna funktion väntar Arduino
“väntetid” millisekundervisar_knapp_varde
: i denna funktion säger
Arduino (fortfarande) “Hej”visar_knapp_varde
och sedan vanta_lite
i loop
\pagebreak
vanta_lite
och visar_knapp_varde
, lösning// ...
void setup()
{
// ...
}
void visar_knapp_varde()
{
Serial.println("Hej");
}
void vanta_lite()
{
delay(vantetid);
}
void loop()
{
visar_knapp_varde();
vanta_lite();
}
\pagebreak
knapp_stift
setup
, säg med pinMode
att knapp_stift
är en INPUT
visar_knapp_varde
med denna kod:void visar_knapp_varde()
{
if (digitalRead(knapp_stift) == HIGH)
{
Serial.println("Knappen ar druckit");
}
}
\pagebreak
\pagebreak
// ...
const int knapp_stift = 2;
void setup()
{
// ...
pinMode(knapp_stift, INPUT);
}
void setup()
{
// ...
}
void visar_knapp_varde()
{
if (digitalRead(knapp_stift) == HIGH)
{
Serial.println("Knappen ar druckit");
}
}
void loop()
{
// ...
}
\pagebreak
visar_knapp_varde
, om knappen inte är nedtryckt, visa
Arduino säg sedan “Knappen ar inte druckit”vantetid
till 100 millisekunder\pagebreak
const int vantetid = 100;
// ... [variabel knapp_stift]
// ...
void visar_knapp_varde()
{
if (/* knappen är druckit */)
{
// ... [berättar knappen är druckit]
}
else
{
Serial.println("Knappen ar inte druckit");
}
}
\pagebreak
lastning,
uppgiftlastning
. Detta är ett heltal som kan ändras,
med initialt värde nollvisar_lastning_display
. I denna funktion,
värdet på lastning
som skickas till den seriella monitorn.
Du programmerar detta med:Serial.println(lastning);
visar_knapp_varde', sedan
visar_lastning’ och sedan vanta_lite
i loop
\pagebreak
lastning
, lösning// ...
int lastning = 0;
void visar_lastning()
{
Serial.println(lastning);
}
void loop()
{
// ...
visar_lastning();
// ...
}
\pagebreak
reagera_pa_knappen
, uppgiftreagera_pa_knappen
.
I reagera_pa_knappen
: om knappen trycks ned,
blir lastning
1 till. Du programmerar detta med:lastning = lastning + 1;
reagera_pa_knapp
mellan visar_knapp_varde
och visar_lastning
i loop
\pagebreak
void reagera_pa_knappen()
{
if (digitalRead(knapp_stift) == HIGH)
{
lastning = lastning + 1;
}
}
void loop()
{
// ...
reagera_pa_knappen();
// ...
}
\pagebreak
reagera_pa_knappen
: om knappen släpps blir lastning
noll igenlastning
är mer än tio. Använd detta if
-sats:if (lastning > 10)
{
// ...
}