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

136 lines
4.1 KiB
Markdown

## 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.