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.