arduino_foer_ungdomar

Lektion 7: Potentiometer och joystick

I den här lektionen kommer vi att använda en potentiometer, en joystick och en funktion som returnerar ett värde.

7.1 Potentiometer: anslut, uppgift

Anslut en potentiometer. Gör följande anslutningar:

Potentiometer Arduino
Vänster ben 5V
Mellanben A0
Höger ben GND

\pagebreak

7.2 Potentiometer: anslut, lösning

\pagebreak

7.3 Potentiometer: start, uppgift

\pagebreak

7.4 Potentiometer: uppstart, lösning

const int vantatid = 100; //milliseconden

void setup() 
{
  Serial.begin(9600);
}

void visar_potmeter()
{
  Serial.print("potmeter");
}

void vanta_lite()
{
  delay(vantatid);  
}

void loop() 
{
  visar_potmeter();
  vanta_lite();
}

\pagebreak

7.5 Potentiometer: läs, uppgift

int lasa_potmeter()
{
  return analogRead(potmeter_stift);
}

\pagebreak

7.6 Potentiometer: avläsning, lösning

const int potmeter_stift = A0;
//...

void setup() 
{
  // ...
  pinMode(potmeter_stift, INPUT);
}

int lasa_potmeter()
{
  return analogRead(potmeter_stift);
}

void visar_potmeter()
{
  Serial.print(lasa_potmeter());
}

Siffrorna som kommer från lasa_potmeter är mellan noll och 1024.

\pagebreak

7.7 Potentiometer: styrning, uppgift

analogWrite(led_stift, lasa_potmeter());

\pagebreak

7.8 Potentiometer: styrning, lösning

// ...
const int led_stift = 11;

void setup() 
{
  // ...
  pinMode(led_stift, OUTPUT);
}

void visar_potmeter()
{
  // ...
  analogWrite(led_stift, lasa_potmeter());
}

Om du vrider på potentiometern ser du att LEDen lyser fyra gånger sätter på.

\pagebreak

7.9 Potentiometer: bra styrning, uppgift

analogWrite(led_stift, lasa_potmeter());

… till detta:

analogWrite(led_stift, lasa_potmeter() / 4);

\pagebreak

7.10 Potentiometer: bra styrning, lösning

\pagebreak

7.11 Potentiometer: anslut joystick, uppgift

Joystick Arduino
VCC 5V
V A0
H A1
GND GND

\pagebreak

7.11 Potentiometer: anslut joystick, lösning

\pagebreak

7.12 Potentiometer: läs joystick, uppgift

I koden ersätter du texten potentiometer med joystick_vertical. För att göra detta, använd ‘Find’ (CTRL-F eller ‘Edit | Find’) och använd ‘Replace All’ (“Ersätt alla”).

Sök, klicka här på 'Ersätt alla'

\pagebreak

7.12 Potentiometer: läs joystick, lösning

const int vertikal_joystick_stift = A0;
// ...

void setup() 
{
  pinMode(vertikal_joystick_stift, INPUT);
  // ...
}

int lasa_joystick_vertikalt()
{
  return analogRead(vertikal_joystick_stift);
}

void visar_joystick_vertikalt()
{
  Serial.print(lasa_joystick_vertikalt());
  analogWrite(led_stift, lasa_joystick_vertikalt() / 4);
}

void loop() 
{
  visar_joystick_vertikalt();
  // ...
}

\pagebreak

7.12 Potentiometer: slutuppgift