Introduction: Love Tester - If This Than That

Hallo allemaal,

dit is mijn Instructables voor de Love Tester, een machientje wat ik gemaakt heb tijdens het project If This Than That. Dit spelletje vereist twee spelers, en de Arduino laat via de lampjes zien hoeveel procent zij bij elkaar passen. In deze tutorial laat ik zien hoe ik de Love Tester gemaakt heb.

Joëlla van Dijk

(3018543)

GI-B

Step 1: Materials

For this project, you will need the following list of materials.

1. 5 colored LEDs.

2. 5x 220 ohm resistors.

3. 2 temperature sensors.

4. A buzzer.

5. Wires.

6. And ofcourse, your Arduino Uno and a breadboard!

Step 2: Setting Up the Circuit: LEDs

Om de barometer van de Love Tester te maken, gaan we vijf LEDs gebruiken, het liefst in verschillende kleuren.

We beginnen met het maken van een stroomkring:

1. Connect een wire van 5V naar de plus zijde van je breadbord. (rood) Doe hetzelfde met een wire van de GROUND naar de min zijde van je breadbord. (blauw)

Nu kunnen we stroom door de LEDs laten lopen, hiervoor heb je wires en de 220 Ohm weerstandjes voor nodig.

2. Plaats de vijf LEDs op het breadbord, met twee breadbord sockets ertussen. Door middel van de kleuren wil ik laag naar hoog aangeven, de koele kleuren heb ik achteraan geplaatst en de warme kleuren vooraan. (blauw, groen, geel, oranje, rood)

3. Nu connecten we onze weerstandjes van het linker pootje(ongebogen) van het LED lampje naar de GROUND op het breadbord.

4. Connect de rechter pootjes via een wire met de digital pins op het breadbord: 2 tot 6.

Step 3: Setting Up the Circuit: Add Sensors

Vervolgens gaan we onze temperatuursensoren toevoegen. Hiervoor gebruiken we de twee temperatuursensoren, ANALOG pins, 5V en de ground.

1. Plaats je temperatuursensoren op het breadbord.

2. Het middelste pootje is voor de OUTPUT, deze connecten we aan A0 op de Arduino Uno. De Analog-in pins berekenen voltages tussen 0 en 5 Volt, en vertalen die naar een waarde tussen 0 en 1023. Dit is belangrijk om de temperatuur straks in Celcius te berekenen.

3. Het linker pootje connecten we aan de 5V op het breadbord door middel van een wire.

4. Het rechter pootje connecten we aan de Ground op het breadbord door middel van een wire.

Step 4: Setting Up the Circuit: Add Buzzer

Als laatste voegen we een buzzer toe. Hiervoor heb je de buzzer, wires, een digital pin en een ground pin nodig.

1. Plaats de buzzer.

2. Connect het linkerpootje van de buzzer met Digital pin 7 op de Arduino Uno.

3. Connect het rechterpootje van de buzzer met de GROUND pin op de Arduino Uno.

Step 5: Writing the Code: the Setup

We beginnen met de setup van de code, hierin gaan we de variabelen definiëren.

//We roepen Analog-int 0 en 1 aan en de buzzer.

const int sensorPinEen = A0;
const int sensorPinTwee = A1;

int buzzer = 7;

//We stellen een basis temperatuur vast.

const float basisTemperatuur = 20.0;

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

//Pins definiëren

for(int pinNumber = 1; pinNumber < 8; pinNumber++){

pinMode(pinNumber, OUTPUT);

pinMode(buzzer, OUTPUT);

//LEDs staan uit

digitalWrite(pinNumber, LOW);

Step 6: Writing the Code: Temperature Sensors

void loop(){

//Nu we de setup klaar hebben, beginnen we met de void loop.

void loop (){

//we roepen aan dat de waardes van de sensoren weergegeven moeten worden in de Seriële monitor. De waardes geven we een nieuwe variabele genaamd sensorValue.

int sensorValue = analogRead(sensorPinEen);

Serial.println("sensor Value:");

Serial.println(sensorValue);

//doe dit twee keer. Let op de benaming van de variabelen, die moet verschillen.

int sensorValueTwo = analogRead(sensorPinTwee);

Serial.println("sensor Value:");

Serial.println (sensorValueTwo);

//dit is erg belangrijk want als er straks een foutje is in het circuit kunnen we meteen aflezen of het aan de sensoren ligt.

//met deze som zetten we de waardes van de sensoren om tot voltage.

float voltage = (sensorValue / 1024.0) * 5.0;
Serial.println(",Volts:");

Serial.println(voltage);

float voltageTwo = (sensorValueTwo / 1024.0) * 5.0;
Serial.println(",Volts:");

Serial.println(voltageTwo);

//met deze som zetten we de voltage om naar Celcius.

Serial.println(",degrees C:");
float temperatureC = (voltage - 0.5)*100;

Serial.println(temperatureC);

Serial.println(",degrees C 2:");

float temperatureCTwo = (voltageTwo - 0.5)*100;

Serial.println(temperatureCTwo);

//Go to next step

Step 7: Writing the Code: the IF-statement

//Tot slot krijgen we de IF-statement. Hiermee willen we voor een bepaalde temperatuur een bepaald aantal LEDs aan krijgen. Dit doen we met een simpel vergelijkinkje, in dit geval: Wanneer de temperatuur lager is dan de basistemperatuur, gaan er geen LEDs aan. Dit kun je een voor een doen met al je LED lampjes, maar dan maak je de temperatuur steeds hoger dan je basistemperatuur.

if((temperatureC < basisTemperatuur) && (temperatureCTwo < basisTemperatuur)) {

digitalWrite(2, LOW);

digitalWrite(3, LOW);

digitalWrite(4, LOW);

digitalWrite(5, LOW);

digitalWrite(6, LOW);

noTone(buzzer)

//Ga zelf verder!

//Bij mij gaat de buzzer af wanneer het vijfde lampje brand. Dit heb ik zo gedaan, op de plek waar nu noTone(buzzer) staat: tone(buzzer, 100);

//Verder sluit ik de code af met een kleine delay(10);

Step 8: Let's Get Creative: Visualisatie

Om mijn project af te maken heb ik eerst alles gesoldeerd. Dit doe je gewoon zoals het in het breadbord ook vast zit: je maakt verbindingen. Vervolgens heb ik met hout een kastje gemaakt met gaatjes erin, waar de sensoren en lampjes doorheen passen. Daarna heb ik er een thermometer op getekend. Het breadbord en de Arduino zitten verstopt in het kastje.

Dit is natuurlijk allemaal vrij en hopelijk heb je inspiratie gekregen van mijn uitwerking.