Changes

Line 1: Line 1: −
==Understanding Arduino Boards==
+
==[[Digital technologies/Arduino/Arduino- Beginner/Understanding Arduino Boards|Understanding Arduino Boards]]==
   −
===What is a micro-controller?===
+
===What is a Micro-controller?===
 
A micro-controller is a compact integrated circuit that receives input from the environment, processes the input and can produce an output. It receives input from its I/O pins and processes the signals received using the CPU onboard the chip. Micro-controllers are usually embedded in larger systems and are utilized in many areas of life including vehicles, medical devices, home appliances, and more.
 
A micro-controller is a compact integrated circuit that receives input from the environment, processes the input and can produce an output. It receives input from its I/O pins and processes the signals received using the CPU onboard the chip. Micro-controllers are usually embedded in larger systems and are utilized in many areas of life including vehicles, medical devices, home appliances, and more.
    
Arduino is an open source electronics platform that provides an easy and accessible way to make robotics projects. The boards are able to receive input signals from sensors and can produce outputs through I/O pins. Arduino boards are used by a diverse set of people, including students, hobbyists, engineers, researchers due to the simple layout and programmability of the Arduino boards.  
 
Arduino is an open source electronics platform that provides an easy and accessible way to make robotics projects. The boards are able to receive input signals from sensors and can produce outputs through I/O pins. Arduino boards are used by a diverse set of people, including students, hobbyists, engineers, researchers due to the simple layout and programmability of the Arduino boards.  
    +
An Arduino or microcontroller can be implemented in many ways:
 +
 +
* [https://create.arduino.cc/projecthub/shubhamsuresh/how-to-make-a-bluetooth-controlled-rc-car-at-home-521212 A remote control car]
 +
* [https://www.instructables.com/Arduino-Night-Light/ A night light]
 +
* [https://www.instructables.com/Arduino-Kitchen-Scale/ A kitchen scale]
 
===Arduino board sections===
 
===Arduino board sections===
 
There are 5 important board sections that the user must have a solid understanding of to start utilizing the board's functions. These sections are outlined below:
 
There are 5 important board sections that the user must have a solid understanding of to start utilizing the board's functions. These sections are outlined below:
Line 41: Line 46:  
A digital signal is a signal that represents information as a series of discrete binary values. Digital signals are used in all modern electronic applications, including communication and network devices. When plotted in a voltage-time graph, the signal is discrete, and ranges from 0 V to VCC (usually 1.8V, 3.3 V, or 5V).
 
A digital signal is a signal that represents information as a series of discrete binary values. Digital signals are used in all modern electronic applications, including communication and network devices. When plotted in a voltage-time graph, the signal is discrete, and ranges from 0 V to VCC (usually 1.8V, 3.3 V, or 5V).
   −
=== Connecting to an Arduino ===
+
=== [[Digital technologies/Arduino/Arduino- Beginner/Connecting to an Arduino|Connecting to an Arduino]] ===
 +
 
 +
* '''There are a few ways that you can ruin or burn your Arduino, refer to''' [[Five Easy ways to Kill an Arduino|this guide]] '''before starting for more information.'''
 +
 
 +
* '''If you are using a lab computer in the Faculty of Engineering refer to''' [[Digital technologies/Arduino/How to connect to lab computers|this guide]] '''for additional steps to connect the Arduino.'''
 +
 
 
Step 1: Download the Arduino IDE from https://www.arduino.cc/en/software. Make sure to choose the version that is appropriate for your operating system.  
 
Step 1: Download the Arduino IDE from https://www.arduino.cc/en/software. Make sure to choose the version that is appropriate for your operating system.  
   Line 55: Line 65:     
==== Possible bugs: ====
 
==== Possible bugs: ====
If you're having trouble with your Arduino, refer to this guide: [[Arduino troubleshooting|'''Arduino troubleshooting''']]
+
If you're having trouble with your Arduino, refer to this guide: '''[[Digital technologies/Arduino/Arduino- Beginner/Arduino troubleshooting|Arduino troubleshooting]]'''
   −
== Arduino IDE and internal Libraries ==
+
<youtube>64oEr1zTlOg</youtube>
 +
 
 +
== [[Digital technologies/Arduino/Arduino- Beginner/Arduino IDE and Tools|Arduino IDE and Tools]] ==
    
===Arduino IDE:===
 
===Arduino IDE:===
The process of programming includes designing and executing code in an integrated development environment, otherwise known as an IDE. Many different IDEs exist and are adopted for different usages, and allow programs to edit, debug, and execute (or compile) their code. In order to program an Arduino (regardless of what kind of microcontroller is used), one must have the Arduino IDE downloaded (Refer to '''Connecting an Arduino''').
+
The process of programming includes designing and executing code in an integrated development environment, otherwise known as an IDE. Many different IDEs exist and are adopted for different usages, and allow programs to edit, debug, and execute (or compile) their code. In order to program an Arduino (regardless of what kind of microcontroller is used), one must have the Arduino IDE downloaded (Refer to '''[[Digital technologies/Arduino/Arduino- Beginner/Connecting to an Arduino|Connecting an Arduino]]''').
      −
When beginning you journey in learning how to code, its important to get to know the integrated development environment, or IDE that the coder will use to edit and compile the written programs. The following figure guides the users to the basic on the basic options available on the IDE:
+
 
 +
When beginning your journey in learning how to code, its important to get to know the integrated development environment, or IDE that the coder will use to edit and compile the written programs. The following figure guides the users on the basic options available on the IDE:
    
[[File:Arduino IDE2.jpg|930x930px]]
 
[[File:Arduino IDE2.jpg|930x930px]]
   −
===Blink program:===
+
=== Internal Libraries ===
The Arduino IDE provides creators with a plethora of written programs that are fully ready to run on an arduino board. They are located in the Files>Examples folder. Amongst the most basic is the "Blink" program, which can be used to not only get to know the basic features in the software and the hardware, but are also a great way to test the connectivity between the arduino board and the user's computer. This program is located in Files>Examples>01.Basics>Blink.  
+
 
 +
==== What is a library? ====
 +
A library is a file that contains pre-written code that can be referred to in order to use certain sensors and functions. Often, in order to complete a task like connecting to a server to spinning a motor many lines of code must be written and executed. Libraries are bits of code that users can refer to in order to complete those tasks without having to type out each line of code, it simplifies the programming process and allows us to perform relatively complex tasks with ease.
 +
 
 +
 
 +
In beginner topics we won’t be using complex or external libraries! But keep this in mind for the following ones as this will be necessary later on.
 +
 
 +
==== Built-in Libraries ====
 +
Built-in libraries are ones that come preinstalled into the Arduino IDE, you don’t need to import the library into the IDE. An example of this type of library is the math.h library, which is used for most basic math operations.
 +
 
   −
The following provides an overview of the different functions used in this program:
+
''<u>Where to find them?</u>''
[[File:Blink program overview.jpg|center|frameless|800x800px]]
  −
{| class="wikitable"
  −
|+Table 2: Overview of functions used in the Blink program
  −
!Function
  −
!Description
  −
|-
  −
|Setup()
  −
|Performs any actions that are initially required to run the rest of the program, such as initializing any peripheral components and setting the communication frequency between the Arduino and the PC.
  −
|-
  −
|Loop()
  −
|The loop function acts as the program's driver, it runs on a continuous loop and specifies the order of operation the microcontroller will perform. Execution starts at the top, goes through the contents of the loop and then starts executing from the top again. This procedure is repeated forever.
  −
|-
  −
|pinMode (pin number, INPUT or Output)
  −
|Configures the pin to behave as either an INPUT or an OUTPUT.
  −
|-
  −
|digitalWrite (pin number, HIGH or LOW)
  −
|Writes a HIGH or LOW value to a digital pin. If the pin has been configured as an OUTPUT, then the signal sent over (ie the voltage) will be set as 5 V (HIGH), or 0 V (LOW). For 3.3 V output boards, the high value will be set to 3.3 V, whereas the low is the same as the 5V board, which is 0V.
  −
|-
  −
|Delay (time in milliseconds)
  −
|Pauses the program for the amount of time specified in the parameter.
  −
|}
     −
=== Initializing a Pin as an Input or Output ===
+
There are a few ways to look at what built-in libraries are available, you can do a quick search in different online Arduino forums, or the easiest way is to look at the library manager in the Arduino IDE. This window displays libraries that are already installed and you also have the ability to install new libraries that would would like.
When using components you will often have to initialize the pin they are connected to as either an input or output! The syntax for this will vary depending on the component and what pin type it is connected to.  
+
As seen below, in the menu bar at the top of the window click on ''Tools > Manage Libraries...'' [[File:Library Dropdown.jpg|none|thumb|627x627px]]Inside the manager as seen below you are able to select the type of library you are looking for, for example, installed, etc.[[File:Manage libraries.png|thumb|alt=|none|783x783px]]
   −
==== Analog Input/Output ====
  −
When trying to manipulate data from an analog pin, the following lines of code are used to read data from it:
  −
int ''variable'' = analogRead(''insert pin number''); //here a variable is being defined to hold the value read from the pin
  −
When you want to write data to the pin the following syntax is used:
  −
int ''variable'' = analogWrite(''insert pin number''); //here a variable is being defined to hold the value read from the pin
     −
==== Digital Input/Output ====
+
When wanting to use a library, one must declare it at the top of their code so that their IDE knows that that file is being referred to, the syntax is:
When wanting to use a digital pin you will need to declare as either an input or output in the Void Setup () as follows:
+
  #include<math.h>
pinMode(LED1, OUTPUT); //For example if you had a pin called LED1
  −
When wanting to write a value to LED1 then you would use the following syntax:
  −
  digitalWrite(LED1, HIGH); //Here HIGH or LOW would indicate if you would like the led to turn on - for turning it on you set HIGH, and LOW otherwise.
      
=== Serial Monitors ===
 
=== Serial Monitors ===
Line 112: Line 105:       −
The serial monitor is located in two locations: the bar at the top of the IDE, as seen in the figure below.
+
The serial monitor can be accessed in two locations: the icon in the bar at the top of the IDE, as seen in the figure below.
 
[[File:Serial MOnitor 2.png|center|thumb|667x667px]]
 
[[File:Serial MOnitor 2.png|center|thumb|667x667px]]
   Line 122: Line 115:  
A few features to note is the baud rate and auto scroll functionality. The baud rate must match the one dictated in the program, this value dictates that rate that the Arduino and IDE communicate with each other.  
 
A few features to note is the baud rate and auto scroll functionality. The baud rate must match the one dictated in the program, this value dictates that rate that the Arduino and IDE communicate with each other.  
 
   
 
   
[[File:Tempsnip.png|center|thumb|808x808px]]When using the serial monitor it must be initialized for a specific baud rate as follows:
+
[[File:Tempsnip.png|center|thumb|808x808px]]When using the serial monitor it must be initialized in the code for a specific baud rate as follows:
 
  Void Setup {
 
  Void Setup {
   Line 139: Line 132:  
  Serial.println("INSERT PHRASE"); //for outputting each value on a new line
 
  Serial.println("INSERT PHRASE"); //for outputting each value on a new line
   −
=== Introduction Libraries ===
+
<youtube>f1z-1Db2IAI</youtube>
   −
==== What is a library? ====
+
==[[Digital technologies/Arduino/Arduino- Beginner/Introduction to Programming Syntax and Conceptualization|Introduction to Programming Syntax and Conceptualization]]==
A library is a file that contains pre-written code that can be referred to in order to use certain sensors and functions. Often, in order to complete a task like connecting to a server to spinning a motor many lines of code must be written and executed. Libraries are bits of code that users can refer to in order to complete those tasks without having to type out each line of code, it simplifies the programming process and allows us to perform relatively complex tasks with ease.
+
As mentioned previously, and IDE is used to compile and execute the code utilized in a microcontroller. There are many different IDEs that can be used for various types of microcontroller and for each purpose there are more suitable boards that can be used. In order to program an Arduino, one must have the Arduino IDE downloaded (Refer to '''[[Digital technologies/Arduino/Arduino- Beginner/Connecting to an Arduino|Connecting an Arduino]]'''). The Arduino IDE provides users with a programming editor as well as a way to easily upload and compile programs onto the Arduino board. Programs in the Arduino IDE are called sketches, and are normally saved with the .ino extension. The language used to program the Arduino board is based on the C++ language, which is a general use Object Oriented language. Like any common language, in order to start coding, one must be aware of the grammar rules and vocabulary that is used. An important word that will be often encountered is a “function”, which is a block of code that takes in an input, processes the input, then returns an output.  
    +
=== Blink program: An Example ===
 +
The Arduino IDE provides creators with a plethora of written programs that are fully ready to run on an Arduino board. They are located in the Files>Examples folder. Among the most basic is the "Blink" program, which can be used to not only get to know the basic features in the software and the hardware, but are also a great way to test the connectivity between the Arduino board and the user's computer. This program is located in Files>Examples>01.Basics>Blink.  
   −
In this module we won’t be using complex or external libraries! But keep this in mind for the following ones as this will be necessary later on.
+
The following provides an overview of the different functions used in this program:
 +
[[File:Blink program overview.jpg|center|frameless|800x800px]]
 +
{| class="wikitable"
 +
|+Table 2: Overview of functions used in the Blink program
 +
!Function
 +
!Description
 +
|-
 +
|Setup()
 +
|Performs any actions that are initially required to run the rest of the program, such as initializing any peripheral components and setting the communication frequency between the Arduino and the PC.
 +
|-
 +
|Loop()
 +
|The loop function acts as the program's driver, it runs on a continuous loop and specifies the order of operation the microcontroller will perform. Execution starts at the top, goes through the contents of the loop and then starts executing from the top again. This procedure is repeated forever.
 +
|-
 +
|pinMode (pin number, INPUT or Output)
 +
|Configures the pin to behave as either an INPUT or an OUTPUT.
 +
|-
 +
|digitalWrite (pin number, HIGH or LOW)
 +
|Writes a HIGH or LOW value to a digital pin. If the pin has been configured as an OUTPUT, then the signal sent over (ie the voltage) will be set as 5 V (HIGH), or 0 V (LOW). For 3.3 V output boards, the high value will be set to 3.3 V, whereas the low is the same as the 5V board, which is 0V.
 +
|-
 +
|Delay (time in milliseconds)
 +
|Pauses the program for the amount of time specified in the parameter.
 +
|}
   −
==== Built-in Libraries ====
+
=== Initializing a Pin as an Input or Output ===
Built-in libraries are ones that come preinstalled into the Arduino IDE, you don’t need to import the library into the IDE. An example of this type of library is the math.h library, which is used for most basic math operations.
+
When using components you will often have to initialize the pin they are connected to as either an input or output! The syntax for this will vary depending on the component and what pin type it is connected to.  
    +
==== Analog Input/output ====
 +
When trying to manipulate data from an analog pin, the following lines of code are used to read data from it:
 +
int ''variable'' = analogRead(''insert pin number''); //here a variable is being defined to hold the value read from the pin
 +
When you want to write data to the pin the following syntax is used:
 +
int ''variable'' = analogWrite(''insert pin number''); //here a variable is being defined to hold the value read from the pin
   −
''<u>Where to find them?</u>''
+
==== Digital Input/output ====
 +
When wanting to use a digital pin you will need to declare as either an input or output in the Void Setup () as follows:
 +
pinMode(LED1, OUTPUT); //For example if you had a pin called LED1
 +
When wanting to write a value to LED1 then you would use the following syntax:
 +
digitalWrite(LED1, HIGH); //Here HIGH or LOW would indicate if you would like the led to turn on - for turning it on you set HIGH, and LOW otherwise.
   −
There are a few ways to looks for what built-in libraries are available, you can do a quick search in different online Arduino forums, or the easiest way is to look at the library manager in the Arduino IDE. This window displays libraries that are already installed and you also have the ability to install libraries that would would like.
+
====== Some other basic considerations: ======
 
  −
 
  −
As seen below, in the menu bar at the top of the window click on ''Tools > Manage Libraries...'' [[File:Library Dropdown.jpg|none|thumb|627x627px]]Inside the manager as seen below you are able to select the type of library you are looking for, for example, installed, arduino and etc.[[File:Manage libraries.png|thumb|alt=|none|783x783px]]
  −
 
  −
==Introduction to Programming Syntax and Conceptualization==
  −
As mentioned previously, and IDE is used to compile and execute the code utilized in a microcontroller. There are many different IDEs that can be used for various types of microcontroller and for each purpose there are more suitable boards that can be used. In order to program an Arduino, one must have the Arduino IDE downloaded (Refer to '''Connecting an Arduino'''). The Arduino IDE provides users with a programming editor as well as a way to easily upload and compile programs onto the Arduino board. Programs in the Arduino IDE are called sketches, and are normally saved with the .ino extension. The language used to program the Arduino board is based on the C++ language, which is a general use Object Oriented language. Like any common language, in order to start coding, one must be aware of the grammar rules and vocabulary that is used. An important word that will be often encountered is a “function”, which is a block of code that takes in an input, processes the input, then returns an output.
  −
 
  −
Some other basic considerations:
   
{| class="wikitable"
 
{| class="wikitable"
 
|+Table 3: Overview of some basic elements of programming
 
|+Table 3: Overview of some basic elements of programming
Line 180: Line 197:  
|This character ends a program statement and lets the compiler know ‘the end of the current line/statement’
 
|This character ends a program statement and lets the compiler know ‘the end of the current line/statement’
 
|}
 
|}
It is also important to be aware that the Arduino editor is case sensitive, meaning that the words “DOOR” and “Door” are not understood to be the same word by the compiler. Furthermore, to make writing and editing code more friendly, the Arduino IDE will color code important functions, comments, etc. This will be seen later in this section.  
+
It is also important to be aware that the Arduino editor is case sensitive, meaning that the words “DOOR” and “Door” are not understood to be the same word by the compiler. Furthermore, to make writing and editing code more friendly, the Arduino IDE will colour code important functions, comments, etc. This will be seen later in this section.
 +
 
 +
As seen below, certain preexisting functions in the Arduino IDE will often times be a certain colour. This is a good indicator of if whether or not you have written the function correctly.
 +
[[File:IDEAFS.png|center|thumb|587x587px|Cited from: https://en.wikipedia.org/wiki/File:Arduino_IDE_-_Blink.png]]
    
=== Pseudocode and Flowcharts ===
 
=== Pseudocode and Flowcharts ===
 
As the complexity of your projects progress keeping track of all the different functions will likely become increasingly more difficult. Some tools that are often used to help create a layout of what the purpose of the programs is include pseudocode and flowchart. They both aid in visualizing and outlining the logic behind your code, the difference between the two is that flowcharts are more visually based and in contrast pseudocode is a typed-up outline of the code [refer to examples below].
 
As the complexity of your projects progress keeping track of all the different functions will likely become increasingly more difficult. Some tools that are often used to help create a layout of what the purpose of the programs is include pseudocode and flowchart. They both aid in visualizing and outlining the logic behind your code, the difference between the two is that flowcharts are more visually based and in contrast pseudocode is a typed-up outline of the code [refer to examples below].
 +
[[File:PseudoCode Example.png|none|frame|Example Pseudocode. (Source: https://www.researchgate.net/figure/Simple-inheritance-mechanism-pseudocode_fig3_7305018)]]
 +
[[File:Flowchart Example.png|none|frame|Flowchart Example (Source: https://m.youtube.com/playlist?list=PLG6ePePp5vvYVEjRanyndt7ZSqTzillom)]]
    +
This allows the designer (you) to be able to work through the logic behind the code before creating it, allowing for a far smoother design process.
   −
This allows the designer (you) to be able to work through the logic behind the code before creating it, allowing for a far smoother design process.
+
<youtube>rSz7549WSjY</youtube>
   −
== Introduction to Variables and Conditional Statements ==
+
== [[Digital technologies/Arduino/Arduino- Beginner/Introduction to Variables and Conditional Statements|Introduction to Variables and Conditional Statements]] ==
    
===Variables===
 
===Variables===
Line 203: Line 226:  
|double or float
 
|double or float
 
|-
 
|-
|charecters
+
|characters
 
|char
 
|char
 
|}
 
|}
After declaring the variable type, the coder must then name the variable. The variable name should clearly reflect the purpose of the value, so that the coder and the reader can easily identify which value is associated with what variable. Additionally, variables cannot have spaces imbedded within the name. For example, "My deposit" is not a valid variable name, but "MyDeposit" is. Note that capitalizations can be useful for readability. Furthermore, variables should not start with digits, or with an underscore "_".
+
After declaring the variable type, the coder must then name the variable. The variable name should clearly reflect the purpose of the value, so that the coder and the reader can easily identify which value is associated with what variable. Additionally, variables cannot have spaces embedded within the name. For example, "My deposit" is not a valid variable name, but "MyDeposit" is. Note that capitalization can be useful for readability. Furthermore, variables should not start with digits, or with an underscore "_".
   −
After naming the variable, the coder can choose to initialize the variable, which is choosing an initial value to be assosiated with the variable (which can change throughout the program). Be careful to stay consistent with the type of the variable. For example, you cannot initialize the variable int Age with a value of "k", as "k" is not an integer. The code segments below illustrate the process of initialization:
+
After naming the variable, the coder can choose to initialize the variable, which is choosing an initial value to be associated with the variable (which can change throughout the program). Be careful to stay consistent with the type of the variable. For example, you cannot initialize the variable int Age with a value of "k", as "k" is not an integer. The code segments below illustrate the process of initialization:
 
  int a;// not initialized, which is ok!
 
  int a;// not initialized, which is ok!
   Line 254: Line 277:  
  ///instructions }
 
  ///instructions }
   −
==Introduction to Electronics and Circuitry==
+
<youtube>YktSocf2vSc</youtube>
    +
==[[Digital technologies/Arduino/Arduino- Beginner/Introduction to Electronics and Circuitry|Introduction to Electronics and Circuitry]]==
 
===Introduction to Circuits===
 
===Introduction to Circuits===
A circuit is a pathway where electricity can flow through a closed path from the negative (cathode) to the positive (anode) end of a power source. Elements in a circuit can either supply or expend energy. Energy is measured in Joules (J). Suppliers of energy are called sources; they provide a voltage, or charge electrons with energy. The number of electrons flowing in a circuit is called a current, measured in Amperes (A).
+
A circuit is a pathway where electricity can flow through a closed path from the negative (cathode) to the positive (anode) end of a power source. Elements in a circuit can either supply or expend energy. Energy is measured in Joules (J). Suppliers of energy are called sources; they provide a voltage, or charge electrons with energy. The number of electrons flowing in a circuit is called a current, measured in Amperes (A). A common voltage source is a chemical battery, which is an example of a direct-current power source (DC). It provides electrons with a fixed amount of energy (i.e. a fixed voltage) through a chemical reaction within a battery. Resistance is a value that describes how easy for electrons to move in a material when voltage is applied. Resistors are devices that can be added to the circuit to impede current flow. 
   −
A common voltage source is a chemical battery, which is an example of a direct-current power source (DC). It provides electrons with a fixed amount of energy (i.e. a fixed voltage) through a chemical reaction within a battery. Resistance is a value that describes how easy for electrons to move in a material when voltage is applied. Resistors are devices that can be added to the circuit to impede current flow. The relationship that represents the relationship between voltage, current, and resistance is ohm’s law, represented by: V=IR. The power source in a circuit determines the voltage supplied and the current available. The connected components will draw current from the power source.  
+
=== Ohm's Law ===
 +
There are a few ways to calculate the required values for each component, however one of the basic ways of calculating them is '''Ohm's law'''.
   −
There are three arrangements of circuits, series, parallel, and combination. In a series circuit, the amount of current flowing is the same at all points in the circuit, whereas the voltage supplied by the battery is equal to the voltage drop across each component. A series circuit has only one path for electricity to flow, so if any component fails in the circuit, all other components will also stop operating, as the circuit is now open. In a parallel circuit, the voltage is the same in all branches, whereas the current is different in each branch.  
+
The relationship that represents the relationship between voltage, current, and resistance is ohm’s law, represented by: '''V=IR'''. The power source in a circuit determines the voltage supplied and the current available. The connected components will draw current from the power source.  
   −
=== Breadboard ===
+
There are three arrangements of circuits, series, parallel, and combination.
A breadboard is used to prototype a temporary circuit. The user can build, test and analyze a circuit without any permanent connections. It is made up of terminal strips and power rails. The terminal strips are used to hold any number of components in place and make electrical connections in a horizontal row. The power rails are the long vertical strips and are used to facilitate power (+) and ground (-) connections by placing them all in one column.
+
[[File:Ohms law diagram.png|thumb|248x248px|Ohm's Law (Source: https://learn.digilentinc.com/Documents/331)]]
 +
 
 +
==== Series Circuits ====
 +
In a series circuit, the amount of current flowing is the same at all points in the circuit, whereas the voltage supplied by the battery is equal to the voltage drop across each component. A series circuit has only one path for electricity to flow, so if any component fails in the circuit, all other components will also stop operating, as the circuit is now open.
 +
 
 +
==== Parallel Circuits ====
 +
In a parallel circuit, the voltage is the same in all branches, whereas the current is different in each branch.
 +
 
 +
[[File:Series vs parallel resistance.png|center|thumb|786x786px|(Source: https://makeabilitylab.github.io/physcomp/electronics/series-parallel.html)]]
      −
<big>MUST REARRAGE THIS SECTION :)</big>
+
<youtube>F_vLWkkOETI</youtube>
   −
=== Ohm's Law ===
+
=== Introduction to Electronic Components ===
   −
==== Series Circuits ====
+
==== Breadboard ====
 +
A breadboard is used to prototype a temporary circuit. The user can build, test and analyze a circuit without any permanent connections. It is made up of terminal strips and power rails. The terminal strips are used to hold any number of components in place and make electrical connections in a horizontal row. The power rails are the long vertical strips and are used to facilitate power (+) and ground (-) connections by placing them all in one column.
 +
[[File:BB-2.png|center|thumb|682x682px|Connections inside a breadboard (Source: https://dreyfuzz.github.io/hackinghardware/)]]
 +
In the [[Breadboard|breadboard page]] you will find information on various technics to using breadboards or why it's even called a breadboard.
   −
==== Parallel Circuits ====
     −
== Introduction to Electronic Components ==
     −
===LED===
+
==== LED ====
A Light Emitting Diode, or LED, is a semiconductor device that lights up when an electric current passes through it. They come in many different colors and shapes, and are very versatile. LEDs are diodes, which means that current flows through the element in only one way, from the positive to the negative end. On an LED, the cathode end can be identified by either a flat edge on the body, or as the shorter leg. As such, the anode is the other end (the longer leg on the LED).
+
A Light Emitting Diode, or LED, is a semiconductor device that lights up when an electric current passes through it. They come in many different colours and shapes, and are very versatile. LEDs are diodes, which means that current flows through the element in only one way, from the positive to the negative end. On an LED, the cathode end can be identified by either a flat edge on the body, or as the shorter leg. As such, the anode is the other end (the longer leg on the LED).
 +
[[File:LED - 1.png|center|thumb|198x198px|(Source: https://create.arduino.cc/projecthub/rowan07/make-a-simple-led-circuit-ce8308)]]
   −
===Pushbutton===
+
====Pushbutton====
 
A pushbutton is an electronic switch component that completes the circuit only when pressed. In an electric circuit, electricity needs to flow continuously through the circuit in order for all parts to function. The pushbutton interrupts this circuit and forms a gap, so that electricity doesn't flow to the other side of the pushbutton. When the pushbutton is pressed. a small spring is activated that is made of conducting material so that electricity flows through the spring to the other side of the pushbutton.
 
A pushbutton is an electronic switch component that completes the circuit only when pressed. In an electric circuit, electricity needs to flow continuously through the circuit in order for all parts to function. The pushbutton interrupts this circuit and forms a gap, so that electricity doesn't flow to the other side of the pushbutton. When the pushbutton is pressed. a small spring is activated that is made of conducting material so that electricity flows through the spring to the other side of the pushbutton.
 +
[[File:Pushb.png|center|thumb|(Source: https://www.sparkfun.com/products/9190)]]
 +
 +
====Resistor====
 +
A resistor is an electrical component which creates electrical impedance, or resistance to current flow. The amount of resistance a resistor provides can be read from the bands of colour on the resistor, which are read left to right. For four bands resistors, the first and second bands represent digits, while the third band represents a multiplier to multiply the digits of the first and second band by. The fourth band is the tolerance, it represents how much the resistor may deviate from the value indicated by the bands. The value of the resistor can also be determined using the ohmic function of a multimeter.
 +
 +
Resistors are often used in series with components to reduce the amount of current flowing through a circuit, often to protect components rated for lower current amounts. Pull-up and pull-down resistors are used to bias an input on the Arduino to be either HIGH or LOW respectively. This needs to be done as the resting level of the input isn’t necessarily 0. This is especially useful when working with sensors that have an analog output.
 +
[[File:Resistor 1.png|left|thumb|(Source: https://www.autodesk.com/products/fusion-360/blog/how-to-choose-the-right-resistor/)]]
 +
[[File:Bands.png|none|thumb|453x453px|How to read a resistor. (Source: https://www.arrow.com/en/research-and-events/articles/resistor-color-code)]]
   −
===Resistor===
+
==[[Digital technologies/Arduino/Arduino- Beginner/Introduction to Sensors|Introduction to Sensors]]==
A resistor is an electrical component which creates electrical impedance, or resistance to current flow. The amount of resistance a resistor provides can be read from the bands of color on the resistor, which are read left to right. For four bands resistors, the first and second bands represent digits, while the third band represents a multiplier to multiply the digits of the first and second band by. The fourth band is the tolerance, it represents how much the resistor may deviate from the value indicated by the bands. The value of the resistor can also be determined using the ohmic function of a multimeter. Resistors are often used in series with components to reduce the amount of current flowing through a circuit, often to protect components rated for lower current amounts. Pull-up and pull-down resistors are used to bias an input on the Arduino to be either HIGH or LOW respectively. This needs to be done as the resting level of the input isn’t necessarily 0. This is especially useful when working with sensors that have an analog output.
+
Sensors enable the microcontroller to sense the surrounding environment. Many sensors exist on the market, including but not limited to buttons, temperature sensors, pressure sensors, photoresistors, humidity and moisture, and many more. The output of the sensor (a voltage) changes based on the measured environment properties, and sends that signal over to the Arduino board.                        
   −
===Introduction to Sensors===
+
Different sensors will use different voltage levels and different methods of communication with microcontrollers. It is always important to read their datasheet and make sure they are compatible with your system before continuing or design your system around the sensor specifications.                      
Sensors enable the microcontroller to sense the surrounding environment. Many sensors exist on the marker, including but not limited to buttons, temperature sensors, pressure sensors, photoresistors, humidity and moisture, and many more. The output of the sensor (a voltage) changes based on the measured environment properties, and sends that signal over to the Arduino board.          
     −
== Online Simulators ==
+
[[File:Sensors1.png|center|frame|(Source: https://www.electronicshub.org/different-types-sensors/)]]           
   −
===Tinkercad: Arduino===
+
== [[Digital technologies/Arduino/Arduino- Beginner/Online Simulators|Online Simulators]] ==
 
Tinkercad is an online platform that enables users to virtually model 3D designs and circuits. Its user friendly interface and functionality encourages students and hobbyists to investigate the functionality of the Arduino boards virtually, as well as start building their designs. To sign up, create an account on: https://www.tinkercad.com, or alternatively, login with google, facebook etc…  
 
Tinkercad is an online platform that enables users to virtually model 3D designs and circuits. Its user friendly interface and functionality encourages students and hobbyists to investigate the functionality of the Arduino boards virtually, as well as start building their designs. To sign up, create an account on: https://www.tinkercad.com, or alternatively, login with google, facebook etc…  
  
MakerRepo Staff
199

edits