Under den här lektionen ska vi använda en joystick!
Schemat av kopplingen
Koppla tillsammans som schemat och förbind Arduino till en dator. Det er den långsta ben av RGB ljusdiod som skulle kopplades till GND.
\pagebreak
Ladda upp den här koden:
const int pin_joy_x{A0};
const int pin_led_r{9};
void setup() {
pinMode(pin_joy_x, INPUT);
pinMode(pin_led_r, OUTPUT);
}
void loop() {
const int joy_x{analogRead(pin_joy_x)};
const int ljus_styrka_r{joy_x / 4};
analogWrite(pin_led_r, ljus_styrka_r);
}
Kör koden och rör joysticken. Vad ser du?
\pagebreak
Om du inte rör joysticken är färgen […]. Om du rör joysticken i ena rikting kan du ändra ljusstyrka. Om du rör joysticken i andra rikting ändrar färgen sig inte.
Kolla igenom kod.
Kan du översätta varje mening till svenska?
const int pin_joy_x{A0};
Kära dator, minns en variabel kallades
pin_joy_x
, som är en helvärtstal som kan inte ändrar sig, med initiälvärdA0
const int pin_led_r{9};
Kära dator, minns en variabel kallades
pin_led_r
, som är en helvärtstal som kan inte ändrar sig, med initiälvärd9
void setup() {}
Kära dator, göra detta mellan parantheser ett gång i början av programmet
\pagebreak
pinMode(pin_joy_x, INPUT);
Kära dator, Arduino stift
pin_joy_x
är för att mäta el
pinMode(pin_led_r, OUTPUT);
Kära dator, Arduino stift
pin_led_r
är för att schicka el
void loop() {}
Kära dator, göra detta mellan parantheser för evigt, efter
setup
är färdigt
const int joy_x{analogRead(pin_joy_x)};
Kära dator, minns en variabel kallades
joy_x
, som är en helvärtstal som kan inte ändrar sig, med initiälvärd det som Arduino läser av stiftpin_joy_x
const int ljus_styrka_r{joy_x / 4};
Kära dator, minns en variabel kallades
ljus_styrka_r
, som är en helvärtstal som kan inte ändrar sig, med initiälvärdljus_styrka_r
delad med fyra
analogWrite(pin_led_r, ljus_styrka_r);
Kära dator, schick
ljus_styrka_r
el till Arduino stiftenpin_led_r
Lägga till:
pin_joy_y
med initiälvärde A1
pin_led_g
med initiälvärde 10
\pagebreak
const int pin_joy_x{A0};
const int pin_joy_y{A1};
const int pin_led_r{9};
const int pin_led_g{10};
void setup() {
pinMode(pin_joy_x, INPUT);
pinMode(pin_joy_y, INPUT);
pinMode(pin_led_r, OUTPUT);
pinMode(pin_led_g, OUTPUT);
}
void loop() {
const int joy_x{analogRead(pin_joy_x)};
const int joy_y{analogRead(pin_joy_y)};
const int ljus_styrka_r{joy_x / 4};
const int ljus_styrka_g{joy_y / 4};
analogWrite(pin_led_r, ljus_styrka_r);
analogWrite(pin_led_g, ljus_styrka_g);
}
Lägga till:
pin_joy_sw
med initiälvärde A2
pin_led_b
med initiälvärde 11
\pagebreak
const int pin_joy_x{A0};
const int pin_joy_y{A1};
const int pin_joy_sw{A2};
const int pin_led_r{9};
const int pin_led_g{10};
const int pin_led_b{11};
void setup() {
pinMode(pin_joy_x, INPUT);
pinMode(pin_joy_y, INPUT);
pinMode(pin_joy_sw, INPUT);
pinMode(pin_led_r, OUTPUT);
pinMode(pin_led_g, OUTPUT);
pinMode(pin_led_b, OUTPUT);
}
void loop() {
const int joy_x{analogRead(pin_joy_x)};
const int joy_y{analogRead(pin_joy_y)};
const int joy_sw{analogRead(pin_joy_sw)};
const int ljus_styrka_r{joy_x / 4};
const int ljus_styrka_g{joy_y / 4};
const int ljus_styrka_b{joy_sw / 4};
analogWrite(pin_led_r, ljus_styrka_r);
analogWrite(pin_led_g, ljus_styrka_g);
analogWrite(pin_led_b, ljus_styrka_b);
}
\pagebreak
Ta bort alla sladdar.
Läs igenom slutuppgiften först, för du har 10 minuter på dig.
Starta en timer och gör följande: