Sensorer till Arduino: Skillnad mellan sidversioner

Från Wikiskola
Hoppa till navigering Hoppa till sök
(Skapade sidan med '== Lektion 6 - Sensorer == {{malruta | Avståndssensorn * Du ska veta vad en avståndssensor är * Du ska förstå hur program och elektronik samverkar * Du ska kunna förut...')
 
 
(4 mellanliggande sidversioner av samma användare visas inte)
Rad 8: Rad 8:
}}
}}


Den här sidan är inte klar än.
Det finns en mängd sensorer för Arduino. Man kan mäta avstånd, kraft, acceleration, temperatur, färg, mm.


Den kommer att handla om sensorer för att mäta avstånd med hjälp av IR och ultraljud.
Alla sensorer som ger en spänning kan i princip användas eftersom ni har lärt er att läsa in en analog spänning med ReadAnalogVoltage. Det finns även sensorer som ger en digital signal.


Man kan även mäta temperatur, färg, acceleration, mm.
Vi börjar med att titta på sensorer för att mäta avstånd. Mätprincipen använder sig ofta av ljud- eller ljusvågor, exempelvis laser, IR-ljus eller '''ultraljud'''. Vi ska titta på det senare.


Alla sensorer som ger en spänning kan i princip användas eftersom ni har lärt er att läsa in en analog spänning med ReadAnalogVoltage.
=== Avståndssensor ultraljud ===


Det som finns som ni kan prova är:
[[Fil:Skärmavbild 2017-05-11 kl. 08.40.19.png|400px|höger]]


*
Vi har två sensorer för att mäta avstånd med ultraljud. Den ena behöver en drivspänning (Vcc på 3.5 V och den andra behöver 5 V. Det är olämpligt att ge för hög drivspänning till sensorn. I princip kan du koppla in sensorn enligt bilden till höger och köra kodexemplet nedan men det är bättre om du skaffar dig mer kunskap. Googla rätt på databladet och en lämplig instruktion. Försök hitta en instruktion som även förklarar fysiken bakom mätprincipen så förstår du lättare algoritmen i koden.
Du kan hitta kretsschema koden för att mäta avståndet  hitta hur du skall koppla in sensorn för att allt skall fungera. När koden  körs, bör du kunna se värdena under 'Tools' >' Serial monitor', som öppnas i ett nytt fönster i Ardino IDE.


=== Avståndssensor ultraljud ===
Du behöver : En Arduino Uno, en avståndssensor, 4 koppartrådar och ett kretsbord samt lämplig kod.


Vi har två sensorer för att mäta avstånd med ultraljud.
==== In-och utgångar ====


De kommer från Kjell.com och på deras hemsida finns kod för att köra sensorn med Arduino. Det är bara att testa,
Arduino har ollika in- och utgångar (Pins) för att ta emot  och skicka analoga eller digitala signaler. I exemplet nedan ser du att pin 2 och pin 4 används. Deet är vanligt att man kopplar fel om man väljer att ta in kod från ett nytt ställer så kolla hur pins definieras i början av programmet.
(Koden är 87891)
 
Du behöver : En Arduino Uno, en avståndssensor, 4 koppartrådar och ett kretsbord.  
 
Du kan hitta koden för att mäta avståndet : [http://www.kjell.com/sortiment/el/elektronik/mikrokontroller/arduino/avstandssensor-p87891#ProductDetailedInformation här]. Här kan du även hitta hur du skall koppla in sensorn för att allt skall fungera. När du har koden  körs, bör du kunna se värdena under 'Tools' >' Serial monitor', som öppnas i ett nytt fönster.


==== Exempelkoden för avståndssensorn ====
==== Exempelkoden för avståndssensorn ====


  int inputPin=2; //ECHO pin  
  int inputPin=9; //ECHO pin  
  int outputPin=4; //TRIG pin  
  int outputPin=10; //TRIG pin  
   
   
  void setup()  
  void setup()  
Rad 85: Rad 82:
  }
  }
  }
  }
=== Lär mer och tips ===
[https://create.arduino.cc/projecthub/abdularbi17/ultrasonic-sensor-hc-sr04-with-arduino-tutorial-327ff6 Arduino Project Hub]

Nuvarande version från 30 september 2022 kl. 13.16

Lektion 6 - Sensorer

Mål för undervisningen Avståndssensorn
  • Du ska veta vad en avståndssensor är
  • Du ska förstå hur program och elektronik samverkar
  • Du ska kunna förutsäga hur en ändring i programmet påverkar kretsens beteende.


Det finns en mängd sensorer för Arduino. Man kan mäta avstånd, kraft, acceleration, temperatur, färg, mm.

Alla sensorer som ger en spänning kan i princip användas eftersom ni har lärt er att läsa in en analog spänning med ReadAnalogVoltage. Det finns även sensorer som ger en digital signal.

Vi börjar med att titta på sensorer för att mäta avstånd. Mätprincipen använder sig ofta av ljud- eller ljusvågor, exempelvis laser, IR-ljus eller ultraljud. Vi ska titta på det senare.

Avståndssensor ultraljud

Vi har två sensorer för att mäta avstånd med ultraljud. Den ena behöver en drivspänning (Vcc på 3.5 V och den andra behöver 5 V. Det är olämpligt att ge för hög drivspänning till sensorn. I princip kan du koppla in sensorn enligt bilden till höger och köra kodexemplet nedan men det är bättre om du skaffar dig mer kunskap. Googla rätt på databladet och en lämplig instruktion. Försök hitta en instruktion som även förklarar fysiken bakom mätprincipen så förstår du lättare algoritmen i koden.

Du kan hitta kretsschema koden för att mäta avståndet hitta hur du skall koppla in sensorn för att allt skall fungera. När koden körs, bör du kunna se värdena under 'Tools' >' Serial monitor', som öppnas i ett nytt fönster i Ardino IDE.

Du behöver : En Arduino Uno, en avståndssensor, 4 koppartrådar och ett kretsbord samt lämplig kod.

In-och utgångar

Arduino har ollika in- och utgångar (Pins) för att ta emot och skicka analoga eller digitala signaler. I exemplet nedan ser du att pin 2 och pin 4 används. Deet är vanligt att man kopplar fel om man väljer att ta in kod från ett nytt ställer så kolla hur pins definieras i början av programmet.

Exempelkoden för avståndssensorn

int inputPin=9; //ECHO pin 
int outputPin=10; //TRIG pin 

void setup() 
{ 
  Serial.begin(9600); 
  pinMode(inputPin, INPUT); 
  pinMode(outputPin, OUTPUT); 
}

void loop() 
{ 
  digitalWrite(outputPin, HIGH); //Trigger ultrasonic detection 
  delayMicroseconds(10); 
  digitalWrite(outputPin, LOW); 
  int distance = pulseIn(inputPin, HIGH); //Read ultrasonic reflection
  distance= distance/58; //Calculate distance 
  Serial.println(distance); //Print distance 
  delay(100); 
}

Avståndssensor med blinkning

Vi prövade att kombinera avståndsmätning med blink-programmet. Vi skrev in att if(distance<10) skulle göra så att blink-koden gick igång, fungerade allt. Koden var alltså mycket simpel och lik den vi lärt oss med javascript. Den kompletta koden var alltså :

int inputPin=9; //ECHO pin 
int outputPin=10; //TRIG pin 

void setup() 
 { 
  Serial.begin(9600); 
  pinMode(inputPin, INPUT); 
  pinMode(outputPin, OUTPUT); 
  pinMode(13, OUTPUT);
 }
 
void loop() 
 { 
  digitalWrite(outputPin, HIGH); //Trigger ultrasonic detection 
  delayMicroseconds(10); 
  digitalWrite(outputPin, LOW); 
  int distance = pulseIn(inputPin, HIGH); //Read ultrasonic reflection
  distance= distance/58; //Calculate distance 
  Serial.println(distance); //Print distance 
  delay(100); 
  
  if(distance<10) {
  digitalWrite(13, HIGH);   // turn the LED on (HIGH is the voltage level)
 delay(100);              // wait for a second
 digitalWrite(13, LOW);    // turn the LED off by making the voltage LOW
}
}

Lär mer och tips

Arduino Project Hub