Arduino - Blink, Fade, Tone: Skillnad mellan sidversioner

Från Wikiskola
Hoppa till navigering Hoppa till sök
Rad 74: Rad 74:
   digitalWrite(led2, HIGH);    // turn the LED off by making the voltage LOW
   digitalWrite(led2, HIGH);    // turn the LED off by making the voltage LOW
   delay(1000);              // wait for a second
   delay(1000);              // wait for a second
}
</pre>
===== En variant med analogWrite =====
Med analogWrite kan man välja ljusstyrka.
<pre>
int ledPin = 9;      // LED connected to digital pin 9
int ledPin2 = 10; 
// the setup function runs once when you press reset or power the board
void setup() {
}
// the loop function runs over and over again forever
void loop() {
  analogWrite(ledPin, 255);          // 0-255
  delay(500);   
  analogWrite(ledPin2, 255);   
  delay(250);                  // wait for a second
  analogWrite(ledPin, 0);          // 0-255
  delay(500);   
  analogWrite(ledPin2, 0); 
}
}
</pre>
</pre>

Versionen från 6 november 2019 kl. 20.40

Övningar

Uppgift
Fyra introduktionsövningar

Här kommer de fyra övningar som du ska göra idag. Länkarna går till instruktioner på Arduino.cc.


Blink

Det första enkla programmet som vi kör gör så att den interna lysdioden blinkar. Du kopplar dessutom en diod till Arduinot så den också blinkar. Även om instruktions visar att du ska ha ett motstånd så går det bra utan.

Tänk på att du man behöver ändra porten på datorn för att ladda upp ett program. Det gör du med Verktyg - Portar.

http://arduino.cc/en/Tutorial/Blink

Kör blink med egen modifiering där du ändrar tider och kopierar koden så du får flera sekvenser av blinkningar. pröva att skicka en SOS-signal mer Morse-kod..

Definition
Motstånd och dioder samt en liten högtalare

För de kommande övningarna behöver du en del hårdvara. Du behöver en kopplingsplatta, motstånd, dioder och en högtalare.

Kopplingsplatta = Breadboard

Läs på Instructables hemsida hur en kopplingsplatta funkar.

Resistor = motstånd

På sidan om resistorer finns en tabell som visar färgkodningen som finns på motstånden.

Om du till exempel ska ha ett motstånd på 220 Ohm så ska de färgade banden på motståndet ha färgerna röd, röd, brun. Det tolkas som 2, 2 och *10, dvs 220.

Wikipedia skriver om resistor

Lysdiod

Vi använder vanliga röda lysdioder. Det långa benet ansluts till plus, annars fungerar det inte eftersom dioden endast leder ström i en riktning.

Högtalare

Det finns bara enstaka högtalare så det är lämpligt att ni turas om. Små enkla högtalare kan man löda loss från trasiga leksaker, datorer, etc. Makerkulturen handlar om att återanvända saker som fungerar på nya sätt.

Men enklast är att du använder en Buzzer. Den har tre ben. Koppla in de yttersta och strunta i det mittersta.


Blinking without delay

Använd kopplingsplatta, ledningar och lysdiod och kör ett program som heter BlinkWithoutDelay. Här skapas blinkandet utan en delayfunktion vilket gör att man slipper att programmet stannar upp. Det kan vara bra om man vill att programmet ska köra andra funktioner samtidigt.

Den slår på och av en yttre lysdiod.

http://arduino.cc/en/Tutorial/BlinkWithoutDelay

En variant

Finns dessutom en variant som jag gjort med två lysdioder som blinkar omväxlande.

// Pin 13 has an LED connected on most Arduino boards.
// give it a name:
int led = 9;
int led2 = 13;

// the setup routine runs once when you press reset:
void setup() {                
  // initialize the digital pin as an output.
  pinMode(led, OUTPUT);     
  pinMode(led2, OUTPUT);   
}

// the loop routine runs over and over again forever:
void loop() {
  digitalWrite(led, HIGH);   // turn the LED on (HIGH is the voltage level)
  digitalWrite(led2, LOW);   // turn the LED on (HIGH is the voltage level)
  delay(1000);               // wait for a second
  digitalWrite(led, LOW);    // turn the LED off by making the voltage LOW
  digitalWrite(led2, HIGH);    // turn the LED off by making the voltage LOW
  delay(1000);               // wait for a second
}
En variant med analogWrite

Med analogWrite kan man välja ljusstyrka.

int ledPin = 9;      // LED connected to digital pin 9
int ledPin2 = 10;   

// the setup function runs once when you press reset or power the board
void setup() {
}

// the loop function runs over and over again forever
void loop() {
  analogWrite(ledPin, 255);           // 0-255
  delay(500);    
  analogWrite(ledPin2, 255);    
  delay(250);                   // wait for a second 
  analogWrite(ledPin, 0);           // 0-255
  delay(500);    
  analogWrite(ledPin2, 0);   
}

Fade

programmet Fade får en lysdiod att öka och minska i intensitet på ett pulserande sätt.

http://arduino.cc/en/Tutorial/Fade

Tone

Tone spelar melodier.

http://arduino.cc/en/Tutorial/Tone

Möjligen fungerar det bättre om du använder programmet toneMelody från Arduino IDE Exempel. Programmet laddar ett bibliotek med noter.

Utvärdering

Uppgift
Fyll i formuläret

Hur går det med Arduino?