Files
J1B3-Sensor-boxes/docs/LearningProcessBram/Sprint1/FirstDocumentation.md
2024-03-04 14:15:16 +01:00

4.1 KiB

Bram's Learning Curve

Here i post my progress on learning and mastering arduino. I originally did the Gamedevelopment study but decided to switch to "Technische Informatica". That is why i need to learn everything from scratch, and everything is new to me. This is the reason that i made these documents, in order to track my progression in this new study.

Buzzer

For one of my first projects I wanted to learn how to use a buzzer with different notes. To achieve this, i went on a search accross sites to see how i can use frequenties to make different sounds. Then i came accross a teaching site (https://www.codingkids.nl/arduino-buzzer.html) that taught me the language to communicate to the buzzer what frequenties to use. This way i can make any sound come out of this simple buzzer.

Arduino Video

I watched a video about using arduino and took alot op notes along the way. The link is: (https://www.youtube.com/watch?v=BLrHTHUjPuw).

//arduino information:

/pinnumber(locatie, in-/output)

/digitalwrite(locatie, high/low)

/delay(time in millisec)

/int... <- variable /with a decimal its a double -> 1,2 /a character is a char -> "a"

//serial communications: /setup: Serial.begin(9600) -> the text speed Serial.sprintLn(text)

/Loop: Serial.print("text") Serial.printLn(....) -> variable because no "

/Ctrl + shift + M = serial monitor. The text speed needs to be the same as given.

//If Statements: if(condition){ action }else{ action }

/&& = "and" /|| = "or"

//For loops: For(int*i; i <= 10 ; i++){ serial.print(i) }

/The fading of led's: examples, basics, fade

/ servo's examples, servo, sweep

Linux and raspberryPI.

To gain more knowledge about linux, i first asked my class mates if they could get me started. They showed me how to gain acces to a server, and told me how to navigate through files. By doing this i got taught the following commands:

~ $ 'ls -la' = show file / volders ~ $ 'top' = see currently running programs ~ $ 'cd ' = change directory ~ $ 'mkdir name' = make directory ~ $ 'touch name' = make file ~ $ 'ping ip addres' ~ $ 'ssh username@ip address' = open ssh connection.

From here i went and looked up several linux video's wich taught me the following: ....

Air, temperature, and all sort of stuff.

After the linux coding i decided to take a step back and began gaining experience with sensors. I began trying to make our group project's "node" for myself. I did this by using one of the main sensors and tried programing it in myself. I used this website for the information and for the right library:(https://randomnerdtutorials.com/esp32-dht11-dht22-temperature-humidity-sensor-arduino-ide/). Aside from the website i used my teammates for help where it was needed. I wanted to make my own spin on the original design by including a button to activate the sensor and an LED to show if its on. At first I tried to use my own DHT11, but apparently it didn't work. So i used one from my Teammates. The rest of the tutorial was clear and worked like a charm. the code used looks like this:

#include "DHT.h"

#define DHTPIN 4
#define DHTTYPE DHT11 

DHT dht(DHTPIN, DHTTYPE);

void setup() {
  // put your setup code here, to run once:
Serial.begin(9600);
Serial.println(F("DHTxx test!"));
dht.begin();
}

void loop() {
 delay(2000);
 float h = dht.readHumidity();
// Read temperature as Celsius (the default)
float t = dht.readTemperature();
float f = dht.readTemperature(true);

  if (isnan(h) || isnan(t) || isnan(f)) {
    Serial.println(F("Failed to read from DHT sensor!"));
    return;
  }

// Compute heat index in Fahrenheit (the default)
float hif = dht.computeHeatIndex(f, h);
// Compute heat index in Celsius (isFahreheit = false)
float hic = dht.computeHeatIndex(t, h, false);

Serial.print(F("Humidity: "));
Serial.print(h);
Serial.print(F("%  Temperature: "));
Serial.print(t);
Serial.print(F("°C "));
Serial.print(f);
Serial.print(F("°F  Heat index: "));
Serial.print(hic);
Serial.print(F("°C "));
Serial.print(hif);
Serial.println(F("°F"));
}

And The fysical board looks like this:

And here it looks in action:

Later on i could expand this code and the fysical product to include the rest of the sensors.