Bram documentation spelling check

This commit is contained in:
Bram Barbieri
2024-03-11 16:17:46 +01:00
parent f8489bca01
commit fd260d9c56

View File

@@ -1,18 +1,18 @@
## Bram's Learning Curve ## 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.
Here I post my progress on learning and mastering Arduino. I originally did the Game development 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 ### Buzzer
For one of my first projects I wanted to learn how to use a buzzer with different notes. 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. To achieve this, I went on a search across sites to see how I can use frequencies 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. Then I came across a teaching site (https://www.codingkids.nl/arduino-buzzer.html) that taught me the language to communicate to the buzzer what frequencies to use. This way I can make any sound come out of this simple buzzer.
### Arduino Video ### Arduino Video
I watched a video about using arduino and took alot op notes along the way. I watched a video about using Arduino and took a lot of op notes along the way.
The link is: (https://www.youtube.com/watch?v=BLrHTHUjPuw). The link is: (https://www.youtube.com/watch?v=BLrHTHUjPuw).
\/\/arduino information: \/\/Arduino information:
\/pinnumber(locatie, in-/output) \/pinnumber(locatie, in-/output)
@@ -21,10 +21,13 @@ The link is: (https://www.youtube.com/watch?v=BLrHTHUjPuw).
\/delay(time in millisec) \/delay(time in millisec)
\/int... <- variable \/int... <- variable
\/with a decimal its a double -> 1,2 \/with a decimal its a double -> 1,2
\/a character is a char -> "a" \/a character is a char -> "a"
\/\/serial communications: \/\/serial communications:
\/setup: \/setup:
Serial.begin(9600) -> the text speed Serial.begin(9600) -> the text speed
Serial.sprintLn(text) Serial.sprintLn(text)
@@ -37,55 +40,74 @@ Serial.printLn(....) -> variable because no "
The text speed needs to be the same as given. The text speed needs to be the same as given.
\/\/If Statements: \/\/If Statements:
if(condition){ if(condition){
action action
}else{ }else{
action action
} }
\/&& = "and" \/&& = "and"
\/|| = "or" \/|| = "or"
\/\/For loops: \/\/For loops:
For(int*i; i <= 10 ; i++){ For(int*i; i <= 10 ; i++){
serial.print(i) serial.print(i)
} }
\/The fading of led's: \/The fading of led's:
examples, basics, fade examples, basics, fade
\/ servo's \/ servo's
examples, servo, sweep examples, servo, sweep
### Linux and raspberry PI. ### Linux and raspberry PI.
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 To gain more knowledge about Linux, I first asked my classmates if they could get me started.
They showed me how to gain access to a server and told me how to navigate through files.
By doing this I got taught the following commands:
~ $ 'ls -la' = show file / folders
~ $ 'top' = see currently running programs ~ $ 'top' = see currently running programs
~ $ 'cd ' = change directory ~ $ 'cd ' = change directory
~ $ 'mkdir name' = make directory ~ $ 'mkdir name' = make directory
~ $ 'touch name' = make file ~ $ 'touch name' = make file
~ $ 'ping ip addres' ~ $ 'ping ip addres'
~ $ 'ssh username@ip address' = open ssh connection. ~ $ 'ssh username@ip address' = open ssh connection.
### Air, temperature, and all sort of stuff. ### Air, temperature, and all sort of stuff.
After the linux coding i decided to take a step back and began gaining experience with sensors.
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 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 did this by using one of the main sensors and tried programing it myself.
I used this website for the information and for the right library:(https://randomnerdtutorials.com/esp32-dht11-dht22-temperature-humidity-sensor-arduino-ide/). 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. 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. 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.
The rest of the tutorial was clear and worked like a charm. The rest of the tutorial was clear and worked like a charm.
the code used looks like this: the code used looks like this:
``` ```
#include "DHT.h" #include "DHT.h"
#define DHTPIN 4 #define DHTPIN 4
#define DHTTYPE DHT11 #define DHTTYPE DHT11
DHT dht(DHTPIN, DHTTYPE); DHT dht(DHTPIN, DHTTYPE);
void setup() { void setup() {
@@ -94,20 +116,21 @@ Serial.println(F("DHTxx test!"));
dht.begin(); dht.begin();
} }
void loop() { void loop() {
delay(2000); delay(2000);
float h = dht.readHumidity(); float h = dht.readHumidity();
float t = dht.readTemperature(); float t = dht.readTemperature();
float f = dht.readTemperature(true); float f = dht.readTemperature(true);
if (isnan(h) || isnan(t) || isnan(f)) { if (isnan(h) || isnan(t) || isnan(f)) {
Serial.println(F("Failed to read from DHT sensor!")); Serial.println(F("Failed to read from DHT sensor!"));
return; return;
} }
float hif = dht.computeHeatIndex(f, h); float hif = dht.computeHeatIndex(f, h);
float hic = dht.computeHeatIndex(t, h, false); float hic = dht.computeHeatIndex(t, h, false);
Serial.print(F("Humidity: ")); Serial.print(F("Humidity: "));
Serial.print(h); Serial.print(h);
Serial.print(F("% Temperature: ")); Serial.print(F("% Temperature: "));
@@ -121,32 +144,36 @@ Serial.print(hif);
Serial.println(F("°F")); Serial.println(F("°F"));
} }
``` ```
And The fysical board looks like this: And the physical board looks like this:
![Fysical DHT11 board off](<assets/DHT11 state 1.jpg>) ![Physical DHT11 board off](<assets/DHT11 state 1.jpg>)
And here it looks in action: And here it looks in action:
![fysical DHT11 board on](<assets/DHT11 state 2.jpg>) ![physical DHT11 board on](<assets/DHT11 state 2.jpg>)
Later on i could expand this code and the fysical product to include the rest of the sensors.
Later on, I could expand this code and the physical product to include the rest of the sensors.
### Buzzers .pt 2 ### Buzzers .pt 2
I found out how to make multiple buzzers go off with the press of one button and increase as mutch as there are pins. I found out how to make multiple buzzers go off with the press of one button and increase as Mutch as there are pins.
I tried to not look up anything for this one, but did ask questions form time to time. I tried to not look up anything for this one but did ask questions from time to time.
I designed it to work with scaning if there is and input and then output this signal to activate the buzzers. I designed it to work with scanning if there is any input and then output this signal to activate the buzzers.
This output signal can activate over multiple pins so this one button can set off all sorts of stuff. This output signal can activate over multiple pins so this one button can set off all sorts of stuff.
The code is short and simple: The code is short and simple:
``` ```
int button = 20; int button = 20;
int buzzerone = 12; int buzzerone = 12;
int buzzertwo = 11; int buzzertwo = 11;
void setup() { void setup() {
// put your setup code here, to run once:
pinMode(button, INPUT); pinMode(button, INPUT);
pinMode(buzzerone, OUTPUT); pinMode(buzzerone, OUTPUT);
pinMode(buzzertwo, OUTPUT); pinMode(buzzertwo, OUTPUT);
} }
void loop() {
void loop() {
if(digitalRead(button) == HIGH){ if(digitalRead(button) == HIGH){
digitalWrite(buzzerone, HIGH); digitalWrite(buzzerone, HIGH);
digitalWrite(buzzertwo, HIGH); digitalWrite(buzzertwo, HIGH);
@@ -156,43 +183,41 @@ void loop() {
} }
} }
``` ```
Here i made the fysical design but instead of buzzers i used lights in order to show it working.
![boad turned off.](<assets/Buzzer board off.jpg>)
And here is the the board working:
![board workong and turned on.](<assets/Buzzer board on.jpg>)
Here I made the physical design but instead of buzzers i used lights in order to show it working.
![board turned off.](<assets/Buzzer board off.jpg>)
And here is the the board working:
![board working and turned on.](<assets/Buzzer board on.jpg>)
### Python For Dummies. ### Python For Dummies.
My job was to make a connection between the websocket and the database we had set up, and to do this we wanted to use python. My job was to make a connection between the WebSocket and the database we had set up, and to do this we wanted to use python.
I had never used python before and was totaly new to the entire code structure and wording. I had never used python before and was totally new to the entire code structure and wording.
Because I was totaly new to all of python, I asked chatGPT for and example and some concrete code. Because I was totally new to all of python, I asked ChatGPT for and example and some concrete code.
I asked it my question wich was the assignment I was given and tried to reverse learn this way. I asked it my question which was the assignment I was given and tried to reverse learn this way.
I went and looked up fitting tutorials on W3SChools. I went and looked up fitting tutorials on W3SChools.
The following were used: The following were used:
(https://www.w3schools.com/python/python_mysql_getstarted.asp) (https://www.w3schools.com/python/python_mysql_getstarted.asp)
(https://websockets.readthedocs.io/en/stable/) (https://websockets.readthedocs.io/en/stable/)
(https://www.w3schools.com/python/python_mysql_insert.asp) (https://www.w3schools.com/python/python_mysql_insert.asp)
(https://www.w3schools.com/python/python_json.asp) (https://www.w3schools.com/python/python_json.asp)
after still not getting it very well i asked Dano ( a teammate of mine ) if he could learn me some basics, and so we did. After still not getting it very well i asked Dano (a teammate of mine) if he could teach me some basics, and so we did.
He taught me how to make a simple calculator and told me why my code worked the way it did. He taught me how to make a simple calculator and told me why my code worked the way it did.
(This was the code: (This was the code:
print("1 = + 2 = -") print("1 = + 2 = -")
c = int(input()) c = int(input())
print("first number") print("first number")
a = input() a = input()
print("second number") print("second number")
b= input() b= input()
if c == 1: if c == 1:
print(int(a) + int(b)) print(int(a) + int(b))
elif c == 2: elif c == 2:
print(int(a) - int(b)) print(int(a) - int(b))
) )
even if it looked simple,this was the ignition I needed to understand python better and continue my own research.
Even if it looked simple, this was the ignition I needed to understand python better and continue my own research.