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