<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://en.wiki.makerepo.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Essraaalqassab</id>
	<title>CEED Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://en.wiki.makerepo.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Essraaalqassab"/>
	<link rel="alternate" type="text/html" href="https://en.wiki.makerepo.com/wiki/Special:Contributions/Essraaalqassab"/>
	<updated>2026-06-24T15:08:37Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.45.3</generator>
	<entry>
		<id>https://en.wiki.makerepo.com/index.php?title=Digital_technologies/Arduino/Arduino-_Beginner&amp;diff=1325</id>
		<title>Digital technologies/Arduino/Arduino- Beginner</title>
		<link rel="alternate" type="text/html" href="https://en.wiki.makerepo.com/index.php?title=Digital_technologies/Arduino/Arduino-_Beginner&amp;diff=1325"/>
		<updated>2022-05-16T21:35:55Z</updated>

		<summary type="html">&lt;p&gt;Essraaalqassab: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Understanding Arduino Boards==&lt;br /&gt;
&lt;br /&gt;
===What is a micro-controller?===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
===Arduino board sections===&lt;br /&gt;
There are 5 important board sections that the user must have a solid understanding of to start utilizing the board&#039;s functions. These sections are outlined below:&lt;br /&gt;
[[File:Sections of an Arduino board.svg|alt=Figure 1: Arduino board sections|border|center|Figure 1: Arduino board sections]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Table 1: Description of the 5 main sections of an arduino board&lt;br /&gt;
!Section&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|USB connector&lt;br /&gt;
|The arduino can be powered through a type A/B USB connector from the user’s laptop/computer to the board. This port is also used to upload programs onto the board.&lt;br /&gt;
|-&lt;br /&gt;
|Power port&lt;br /&gt;
|The arduino board can be powered through an AC-DC adapter or a battery. The power jack of the board can be connected to a 2.1 mm center-positive plug.&lt;br /&gt;
|-&lt;br /&gt;
|Power pins&lt;br /&gt;
|To power external circuitry, 3 standard voltages (0 V or GND, 3.3V, 5V) are provided in the ‘Power Pins’ section of the board.&lt;br /&gt;
|-&lt;br /&gt;
|Digital pins&lt;br /&gt;
|Digital pins on the arduino board can be configured as an input or an output. When the pins are configured as an input, the pins will send a binary signal into the board, which enables the board to read the sensed logic voltage levels (ie. either 0/low or 1/high). If the digital pins are configured as an output, then the arduino will send a binary signal to the pin.  There is a built-in LED pre-connected to digital pin 13. When the value of the pin is driven HIGH by the processor, the LED on the board is illuminated, when the pin is LOW, it&#039;s turned off. This can be used as a status indicator when programs are running.&lt;br /&gt;
|-&lt;br /&gt;
|Analog pins&lt;br /&gt;
|The analog pins allow the arduino board to receive or send an analog signal. These signals need to be converted into digital representations which can be used inside the software-executing portion of the Arduino processor (which only uses binary digital signals). Analog signal inputs can be accepted for conversion into digital via the Analog Pins header. The Analog to Digital (A/D or “A to D”) conversion is done inside the processor with specialized circuitry.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Analog VS Digital signals===&lt;br /&gt;
A signal is an electromagnetic or electric current that transfers information from one source to another. There are two main types of signals used in electronics: analog or digital signals. &lt;br /&gt;
[[File:AvD.jpg|thumb|181x181px|Analog vs. Digital signals [https://www.the-vital-edge.com/words-as-bridge/&amp;lt;nowiki&amp;gt;]&amp;lt;/nowiki&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
====Analog signals====&lt;br /&gt;
This is a time-varying and continuous type of signal that is often used to measure changes in light, sound, position, temperature, or other physical phenomena. When plotted in a voltage-time graph, the result is often a continuous and smooth curve.&lt;br /&gt;
&lt;br /&gt;
====Digital signals====&lt;br /&gt;
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).&lt;br /&gt;
&lt;br /&gt;
== Connecting to an Arduino ==&lt;br /&gt;
Step 1: Download the Arduino IDE from &amp;lt;nowiki&amp;gt;https://www.arduino.cc/en/software&amp;lt;/nowiki&amp;gt;,. Make sure to choose the version that is appropriate for your operating system. &lt;br /&gt;
&lt;br /&gt;
Step 2: Connect the Arduino to your computer via an A/B type USB cable. &lt;br /&gt;
&lt;br /&gt;
Step 3: Once the Arduino is connected, your computer will recognize the Arduino board as a generic COM port. The power LEDs onboard the Arduino should light up. &lt;br /&gt;
&lt;br /&gt;
Step 4: Time to find out what port number is assigned so that the Arduino and computer can properly communicate with one another. To do so, go to “Device Manager” in your computer settings and look for a device under “Ports (COM &amp;amp; LPT)”. The COM number should be shown beside the USB name.&lt;br /&gt;
&lt;br /&gt;
Step 5: Open the Arduino IDE. Under Tools&amp;gt;Board, ensure that the correct type of Arduino board  is selected. &lt;br /&gt;
&lt;br /&gt;
Step 6: Under Tools&amp;gt; COM, ensure that the “port” is the one shown in the step above. Check that the programmer is set as “AVRISP AKII”&lt;br /&gt;
&lt;br /&gt;
==== Possible bugs: ====&lt;br /&gt;
The Arduino may not be recognized automatically, in which case, the following procedure adapted from: &amp;lt;nowiki&amp;gt;https://www.arduino.cc/en/Guide/ArduinoUno&amp;lt;/nowiki&amp;gt; should be followed. &lt;br /&gt;
&lt;br /&gt;
If you&#039;re having trouble with your Arduino, refer to this guide: [[Arduino troubleshooting|&#039;&#039;&#039;Arduino troubleshooting&#039;&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
== Arduino IDE and internal Libraries ==&lt;br /&gt;
&lt;br /&gt;
===Arduino IDE:===&lt;br /&gt;
After getting introduced to some of the basic structures of coding, its important to get to know the integrated development environment, or IDE that the coder will use to edit and compile the written programs. For all Arduino boards, the IDE used is the Arduino IDE, available online at: https://www.arduino.cc/en/software. The following figure guides the users to the basic on the basic options available on the IDE:&lt;br /&gt;
&lt;br /&gt;
[[File:Arduino IDE2.jpg|930x930px]]&lt;br /&gt;
&lt;br /&gt;
===Blink program:===&lt;br /&gt;
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&amp;gt;Examples folder. Amongst the most basic is the &amp;quot;Blink&amp;quot; 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&#039;s computer. This program is located in Files&amp;gt;Examples&amp;gt;01.Basics&amp;gt;Blink.  &lt;br /&gt;
&lt;br /&gt;
The following provides an overview of the different functions used in this program:&lt;br /&gt;
[[File:Blink program overview.jpg|center|frameless|800x800px]]&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Table 2: Overview of functions used in the Blink program&lt;br /&gt;
!Function&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Setup()&lt;br /&gt;
|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.&lt;br /&gt;
|-&lt;br /&gt;
|Loop()&lt;br /&gt;
|The loop function acts as the program&#039;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.&lt;br /&gt;
|-&lt;br /&gt;
|pinMode (pin number, INPUT or Output)&lt;br /&gt;
|Configures the pin to behave as either an INPUT or an OUTPUT.&lt;br /&gt;
|-&lt;br /&gt;
|digitalWrite (pin number, HIGH or LOW)&lt;br /&gt;
|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.&lt;br /&gt;
|-&lt;br /&gt;
|Delay (time in milliseconds)&lt;br /&gt;
|Pauses the program for the amount of time specified in the parameter.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Serial Monitors ===&lt;br /&gt;
The serial monitor is a function in the Arduino IDE that allows you to interact with your Arduino. Through it you are able to send information and also receive feedback or the system output, this aids in debugging and interacting with the program.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The serial monitor is located in two locations: the bar at the top of the IDE, as seen in the figure below.&lt;br /&gt;
[[File:Serial MOnitor 2.png|center|thumb|667x667px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
And in the following drop down menu as shown below:&lt;br /&gt;
[[File:SML2.png|center|thumb|536x536px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
 &lt;br /&gt;
[[File:Tempsnip.png|center|thumb|808x808px]] &lt;br /&gt;
&lt;br /&gt;
=== Introduction Libraries ===&lt;br /&gt;
&lt;br /&gt;
==== What is a library? ====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==Introduction to Programming Syntax and Conceptualization==&lt;br /&gt;
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, one must have the Arduino IDE downloaded, which can be accessed from here: &amp;lt;nowiki&amp;gt;https://www.arduino.cc/en/software&amp;lt;/nowiki&amp;gt;. 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. &lt;br /&gt;
&lt;br /&gt;
Some other basic considerations:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Table 3: Overview of some basic elements of programming&lt;br /&gt;
!&lt;br /&gt;
!Symbol&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Brackets&lt;br /&gt;
|{....}&lt;br /&gt;
|Starts and ends a function or is used to group different statements together&lt;br /&gt;
|-&lt;br /&gt;
|Comment bars&lt;br /&gt;
|/* ….*/ or //&lt;br /&gt;
|Allows coders to add comments to their code to make it more readable to other humans. Important to note that all comments do not get executed by the program and therefore do not alter the program!&lt;br /&gt;
|-&lt;br /&gt;
|Semicolon&lt;br /&gt;
|...;&lt;br /&gt;
|This character ends a program statement and lets the compiler know ‘the end of the current line/statement’&lt;br /&gt;
|}&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
=== Pseudocode and Flowcharts ===&lt;br /&gt;
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].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
== Introduction to Variables and Conditional Statements ==&lt;br /&gt;
&lt;br /&gt;
===Variables===&lt;br /&gt;
Variables allow  information in programmers to be stored or changed within the code. In order to create a variable within your program, it must be declared. To declare a variable, the coder has to write the type of variable to be declared first. Different types exist, most commonly used are:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Table 4: Summary of commonly used variable types&lt;br /&gt;
!Type&lt;br /&gt;
!Syntax&lt;br /&gt;
|-&lt;br /&gt;
|Integers&lt;br /&gt;
|int&lt;br /&gt;
|-&lt;br /&gt;
|non-integers (rational and non-rational)&lt;br /&gt;
|double or float&lt;br /&gt;
|-&lt;br /&gt;
|charecters&lt;br /&gt;
|char&lt;br /&gt;
|}&lt;br /&gt;
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, &amp;quot;My deposit&amp;quot; is not a valid variable name, but &amp;quot;MyDeposit&amp;quot; is. Note that capitalizations can be useful for readability. Furthermore, variables should not start with digits, or with an underscore &amp;quot;_&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
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 &amp;quot;k&amp;quot;, as &amp;quot;k&amp;quot; is not an integer. The code segments below illustrate the process of initialization:&lt;br /&gt;
 int a;// not initialized, which is ok!&lt;br /&gt;
&lt;br /&gt;
 double b=1.23;/* Note that the 1.23 value matches with the “double” type which is a rational number*/&lt;br /&gt;
&lt;br /&gt;
 char MyVariable = “h”; //note the semicolons!&lt;br /&gt;
The following will produce an error, which will disable the compiler from compiling your code:&lt;br /&gt;
 char YourVariable= 1.23; // 1.23 is not a character!&lt;br /&gt;
Variables can be classified into either global or local variables. The main difference is the scope at which they can be accessed. A global variable can be accessed by all functions that exist within a program, whereas a local variable can be accessed through only the function where it is declared. The example below illustrates this well [https://www.arduino.cc/reference/en/language/variables/variable-scope-qualifiers/scope/&amp;lt;nowiki&amp;gt;]:&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 /* There are two functions in this program: setup() and loop(), and three variables: &amp;quot;k&amp;quot;, &amp;quot;i&amp;quot;, &amp;quot;f&amp;quot;.*/&lt;br /&gt;
&lt;br /&gt;
 int k;  // any function will see this variable, thus called a global variable.&lt;br /&gt;
&lt;br /&gt;
 void setup() {&lt;br /&gt;
&lt;br /&gt;
   // ... }&lt;br /&gt;
&lt;br /&gt;
 void loop() {&lt;br /&gt;
&lt;br /&gt;
   int i;    // &amp;quot;i&amp;quot; is only &amp;quot;visible&amp;quot; inside of &amp;quot;loop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
   float f; }  // &amp;quot;f&amp;quot; is only &amp;quot;visible&amp;quot; inside of &amp;quot;loop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 .....// some lines of code}&lt;br /&gt;
===Conditionals===&lt;br /&gt;
Conditional statements are programming operations that tells the computer to perform an action for a certain set of conditions. An &amp;quot;if&amp;quot; statement is the most common, and tells the computer to perform a set of actions only if the condition is fullfilled. The syntax is the followoing:&lt;br /&gt;
 if (condition) {&lt;br /&gt;
&lt;br /&gt;
 /// a set of instructions }&lt;br /&gt;
Common alteration of the if statements are the &amp;quot;if...else&amp;quot; and &amp;quot;if... else if&amp;quot;. The &amp;quot;if...else&amp;quot; conditionals first checks the &amp;quot;if&amp;quot; conditional, in the case that its true, the compiler will ignore the &amp;quot;else&amp;quot; set of instructions. In the case that the condition(s) declared in the &amp;quot;if&amp;quot; statement are not fulfilled, the &amp;quot;else&amp;quot; instructions will automatically run. The syntax for an &amp;quot;if...else&amp;quot; statement is:&lt;br /&gt;
 if (condition){&lt;br /&gt;
&lt;br /&gt;
 ///instructions;}&lt;br /&gt;
&lt;br /&gt;
 else {&lt;br /&gt;
&lt;br /&gt;
 ///instructions that will ONLY run in the case the &amp;quot;if&amp;quot; conditions are not fulfilled }&lt;br /&gt;
In the case of the &amp;quot;if...else if&amp;quot; set of instructions, the program will only run if the conditions specified in the &amp;quot;if&amp;quot; or &amp;quot;else if&amp;quot; are true. The syntax is the following:&lt;br /&gt;
 if (condition){&lt;br /&gt;
&lt;br /&gt;
 ///instructions }&lt;br /&gt;
&lt;br /&gt;
 else if (condition) {&lt;br /&gt;
&lt;br /&gt;
 ///instructions }&lt;br /&gt;
&lt;br /&gt;
==Introduction to Electronics and Circuitry==&lt;br /&gt;
&lt;br /&gt;
===Introduction to Circuits===&lt;br /&gt;
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).  &lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
=== Breadboard ===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
== Introduction to Electronic Components ==&lt;br /&gt;
&lt;br /&gt;
===LED===&lt;br /&gt;
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).&lt;br /&gt;
&lt;br /&gt;
===Pushbutton===&lt;br /&gt;
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&#039;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.&lt;br /&gt;
&lt;br /&gt;
===Resistor===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
===Introduction to Sensors===&lt;br /&gt;
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.            &lt;br /&gt;
&lt;br /&gt;
== Online Simulators ==&lt;br /&gt;
&lt;br /&gt;
===Tinkercad: Arduino===&lt;br /&gt;
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: &amp;lt;nowiki&amp;gt;https://www.tinkercad.com&amp;lt;/nowiki&amp;gt; , or alternatively, login with google, facebook etc… &lt;br /&gt;
&lt;br /&gt;
Once your account is created, the user can navigate to the “circuits” tab in the left-hand menu, and click on “ Create new circuit”. This opens a new tab, where the available circuit components can be viewed in the right-hand menu.&lt;br /&gt;
&lt;br /&gt;
To start putting a circuit together, the user can drag the components from the library and place it in the “building zone”, noted above. In addition, note the “Code” button in the top bar; this button enables the users to program the Arduino to perform specific functions. To start the simulation, the “start simulation” is available in the top tab.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For more information refer to the following resources:&lt;br /&gt;
&lt;br /&gt;
* [https://www.tinkercad.com/learn/circuits &#039;&#039;&#039;Tinkercad: Circuits&#039;&#039;&#039;]&lt;br /&gt;
* [https://www.tinkercad.com/learn/codeblocks &#039;&#039;&#039;Tinkercad: Programming&#039;&#039;&#039;]&lt;/div&gt;</summary>
		<author><name>Essraaalqassab</name></author>
	</entry>
	<entry>
		<id>https://en.wiki.makerepo.com/index.php?title=Digital_technologies/Arduino/Arduino-_Beginner&amp;diff=1312</id>
		<title>Digital technologies/Arduino/Arduino- Beginner</title>
		<link rel="alternate" type="text/html" href="https://en.wiki.makerepo.com/index.php?title=Digital_technologies/Arduino/Arduino-_Beginner&amp;diff=1312"/>
		<updated>2022-05-16T15:48:30Z</updated>

		<summary type="html">&lt;p&gt;Essraaalqassab: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Understanding Arduino Boards==&lt;br /&gt;
&lt;br /&gt;
===What is a micro-controller?===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
===Arduino board sections===&lt;br /&gt;
There are 5 important board sections that the user must have a solid understanding of to start utilizing the board&#039;s functions. These sections are outlined below:&lt;br /&gt;
[[File:Sections of an Arduino board.svg|alt=Figure 1: Arduino board sections|border|center|Figure 1: Arduino board sections]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Table 1: Description of the 5 main sections of an arduino board&lt;br /&gt;
!Section&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|USB connector&lt;br /&gt;
|The arduino can be powered through a type A/B USB connector from the user’s laptop/computer to the board. This port is also used to upload programs onto the board.&lt;br /&gt;
|-&lt;br /&gt;
|Power port&lt;br /&gt;
|The arduino board can be powered through an AC-DC adapter or a battery. The power jack of the board can be connected to a 2.1 mm center-positive plug.&lt;br /&gt;
|-&lt;br /&gt;
|Power pins&lt;br /&gt;
|To power external circuitry, 3 standard voltages (0 V or GND, 3.3V, 5V) are provided in the ‘Power Pins’ section of the board.&lt;br /&gt;
|-&lt;br /&gt;
|Digital pins&lt;br /&gt;
|Digital pins on the arduino board can be configured as an input or an output. When the pins are configured as an input, the pins will send a binary signal into the board, which enables the board to read the sensed logic voltage levels (ie. either 0/low or 1/high). If the digital pins are configured as an output, then the arduino will send a binary signal to the pin.  There is a built-in LED pre-connected to digital pin 13. When the value of the pin is driven HIGH by the processor, the LED on the board is illuminated, when the pin is LOW, it&#039;s turned off. This can be used as a status indicator when programs are running.&lt;br /&gt;
|-&lt;br /&gt;
|Analog pins&lt;br /&gt;
|The analog pins allow the arduino board to receive or send an analog signal. These signals need to be converted into digital representations which can be used inside the software-executing portion of the Arduino processor (which only uses binary digital signals). Analog signal inputs can be accepted for conversion into digital via the Analog Pins header. The Analog to Digital (A/D or “A to D”) conversion is done inside the processor with specialized circuitry.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Analog VS Digital signals===&lt;br /&gt;
A signal is an electromagnetic or electric current that transfers information from one source to another. There are two main types of signals used in electronics: analog or digital signals. &lt;br /&gt;
[[File:AvD.jpg|thumb|181x181px|Analog vs. Digital signals [https://www.the-vital-edge.com/words-as-bridge/&amp;lt;nowiki&amp;gt;]&amp;lt;/nowiki&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
====Analog signals====&lt;br /&gt;
This is a time-varying and continuous type of signal that is often used to measure changes in light, sound, position, temperature, or other physical phenomena. When plotted in a voltage-time graph, the result is often a continuous and smooth curve.&lt;br /&gt;
&lt;br /&gt;
====Digital signals====&lt;br /&gt;
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).&lt;br /&gt;
&lt;br /&gt;
== Connecting to an Arduino ==&lt;br /&gt;
Step 1: Download the Arduino IDE from &amp;lt;nowiki&amp;gt;https://www.arduino.cc/en/software&amp;lt;/nowiki&amp;gt;,. Make sure to choose the version that is appropriate for your operating system. &lt;br /&gt;
&lt;br /&gt;
Step 2: Connect the Arduino to your computer via an A/B type USB cable. &lt;br /&gt;
&lt;br /&gt;
Step 3: Once the Arduino is connected, your computer will recognize the Arduino board as a generic COM port. The power LEDs onboard the Arduino should light up. &lt;br /&gt;
&lt;br /&gt;
Step 4: Time to find out what port number is assigned so that the Arduino and computer can properly communicate with one another. To do so, go to “Device Manager” in your computer settings and look for a device under “Ports (COM &amp;amp; LPT)”. The COM number should be shown beside the USB name.&lt;br /&gt;
&lt;br /&gt;
Step 5: Open the Arduino IDE. Under Tools&amp;gt;Board, ensure that the correct type of Arduino board  is selected. &lt;br /&gt;
&lt;br /&gt;
Step 6: Under Tools&amp;gt; COM, ensure that the “port” is the one shown in the step above. Check that the programmer is set as “AVRISP AKII”&lt;br /&gt;
&lt;br /&gt;
==== Possible bugs: ====&lt;br /&gt;
The Arduino may not be recognized automatically, in which case, the following procedure adapted from &amp;lt;nowiki&amp;gt;https://www.arduino.cc/en/Guide/ArduinoUno&amp;lt;/nowiki&amp;gt; should be followed. &lt;br /&gt;
&lt;br /&gt;
If your arduino is not genuine..., see this guide: [[Arduino troubleshooting]]&lt;br /&gt;
&lt;br /&gt;
== Arduino IDE and internal Libraries ==&lt;br /&gt;
&lt;br /&gt;
===Arduino IDE:===&lt;br /&gt;
After getting introduced to some of the basic structures of coding, its important to get to know the integrated development environment, or IDE that the coder will use to edit and compile the written programs. For all Arduino boards, the IDE used is the Arduino IDE, available online at: https://www.arduino.cc/en/software. The following figure guides the users to the basic on the basic options available on the IDE:&lt;br /&gt;
&lt;br /&gt;
[[File:Arduino IDE2.jpg|930x930px]]&lt;br /&gt;
&lt;br /&gt;
===Blink program:===&lt;br /&gt;
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&amp;gt;Examples folder. Amongst the most basic is the &amp;quot;Blink&amp;quot; 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&#039;s computer. This program is located in Files&amp;gt;Examples&amp;gt;01.Basics&amp;gt;Blink.  &lt;br /&gt;
&lt;br /&gt;
The following provides an overview of the different functions used in this program:&lt;br /&gt;
[[File:Blink program overview.jpg|center|frameless|800x800px]]&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Table 2: Overview of functions used in the Blink program&lt;br /&gt;
!Function&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Setup()&lt;br /&gt;
|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.&lt;br /&gt;
|-&lt;br /&gt;
|Loop()&lt;br /&gt;
|The loop function acts as the program&#039;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.&lt;br /&gt;
|-&lt;br /&gt;
|pinMode (pin number, INPUT or Output)&lt;br /&gt;
|Configures the pin to behave as either an INPUT or an OUTPUT.&lt;br /&gt;
|-&lt;br /&gt;
|digitalWrite (pin number, HIGH or LOW)&lt;br /&gt;
|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.&lt;br /&gt;
|-&lt;br /&gt;
|Delay (time in milliseconds)&lt;br /&gt;
|Pauses the program for the amount of time specified in the parameter.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Serial Monitors ===&lt;br /&gt;
The serial monitor is a function in the Arduino IDE that allows you to interact with your Arduino. Through it you are able to send information and also receive feedback or the system output, this aids in debugging and interacting with the program.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The serial monitor is located in two locations: the bar at the top of the IDE, as seen in the figure below.&lt;br /&gt;
[[File:Serial MOnitor 2.png|center|thumb|667x667px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
And in the following drop down menu as shown below:&lt;br /&gt;
[[File:SML2.png|center|thumb|536x536px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
 &lt;br /&gt;
[[File:Tempsnip.png|center|thumb|808x808px]] &lt;br /&gt;
&lt;br /&gt;
=== Introduction Libraries ===&lt;br /&gt;
&lt;br /&gt;
==== What is a library? ====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==Introduction to Programming Syntax and Conceptualization==&lt;br /&gt;
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, one must have the Arduino IDE downloaded, which can be accessed from here: &amp;lt;nowiki&amp;gt;https://www.arduino.cc/en/software&amp;lt;/nowiki&amp;gt;. 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. &lt;br /&gt;
&lt;br /&gt;
Some other basic considerations:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Table 3: Overview of some basic elements of programming&lt;br /&gt;
!&lt;br /&gt;
!Symbol&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Brackets&lt;br /&gt;
|{....}&lt;br /&gt;
|Starts and ends a function or is used to group different statements together&lt;br /&gt;
|-&lt;br /&gt;
|Comment bars&lt;br /&gt;
|/* ….*/ or //&lt;br /&gt;
|Allows coders to add comments to their code to make it more readable to other humans. Important to note that all comments do not get executed by the program and therefore do not alter the program!&lt;br /&gt;
|-&lt;br /&gt;
|Semicolon&lt;br /&gt;
|...;&lt;br /&gt;
|This character ends a program statement and lets the compiler know ‘the end of the current line/statement’&lt;br /&gt;
|}&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
=== Pseudocode and Flowcharts ===&lt;br /&gt;
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].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
== Introduction to Variables and Conditional Statements ==&lt;br /&gt;
&lt;br /&gt;
===Variables===&lt;br /&gt;
Variables allow  information in programmers to be stored or changed within the code. In order to create a variable within your program, it must be declared. To declare a variable, the coder has to write the type of variable to be declared first. Different types exist, most commonly used are:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Table 4: Summary of commonly used variable types&lt;br /&gt;
!Type&lt;br /&gt;
!Syntax&lt;br /&gt;
|-&lt;br /&gt;
|Integers&lt;br /&gt;
|int&lt;br /&gt;
|-&lt;br /&gt;
|non-integers (rational and non-rational)&lt;br /&gt;
|double or float&lt;br /&gt;
|-&lt;br /&gt;
|charecters&lt;br /&gt;
|char&lt;br /&gt;
|}&lt;br /&gt;
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, &amp;quot;My deposit&amp;quot; is not a valid variable name, but &amp;quot;MyDeposit&amp;quot; is. Note that capitalizations can be useful for readability. Furthermore, variables should not start with digits, or with an underscore &amp;quot;_&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
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 &amp;quot;k&amp;quot;, as &amp;quot;k&amp;quot; is not an integer. The code segments below illustrate the process of initialization:&lt;br /&gt;
 int a;// not initialized, which is ok!&lt;br /&gt;
&lt;br /&gt;
 double b=1.23;/* Note that the 1.23 value matches with the “double” type which is a rational number*/&lt;br /&gt;
&lt;br /&gt;
 char MyVariable = “h”; //note the semicolons!&lt;br /&gt;
The following will produce an error, which will disable the compiler from compiling your code:&lt;br /&gt;
 char YourVariable= 1.23; // 1.23 is not a character!&lt;br /&gt;
Variables can be classified into either global or local variables. The main difference is the scope at which they can be accessed. A global variable can be accessed by all functions that exist within a program, whereas a local variable can be accessed through only the function where it is declared. The example below illustrates this well [https://www.arduino.cc/reference/en/language/variables/variable-scope-qualifiers/scope/&amp;lt;nowiki&amp;gt;]:&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 /* There are two functions in this program: setup() and loop(), and three variables: &amp;quot;k&amp;quot;, &amp;quot;i&amp;quot;, &amp;quot;f&amp;quot;.*/&lt;br /&gt;
&lt;br /&gt;
 int k;  // any function will see this variable, thus called a global variable.&lt;br /&gt;
&lt;br /&gt;
 void setup() {&lt;br /&gt;
&lt;br /&gt;
   // ... }&lt;br /&gt;
&lt;br /&gt;
 void loop() {&lt;br /&gt;
&lt;br /&gt;
   int i;    // &amp;quot;i&amp;quot; is only &amp;quot;visible&amp;quot; inside of &amp;quot;loop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
   float f; }  // &amp;quot;f&amp;quot; is only &amp;quot;visible&amp;quot; inside of &amp;quot;loop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 .....// some lines of code}&lt;br /&gt;
===Conditionals===&lt;br /&gt;
Conditional statements are programming operations that tells the computer to perform an action for a certain set of conditions. An &amp;quot;if&amp;quot; statement is the most common, and tells the computer to perform a set of actions only if the condition is fullfilled. The syntax is the followoing:&lt;br /&gt;
 if (condition) {&lt;br /&gt;
&lt;br /&gt;
 /// a set of instructions }&lt;br /&gt;
Common alteration of the if statements are the &amp;quot;if...else&amp;quot; and &amp;quot;if... else if&amp;quot;. The &amp;quot;if...else&amp;quot; conditionals first checks the &amp;quot;if&amp;quot; conditional, in the case that its true, the compiler will ignore the &amp;quot;else&amp;quot; set of instructions. In the case that the condition(s) declared in the &amp;quot;if&amp;quot; statement are not fulfilled, the &amp;quot;else&amp;quot; instructions will automatically run. The syntax for an &amp;quot;if...else&amp;quot; statement is:&lt;br /&gt;
 if (condition){&lt;br /&gt;
&lt;br /&gt;
 ///instructions;}&lt;br /&gt;
&lt;br /&gt;
 else {&lt;br /&gt;
&lt;br /&gt;
 ///instructions that will ONLY run in the case the &amp;quot;if&amp;quot; conditions are not fulfilled }&lt;br /&gt;
In the case of the &amp;quot;if...else if&amp;quot; set of instructions, the program will only run if the conditions specified in the &amp;quot;if&amp;quot; or &amp;quot;else if&amp;quot; are true. The syntax is the following:&lt;br /&gt;
 if (condition){&lt;br /&gt;
&lt;br /&gt;
 ///instructions }&lt;br /&gt;
&lt;br /&gt;
 else if (condition) {&lt;br /&gt;
&lt;br /&gt;
 ///instructions }&lt;br /&gt;
&lt;br /&gt;
==Introduction to Electronics and Circuitry==&lt;br /&gt;
&lt;br /&gt;
===Introduction to Circuits===&lt;br /&gt;
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).  &lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
=== Breadboard ===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
== Introduction to Electronic Components ==&lt;br /&gt;
&lt;br /&gt;
===LED===&lt;br /&gt;
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).&lt;br /&gt;
&lt;br /&gt;
===Pushbutton===&lt;br /&gt;
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&#039;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.&lt;br /&gt;
&lt;br /&gt;
===Resistor===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
===Introduction to Sensors===&lt;br /&gt;
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.  &lt;br /&gt;
&lt;br /&gt;
== Online Simulators ==&lt;br /&gt;
&lt;br /&gt;
===Tinkercad: Arduino===&lt;br /&gt;
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: &amp;lt;nowiki&amp;gt;https://www.tinkercad.com&amp;lt;/nowiki&amp;gt; , or alternatively, login with google, facebook etc… &lt;br /&gt;
&lt;br /&gt;
Once your account is created, the user can navigate to the “circuits” tab in the left-hand menu, and click on “ Create new circuit”. This opens a new tab, where the available circuit components can be viewed in the right-hand menu.&lt;br /&gt;
&lt;br /&gt;
To start putting a circuit together, the user can drag the components from the library and place it in the “building zone”, noted above. In addition, note the “Code” button in the top bar; this button enables the users to program the Arduino to perform specific functions. To start the simulation, the “start simulation” is available in the top tab.&lt;/div&gt;</summary>
		<author><name>Essraaalqassab</name></author>
	</entry>
	<entry>
		<id>https://en.wiki.makerepo.com/index.php?title=Digital_technologies&amp;diff=1115</id>
		<title>Digital technologies</title>
		<link rel="alternate" type="text/html" href="https://en.wiki.makerepo.com/index.php?title=Digital_technologies&amp;diff=1115"/>
		<updated>2021-10-14T17:18:24Z</updated>

		<summary type="html">&lt;p&gt;Essraaalqassab: /* Arduino resources */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Below you can find sections of different digital technologies, based on their level.&lt;br /&gt;
&lt;br /&gt;
==[[Digital technologies/3D printing|3D printing resources]]==&lt;br /&gt;
Modern printing technology has enabled the accurate printing of nearly any shape in a wide variety of materials, with many different printing methods to choose from. Selecting a print method will depend on the application, material, and budget used. Materials vary from almost any metal alloy, thermoplastics, ceramics, paper, edibles, rubbers, and clay. Printing methods include extrusion (heating material and forcing through a nozzle), powder bed (placing powdered material and using adhesive or melting to attach), and light polymerized (using UV light to polymerize material on a build plate). 3D Printers utilize an onboard controller to control the printer head and build plate in order to print each 2D layer in the right order and position. In addition, most 3D printers have downloadable software (slicers) that allows a user to position a 3D model on a virtual build platform, as well as adjust the printer’s settings for the build before sending the data to the printer. These 3D models used by the software can be generated using [[Digital technologies/3D printing/3D modeling- Beginner|CAD (computer-aided design)]] methods, laser scanning, or photogrammetry, although CAD is typically used in conjunction with the latter two to refine the output from these methods.&lt;br /&gt;
&lt;br /&gt;
===3D printing===&lt;br /&gt;
&lt;br /&gt;
*[[Digital technologies/3D printing/3D printing- Beginner|3D Printing- Beginner]]&lt;br /&gt;
**Basic understanding of 3D printing and 3D printers&lt;br /&gt;
**Ability to slice and start a print on an Ultimaker 2+ printer&lt;br /&gt;
**Basic ability to troubleshoot a print&lt;br /&gt;
*[[Digital technologies/3D printing/3D printing- Intermediate|3D Printing- Intermediate]]&lt;br /&gt;
**Basic understanding of custom slicer settings and print orientation&lt;br /&gt;
**Basic understanding of print post processing&lt;br /&gt;
**Basic understanding of dual extrusion prints&lt;br /&gt;
**Basic understanding of different slicer software&lt;br /&gt;
**Intermediate understanding of printer functions&lt;br /&gt;
**Intermediate troubleshooting abilities&lt;br /&gt;
*[[Digital technologies/3D printing/3D printing- Advanced|3D Printing- Advanced]]&lt;br /&gt;
**Ability to use all materials available at the Makerspace&lt;br /&gt;
**Ability to use all Makerspace printers&lt;br /&gt;
**Ability to print large components (print optimizations)&lt;br /&gt;
**Advanced understanding of 3D printing extrusion&lt;br /&gt;
**Proficient with UM2+ settings&lt;br /&gt;
&lt;br /&gt;
===3D modeling (for 3D printing)===&lt;br /&gt;
&lt;br /&gt;
*[[Digital technologies/3D printing/3D modeling- Beginner|3D modeling- Beginner]]&lt;br /&gt;
**Basic knowledge of 3D modelling in TinkerCAD&lt;br /&gt;
**Basic knowledge of model modifications in TinkerCAD&lt;br /&gt;
*[[Digital technologies/3D printing/3D modeling- Intermediate|3D modeling- Intermediate]]&lt;br /&gt;
**Proficient 3D modelling skills in TinkerCAD&lt;br /&gt;
**Basic ability in parametric CAD modelling softwares&lt;br /&gt;
*[[Digital technologies/3D printing/3D modeling- Advanced|3D modeling- Advanced]]&lt;br /&gt;
**Subdividing large models for 3D printing&lt;br /&gt;
**Basic understanding of one or more modelling softwares&lt;br /&gt;
**Basic understanding of 3D scanning and Scan to CAD&lt;br /&gt;
&lt;br /&gt;
==[[Digital technologies/Laser cutting|Laser cutting resources]]==&lt;br /&gt;
Laser cutting uses a high-powered beam to cut material based on computer-controlled parameters. As the laser guides its beam along the material, everything in its direct path is vaporized, burned or melted. One of the benefits of laser cutting technology is the cut product rarely needs any finishing work as this process ensures a high-quality surface finish. A graphics software is used to import or create designs that are meant to be cut.&lt;br /&gt;
&lt;br /&gt;
===Laser cutting===&lt;br /&gt;
&lt;br /&gt;
*[[Digital technologies/Laser cutting/Laser cutting- Beginner|Laser Cutting- Beginner]]&lt;br /&gt;
&lt;br /&gt;
===Vector graphics editor===&lt;br /&gt;
&lt;br /&gt;
*[[Digital technologies/Laser cutting/Vector graphics- Beginner|Vector Graphics- Beginner]]&lt;br /&gt;
&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
==[[Digital technologies/Arduino|Arduino resources]]==&lt;br /&gt;
Arduino is an open-source electronics platform that provides an easy and accessible way to make robotics projects. The boards can receive input signals from sensors and produce outputs through its 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.&lt;br /&gt;
&lt;br /&gt;
*[[Digital technologies/Arduino/Arduino- Beginner|Arduino- Beginner]]&lt;br /&gt;
** Basic understanding of programming&lt;br /&gt;
** Ability to control few components such as LEDs&lt;br /&gt;
** Basic understanding of how sensors work&lt;br /&gt;
** Basic understanding of the Arduino board&lt;br /&gt;
&lt;br /&gt;
*[[Digital technologies/Arduino/Five Easy ways to Kill an Arduino|Five Easy ways to Kill an Arduino]]&lt;br /&gt;
*[[Digital technologies/Arduino/How to connect to lab computers|How to connect to lab computers]]&lt;br /&gt;
&lt;br /&gt;
==[[Digital technologies/Soldering|Soldering resources]]==&lt;br /&gt;
&lt;br /&gt;
*[[Digital technologies/Soldering/Soldering- Beginner|Soldering- Beginner]]&lt;br /&gt;
&lt;br /&gt;
==[[Digital technologies/Virtual reality|Virtual reality resources]]==&lt;br /&gt;
&lt;br /&gt;
*[[Digital technologies/Virtual reality/Virtual reality- Beginner|Virtual Reality- Beginner]]&lt;br /&gt;
&lt;br /&gt;
==[[Digital technologies/Textiles|Textile resources]]==&lt;br /&gt;
&lt;br /&gt;
*[[Digital technologies/Textiles/Embroidery- Beginner|Embroidery- Beginner]]&lt;br /&gt;
&lt;br /&gt;
==Other resources==&lt;br /&gt;
&lt;br /&gt;
*[[Raspberry Pi]]&lt;/div&gt;</summary>
		<author><name>Essraaalqassab</name></author>
	</entry>
	<entry>
		<id>https://en.wiki.makerepo.com/index.php?title=Digital_technologies&amp;diff=1114</id>
		<title>Digital technologies</title>
		<link rel="alternate" type="text/html" href="https://en.wiki.makerepo.com/index.php?title=Digital_technologies&amp;diff=1114"/>
		<updated>2021-10-14T17:15:17Z</updated>

		<summary type="html">&lt;p&gt;Essraaalqassab: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Below you can find sections of different digital technologies, based on their level.&lt;br /&gt;
&lt;br /&gt;
==[[Digital technologies/3D printing|3D printing resources]]==&lt;br /&gt;
Modern printing technology has enabled the accurate printing of nearly any shape in a wide variety of materials, with many different printing methods to choose from. Selecting a print method will depend on the application, material, and budget used. Materials vary from almost any metal alloy, thermoplastics, ceramics, paper, edibles, rubbers, and clay. Printing methods include extrusion (heating material and forcing through a nozzle), powder bed (placing powdered material and using adhesive or melting to attach), and light polymerized (using UV light to polymerize material on a build plate). 3D Printers utilize an onboard controller to control the printer head and build plate in order to print each 2D layer in the right order and position. In addition, most 3D printers have downloadable software (slicers) that allows a user to position a 3D model on a virtual build platform, as well as adjust the printer’s settings for the build before sending the data to the printer. These 3D models used by the software can be generated using [[Digital technologies/3D printing/3D modeling- Beginner|CAD (computer-aided design)]] methods, laser scanning, or photogrammetry, although CAD is typically used in conjunction with the latter two to refine the output from these methods.&lt;br /&gt;
&lt;br /&gt;
===3D printing===&lt;br /&gt;
&lt;br /&gt;
*[[Digital technologies/3D printing/3D printing- Beginner|3D Printing- Beginner]]&lt;br /&gt;
**Basic understanding of 3D printing and 3D printers&lt;br /&gt;
**Ability to slice and start a print on an Ultimaker 2+ printer&lt;br /&gt;
**Basic ability to troubleshoot a print&lt;br /&gt;
*[[Digital technologies/3D printing/3D printing- Intermediate|3D Printing- Intermediate]]&lt;br /&gt;
**Basic understanding of custom slicer settings and print orientation&lt;br /&gt;
**Basic understanding of print post processing&lt;br /&gt;
**Basic understanding of dual extrusion prints&lt;br /&gt;
**Basic understanding of different slicer software&lt;br /&gt;
**Intermediate understanding of printer functions&lt;br /&gt;
**Intermediate troubleshooting abilities&lt;br /&gt;
*[[Digital technologies/3D printing/3D printing- Advanced|3D Printing- Advanced]]&lt;br /&gt;
**Ability to use all materials available at the Makerspace&lt;br /&gt;
**Ability to use all Makerspace printers&lt;br /&gt;
**Ability to print large components (print optimizations)&lt;br /&gt;
**Advanced understanding of 3D printing extrusion&lt;br /&gt;
**Proficient with UM2+ settings&lt;br /&gt;
&lt;br /&gt;
===3D modeling (for 3D printing)===&lt;br /&gt;
&lt;br /&gt;
*[[Digital technologies/3D printing/3D modeling- Beginner|3D modeling- Beginner]]&lt;br /&gt;
**Basic knowledge of 3D modelling in TinkerCAD&lt;br /&gt;
**Basic knowledge of model modifications in TinkerCAD&lt;br /&gt;
*[[Digital technologies/3D printing/3D modeling- Intermediate|3D modeling- Intermediate]]&lt;br /&gt;
**Proficient 3D modelling skills in TinkerCAD&lt;br /&gt;
**Basic ability in parametric CAD modelling softwares&lt;br /&gt;
*[[Digital technologies/3D printing/3D modeling- Advanced|3D modeling- Advanced]]&lt;br /&gt;
**Subdividing large models for 3D printing&lt;br /&gt;
**Basic understanding of one or more modelling softwares&lt;br /&gt;
**Basic understanding of 3D scanning and Scan to CAD&lt;br /&gt;
&lt;br /&gt;
==[[Digital technologies/Laser cutting|Laser cutting resources]]==&lt;br /&gt;
Laser cutting uses a high-powered beam to cut material based on computer-controlled parameters. As the laser guides its beam along the material, everything in its direct path is vaporized, burned or melted. One of the benefits of laser cutting technology is the cut product rarely needs any finishing work as this process ensures a high-quality surface finish. A graphics software is used to import or create designs that are meant to be cut.&lt;br /&gt;
&lt;br /&gt;
===Laser cutting===&lt;br /&gt;
&lt;br /&gt;
*[[Digital technologies/Laser cutting/Laser cutting- Beginner|Laser Cutting- Beginner]]&lt;br /&gt;
&lt;br /&gt;
===Vector graphics editor===&lt;br /&gt;
&lt;br /&gt;
*[[Digital technologies/Laser cutting/Vector graphics- Beginner|Vector Graphics- Beginner]]&lt;br /&gt;
&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
==[[Digital technologies/Arduino|Arduino resources]]==&lt;br /&gt;
Arduino is an open-source electronics platform that provides an easy and accessible way to make robotics projects. The boards can receive input signals from sensors and produce outputs through its 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.&lt;br /&gt;
&lt;br /&gt;
*[[Digital technologies/Arduino/Arduino- Beginner|Arduino- Beginner]]&lt;br /&gt;
*[[Digital technologies/Arduino/Five Easy ways to Kill an Arduino|Five Easy ways to Kill an Arduino]]&lt;br /&gt;
*[[Digital technologies/Arduino/How to connect to lab computers|How to connect to lab computers]]&lt;br /&gt;
&lt;br /&gt;
==[[Digital technologies/Soldering|Soldering resources]]==&lt;br /&gt;
&lt;br /&gt;
*[[Digital technologies/Soldering/Soldering- Beginner|Soldering- Beginner]]&lt;br /&gt;
&lt;br /&gt;
==[[Digital technologies/Virtual reality|Virtual reality resources]]==&lt;br /&gt;
&lt;br /&gt;
*[[Digital technologies/Virtual reality/Virtual reality- Beginner|Virtual Reality- Beginner]]&lt;br /&gt;
&lt;br /&gt;
==[[Digital technologies/Textiles|Textile resources]]==&lt;br /&gt;
&lt;br /&gt;
*[[Digital technologies/Textiles/Embroidery- Beginner|Embroidery- Beginner]]&lt;br /&gt;
&lt;br /&gt;
==Other resources==&lt;br /&gt;
&lt;br /&gt;
*[[Raspberry Pi]]&lt;/div&gt;</summary>
		<author><name>Essraaalqassab</name></author>
	</entry>
	<entry>
		<id>https://en.wiki.makerepo.com/index.php?title=File:Hi.png&amp;diff=1113</id>
		<title>File:Hi.png</title>
		<link rel="alternate" type="text/html" href="https://en.wiki.makerepo.com/index.php?title=File:Hi.png&amp;diff=1113"/>
		<updated>2021-10-10T02:58:57Z</updated>

		<summary type="html">&lt;p&gt;Essraaalqassab: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Essraaalqassab</name></author>
	</entry>
	<entry>
		<id>https://en.wiki.makerepo.com/index.php?title=Digital_technologies/Arduino/Arduino-_Beginner&amp;diff=1112</id>
		<title>Digital technologies/Arduino/Arduino- Beginner</title>
		<link rel="alternate" type="text/html" href="https://en.wiki.makerepo.com/index.php?title=Digital_technologies/Arduino/Arduino-_Beginner&amp;diff=1112"/>
		<updated>2021-10-10T02:57:13Z</updated>

		<summary type="html">&lt;p&gt;Essraaalqassab: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Understanding of the Arduino Board==&lt;br /&gt;
&lt;br /&gt;
===What is a micro-controller?===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
===Arduino board sections===&lt;br /&gt;
There are 5 important board sections that the user must have a solid understanding of to start utilizing the board&#039;s functions. These sections are outlined below:&lt;br /&gt;
[[File:Sections of an Arduino board.svg|alt=Figure 1: Arduino board sections|border|center|Figure 1: Arduino board sections]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Table 1: Description of the 5 main sections of an arduino board&lt;br /&gt;
!Section&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|USB connector&lt;br /&gt;
|The arduino can be powered through a type A/B USB connector from the user’s laptop/computer to the board. This port is also used to upload programs onto the board.&lt;br /&gt;
|-&lt;br /&gt;
|Power port&lt;br /&gt;
|The arduino board can be powered through an AC-DC adapter or a battery. The power jack of the board can be connected to a 2.1 mm center-positive plug.&lt;br /&gt;
|-&lt;br /&gt;
|Power pins&lt;br /&gt;
|To power external circuitry, 3 standard voltages (0 V or GND, 3.3V, 5V) are provided in the ‘Power Pins’ section of the board.&lt;br /&gt;
|-&lt;br /&gt;
|Digital pins&lt;br /&gt;
|Digital pins on the arduino board can be configured as an input or an output. When the pins are configured as an input, the pins will send a binary signal into the board, which enables the board to read the sensed logic voltage levels (ie. either 0/low or 1/high). If the digital pins are configured as an output, then the arduino will send a binary signal to the pin.  There is a built-in LED pre-connected to digital pin 13. When the value of the pin is driven HIGH by the processor, the LED on the board is illuminated, when the pin is LOW, it&#039;s turned off. This can be used as a status indicator when programs are running.&lt;br /&gt;
|-&lt;br /&gt;
|Analog pins&lt;br /&gt;
|The analog pins allow the arduino board to receive or send an analog signal. These signals need to be converted into digital representations which can be used inside the software-executing portion of the Arduino processor (which only uses binary digital signals). Analog signal inputs can be accepted for conversion into digital via the Analog Pins header. The Analog to Digital (A/D or “A to D”) conversion is done inside the processor with specialized circuitry.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Analog VS Digital signals===&lt;br /&gt;
A signal is an electromagnetic or electric current that transfers information from one source to another. There are two main types of signals used in electronics: analog or digital signals. &lt;br /&gt;
[[File:AvD.jpg|thumb|181x181px|Analog vs. Digital signals [https://www.the-vital-edge.com/words-as-bridge/&amp;lt;nowiki&amp;gt;]&amp;lt;/nowiki&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
====Analog signals====&lt;br /&gt;
This is a time-varying and continuous type of signal that is often used to measure changes in light, sound, position, temperature, or other physical phenomena. When plotted in a voltage-time graph, the result is often a continuous and smooth curve.&lt;br /&gt;
&lt;br /&gt;
====Digital signals====&lt;br /&gt;
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).&lt;br /&gt;
&lt;br /&gt;
=== Connecting to an Arduino ===&lt;br /&gt;
Step 1: Download the Arduino IDE from &amp;lt;nowiki&amp;gt;https://www.arduino.cc/en/software&amp;lt;/nowiki&amp;gt;,. Make sure to choose the version that is appropriate for your operating system. &lt;br /&gt;
&lt;br /&gt;
Step 2: Connect the Arduino to your computer via an A/B type USB cable. &lt;br /&gt;
&lt;br /&gt;
Step 3: Once the Arduino is connected, your computer will recognize the Arduino board as a generic COM port. The power LEDs onboard the Arduino should light up. &lt;br /&gt;
&lt;br /&gt;
Step 4: Time to find out what port number is assigned so that the Arduino and computer can properly communicate with one another. To do so, go to “Device Manager” in your computer settings and look for a device under “Ports (COM &amp;amp; LPT)”. The COM number should be shown beside the USB name.&lt;br /&gt;
&lt;br /&gt;
Step 5: Open the Arduino IDE. Under Tools&amp;gt;Board, ensure that the correct type of Arduino board  is selected. &lt;br /&gt;
&lt;br /&gt;
Step 6: Under Tools&amp;gt; COM, ensure that the “port” is the one shown in the step above. Check that the programmer is set as “AVRISP AKII”&lt;br /&gt;
&lt;br /&gt;
==== Possible bugs: ====&lt;br /&gt;
The Arduino may not be recognized automatically, in which case, the following procedure adapted from &amp;lt;nowiki&amp;gt;https://www.arduino.cc/en/Guide/ArduinoUno&amp;lt;/nowiki&amp;gt; should be followed. &lt;br /&gt;
&lt;br /&gt;
==Basic Understanding of Programming==&lt;br /&gt;
&lt;br /&gt;
===Introduction to coding===&lt;br /&gt;
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, one must have the Arduino IDE downloaded, which can be accessed from here: &amp;lt;nowiki&amp;gt;https://www.arduino.cc/en/software&amp;lt;/nowiki&amp;gt;. 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. &lt;br /&gt;
&lt;br /&gt;
Some other basic considerations:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Table 2: Overview of some basic elements of programming&lt;br /&gt;
!&lt;br /&gt;
!Symbol&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Brackets&lt;br /&gt;
|{....}&lt;br /&gt;
|Starts and ends a function or is used to group different statements together&lt;br /&gt;
|-&lt;br /&gt;
|Comment bars&lt;br /&gt;
|/* ….*/ or //&lt;br /&gt;
|Allows coders to add comments to their code to make it more readable to other humans. Important to note that all comments do not get executed by the program and therefore do not alter the program!&lt;br /&gt;
|-&lt;br /&gt;
|Semicolon&lt;br /&gt;
|...;&lt;br /&gt;
|This character ends a program statement and lets the compiler know ‘the end of the current line/statement’&lt;br /&gt;
|}&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
===Variables===&lt;br /&gt;
Variables allow  information in programmers to be stored or changed within the code. In order to create a variable within your program, it must be declared. To declare a variable, the coder has to write the type of variable to be declared first. Different types exist, most commonly used are:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Table 3: Summary of commonly used variable types&lt;br /&gt;
!Type&lt;br /&gt;
!Syntax&lt;br /&gt;
|-&lt;br /&gt;
|Integers&lt;br /&gt;
|int&lt;br /&gt;
|-&lt;br /&gt;
|non-integers (rational and non-rational)&lt;br /&gt;
|double or float&lt;br /&gt;
|-&lt;br /&gt;
|charecters&lt;br /&gt;
|char&lt;br /&gt;
|}&lt;br /&gt;
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, &amp;quot;My deposit&amp;quot; is not a valid variable name, but &amp;quot;MyDeposit&amp;quot; is. Note that capitalizations can be useful for readability. Furthermore, variables should not start with digits, or with an underscore &amp;quot;_&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
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 &amp;quot;k&amp;quot;, as &amp;quot;k&amp;quot; is not an integer. The code segments below illustrate the process of initialization:&lt;br /&gt;
 int a;// not initialized, which is ok!&lt;br /&gt;
&lt;br /&gt;
 double b=1.23;/* Note that the 1.23 value matches with the “double” type which is a rational number*/&lt;br /&gt;
&lt;br /&gt;
 char MyVariable = “h”; //note the semicolons!&lt;br /&gt;
The following will produce an error, which will disable the compiler from compiling your code:&lt;br /&gt;
 char YourVariable= 1.23; // 1.23 is not a character!&lt;br /&gt;
Variables can be classified into either global or local variables. The main difference is the scope at which they can be accessed. A global variable can be accessed by all functions that exist within a program, whereas a local variable can be accessed through only the function where it is declared. The example below illustrates this well [https://www.arduino.cc/reference/en/language/variables/variable-scope-qualifiers/scope/&amp;lt;nowiki&amp;gt;]:&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 /* There are two functions in this program: setup() and loop(), and three variables: &amp;quot;k&amp;quot;, &amp;quot;i&amp;quot;, &amp;quot;f&amp;quot;.*/&lt;br /&gt;
&lt;br /&gt;
 int k;  // any function will see this variable, thus called a global variable.&lt;br /&gt;
&lt;br /&gt;
 void setup() {&lt;br /&gt;
&lt;br /&gt;
   // ... }&lt;br /&gt;
&lt;br /&gt;
 void loop() {&lt;br /&gt;
&lt;br /&gt;
   int i;    // &amp;quot;i&amp;quot; is only &amp;quot;visible&amp;quot; inside of &amp;quot;loop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
   float f; }  // &amp;quot;f&amp;quot; is only &amp;quot;visible&amp;quot; inside of &amp;quot;loop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 .....// some lines of code}&lt;br /&gt;
&lt;br /&gt;
===Arduino IDE===&lt;br /&gt;
After getting introduced to some of the basic structures of coding, its important to get to know the integrated development environment, or IDE that the coder will use to edit and compile the written programmes. For all Arduino boards, the IDE used is the Arduino IDE, available online at: https://www.arduino.cc/en/software. The following figure guides the users to the basic on the basic options available on the IDE:&lt;br /&gt;
&lt;br /&gt;
[[File:Arduino IDE2.jpg|974x974px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Blink program====&lt;br /&gt;
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&amp;gt;Examples folder. Amongst the most basic is the &amp;quot;Blink&amp;quot; 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&#039;s computer. This program is located in Files&amp;gt;Examples&amp;gt;01.Basics&amp;gt;Blink.  &lt;br /&gt;
&lt;br /&gt;
The following provides an overview of the different functions used in this program:&lt;br /&gt;
[[File:Blink program overview.jpg|center|frameless|800x800px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Table 4: Overview of functions used in the Blink program&lt;br /&gt;
!Function&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Setup()&lt;br /&gt;
|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.&lt;br /&gt;
|-&lt;br /&gt;
|Loop()&lt;br /&gt;
|The loop function acts as the program&#039;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.&lt;br /&gt;
|-&lt;br /&gt;
|pinMode (pin number, INPUT or Output)&lt;br /&gt;
|Configures the pin to behave as either an INPUT or an OUTPUT.&lt;br /&gt;
|-&lt;br /&gt;
|digitalWrite (pin number, HIGH or LOW)&lt;br /&gt;
|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.&lt;br /&gt;
|-&lt;br /&gt;
|Delay (time in milliseconds)&lt;br /&gt;
|Pauses the program for the amount of time specified in the parameter.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Conditionals===&lt;br /&gt;
Conditional statements are programming operations that tells the computer to perform an action for a certain set of conditions. An &amp;quot;if&amp;quot; statement is the most common, and tells the computer to perform a set of actions only if the condition is fullfilled. The syntax is the followoing:&lt;br /&gt;
 if (condition) {&lt;br /&gt;
&lt;br /&gt;
 /// a set of instructions }&lt;br /&gt;
Common alteration of the if statements are the &amp;quot;if...else&amp;quot; and &amp;quot;if... else if&amp;quot;. The &amp;quot;if...else&amp;quot; conditionals first checks the &amp;quot;if&amp;quot; conditional, in the case that its true, the compiler will ignore the &amp;quot;else&amp;quot; set of instructions. In the case that the condition(s) declared in the &amp;quot;if&amp;quot; statement are not fulfilled, the &amp;quot;else&amp;quot; instructions will automatically run. The syntax for an &amp;quot;if...else&amp;quot; statement is:&lt;br /&gt;
 if (condition){&lt;br /&gt;
&lt;br /&gt;
 ///instructions;}&lt;br /&gt;
&lt;br /&gt;
 else {&lt;br /&gt;
&lt;br /&gt;
 ///instructions that will ONLY run in the case the &amp;quot;if&amp;quot; conditions are not fulfilled }&lt;br /&gt;
In the case of the &amp;quot;if...else if&amp;quot; set of instructions, the program will only run if the conditions specified in the &amp;quot;if&amp;quot; or &amp;quot;else if&amp;quot; are true. The syntax is the following:&lt;br /&gt;
 if (condition){&lt;br /&gt;
&lt;br /&gt;
 ///instructions }&lt;br /&gt;
&lt;br /&gt;
 else if (condition) {&lt;br /&gt;
&lt;br /&gt;
 ///instructions }&lt;br /&gt;
&lt;br /&gt;
==Basic Understanding of Sensors==&lt;br /&gt;
&lt;br /&gt;
===Introduction to Sensors===&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
===Introduction to Circuits===&lt;br /&gt;
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).  &lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
===Introduction to basic electronic components===&lt;br /&gt;
&lt;br /&gt;
====LED====&lt;br /&gt;
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).&lt;br /&gt;
&lt;br /&gt;
====Pushbutton====&lt;br /&gt;
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&#039;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.&lt;br /&gt;
&lt;br /&gt;
====Resistor====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
====Breadboard====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
===Arduino in Tinkercad===&lt;br /&gt;
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: &amp;lt;nowiki&amp;gt;https://www.tinkercad.com&amp;lt;/nowiki&amp;gt; , or alternatively, login with google, facebook etc… &lt;br /&gt;
&lt;br /&gt;
Once your account is created, the user can navigate to the “circuits” tab in the left-hand menu, and click on “ Create new circuit”. This opens a new tab, where the available circuit components can be viewed in the right-hand menu.&lt;br /&gt;
&lt;br /&gt;
To start putting a circuit together, the user can drag the components from the library and place it in the “building zone”, noted above. In addition, note the “Code” button in the top bar; this button enables the users to program the Arduino to perform specific functions. To start the simulation, the “start simulation” is available in the top tab.&lt;/div&gt;</summary>
		<author><name>Essraaalqassab</name></author>
	</entry>
	<entry>
		<id>https://en.wiki.makerepo.com/index.php?title=Digital_technologies/Arduino/Arduino-_Beginner&amp;diff=1090</id>
		<title>Digital technologies/Arduino/Arduino- Beginner</title>
		<link rel="alternate" type="text/html" href="https://en.wiki.makerepo.com/index.php?title=Digital_technologies/Arduino/Arduino-_Beginner&amp;diff=1090"/>
		<updated>2021-10-07T00:14:26Z</updated>

		<summary type="html">&lt;p&gt;Essraaalqassab: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Understanding of the Arduino Board==&lt;br /&gt;
&lt;br /&gt;
===What is a micro-controller?===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
===Arduino board sections===&lt;br /&gt;
There are 5 important board sections that the user must have a solid understanding of to start utilizing the board&#039;s functions. These sections are outlined below:&lt;br /&gt;
[[File:Sections of an Arduino board.svg|alt=Figure 1: Arduino board sections|border|center|Figure 1: Arduino board sections]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Table 1: Description of the 5 main sections of an arduino board&lt;br /&gt;
!Section&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|USB connector&lt;br /&gt;
|The arduino can be powered through a type A/B USB connector from the user’s laptop/computer to the board. This port is also used to upload programs onto the board.&lt;br /&gt;
|-&lt;br /&gt;
|Power port&lt;br /&gt;
|The arduino board can be powered through an AC-DC adapter or a battery. The power jack of the board can be connected to a 2.1 mm center-positive plug.&lt;br /&gt;
|-&lt;br /&gt;
|Power pins&lt;br /&gt;
|To power external circuitry, 3 standard voltages (0 V or GND, 3.3V, 5V) are provided in the ‘Power Pins’ section of the board.&lt;br /&gt;
|-&lt;br /&gt;
|Digital pins&lt;br /&gt;
|Digital pins on the arduino board can be configured as an input or an output. When the pins are configured as an input, the pins will send a binary signal into the board, which enables the board to read the sensed logic voltage levels (ie. either 0/low or 1/high). If the digital pins are configured as an output, then the arduino will send a binary signal to the pin.  There is a built-in LED pre-connected to digital pin 13. When the value of the pin is driven HIGH by the processor, the LED on the board is illuminated, when the pin is LOW, it&#039;s turned off. This can be used as a status indicator when programs are running.&lt;br /&gt;
|-&lt;br /&gt;
|Analog pins&lt;br /&gt;
|The analog pins allow the arduino board to receive or send an analog signal. These signals need to be converted into digital representations which can be used inside the software-executing portion of the Arduino processor (which only uses binary digital signals). Analog signal inputs can be accepted for conversion into digital via the Analog Pins header. The Analog to Digital (A/D or “A to D”) conversion is done inside the processor with specialized circuitry.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Analog VS Digital signals===&lt;br /&gt;
A signal is an electromagnetic or electric current that transfers information from one source to another. There are two main types of signals used in electronics: analog or digital signals. &lt;br /&gt;
[[File:AvD.jpg|thumb|181x181px|Analog vs. Digital signals [https://www.the-vital-edge.com/words-as-bridge/&amp;lt;nowiki&amp;gt;]&amp;lt;/nowiki&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
====Analog signals====&lt;br /&gt;
This is a time-varying and continuous type of signal that is often used to measure changes in light, sound, position, temperature, or other physical phenomena. When plotted in a voltage-time graph, the result is often a continuous and smooth curve.&lt;br /&gt;
&lt;br /&gt;
====Digital signals====&lt;br /&gt;
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).&lt;br /&gt;
&lt;br /&gt;
==Basic Understanding of Programming==&lt;br /&gt;
&lt;br /&gt;
===Introduction to coding===&lt;br /&gt;
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, one must have the Arduino IDE downloaded, which can be accessed from here: &amp;lt;nowiki&amp;gt;https://www.arduino.cc/en/software&amp;lt;/nowiki&amp;gt;. 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. &lt;br /&gt;
&lt;br /&gt;
Some other basic considerations:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Table 2: Overview of some basic elements of programming&lt;br /&gt;
!&lt;br /&gt;
!Symbol&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Brackets&lt;br /&gt;
|{....}&lt;br /&gt;
|Starts and ends a function or is used to group different statements together&lt;br /&gt;
|-&lt;br /&gt;
|Comment bars&lt;br /&gt;
|/* ….*/ or //&lt;br /&gt;
|Allows coders to add comments to their code to make it more readable to other humans. Important to note that all comments do not get executed by the program and therefore do not alter the program!&lt;br /&gt;
|-&lt;br /&gt;
|Semicolon&lt;br /&gt;
|...;&lt;br /&gt;
|This character ends a program statement and lets the compiler know ‘the end of the current line/statement’&lt;br /&gt;
|}&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
===Variables===&lt;br /&gt;
Variables allow  information in programmers to be stored or changed within the code. In order to create a variable within your program, it must be declared. To declare a variable, the coder has to write the type of variable to be declared first. Different types exist, most commonly used are:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Table 3: Summary of commonly used variable types&lt;br /&gt;
!Type&lt;br /&gt;
!Syntax&lt;br /&gt;
|-&lt;br /&gt;
|Integers&lt;br /&gt;
|int&lt;br /&gt;
|-&lt;br /&gt;
|non-integers (rational and non-rational)&lt;br /&gt;
|double or float&lt;br /&gt;
|-&lt;br /&gt;
|charecters&lt;br /&gt;
|char&lt;br /&gt;
|}&lt;br /&gt;
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, &amp;quot;My deposit&amp;quot; is not a valid variable name, but &amp;quot;MyDeposit&amp;quot; is. Note that capitalizations can be useful for readability. Furthermore, variables should not start with digits, or with an underscore &amp;quot;_&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
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 &amp;quot;k&amp;quot;, as &amp;quot;k&amp;quot; is not an integer. The code segments below illustrate the process of initialization:&lt;br /&gt;
 int a;// not initialized, which is ok!&lt;br /&gt;
&lt;br /&gt;
 double b=1.23;/* Note that the 1.23 value matches with the “double” type which is a rational number*/&lt;br /&gt;
&lt;br /&gt;
 char MyVariable = “h”; //note the semicolons!&lt;br /&gt;
The following will produce an error, which will disable the compiler from compiling your code:&lt;br /&gt;
 char YourVariable= 1.23; // 1.23 is not a character!&lt;br /&gt;
Variables can be classified into either global or local variables. The main difference is the scope at which they can be accessed. A global variable can be accessed by all functions that exist within a program, whereas a local variable can be accessed through only the function where it is declared. The example below illustrates this well [https://www.arduino.cc/reference/en/language/variables/variable-scope-qualifiers/scope/&amp;lt;nowiki&amp;gt;]:&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 /* There are two functions in this program: setup() and loop(), and three variables: &amp;quot;k&amp;quot;, &amp;quot;i&amp;quot;, &amp;quot;f&amp;quot;.*/&lt;br /&gt;
&lt;br /&gt;
 int k;  // any function will see this variable, thus called a global variable.&lt;br /&gt;
&lt;br /&gt;
 void setup() {&lt;br /&gt;
&lt;br /&gt;
   // ... }&lt;br /&gt;
&lt;br /&gt;
 void loop() {&lt;br /&gt;
&lt;br /&gt;
   int i;    // &amp;quot;i&amp;quot; is only &amp;quot;visible&amp;quot; inside of &amp;quot;loop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
   float f; }  // &amp;quot;f&amp;quot; is only &amp;quot;visible&amp;quot; inside of &amp;quot;loop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 .....// some lines of code}&lt;br /&gt;
&lt;br /&gt;
===Arduino IDE===&lt;br /&gt;
After getting introduced to some of the basic structures of coding, its important to get to know the integrated development environment, or IDE that the coder will use to edit and compile the written programmes. For all Arduino boards, the IDE used is the Arduino IDE, available online at: https://www.arduino.cc/en/software. The following figure guides the users to the basic on the basic options available on the IDE:&lt;br /&gt;
&lt;br /&gt;
[[File:Arduino IDE2.jpg|974x974px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Blink program====&lt;br /&gt;
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&amp;gt;Examples folder. Amongst the most basic is the &amp;quot;Blink&amp;quot; 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&#039;s computer. This program is located in Files&amp;gt;Examples&amp;gt;01.Basics&amp;gt;Blink.  &lt;br /&gt;
&lt;br /&gt;
The following provides an overview of the different functions used in this program:&lt;br /&gt;
[[File:Blink program overview.jpg|center|frameless|800x800px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Table 4: Overview of functions used in the Blink program&lt;br /&gt;
!Function&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Setup()&lt;br /&gt;
|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.&lt;br /&gt;
|-&lt;br /&gt;
|Loop()&lt;br /&gt;
|The loop function acts as the program&#039;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.&lt;br /&gt;
|-&lt;br /&gt;
|pinMode (pin number, INPUT or Output)&lt;br /&gt;
|Configures the pin to behave as either an INPUT or an OUTPUT.&lt;br /&gt;
|-&lt;br /&gt;
|digitalWrite (pin number, HIGH or LOW)&lt;br /&gt;
|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.&lt;br /&gt;
|-&lt;br /&gt;
|Delay (time in milliseconds)&lt;br /&gt;
|Pauses the program for the amount of time specified in the parameter.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Conditionals ===&lt;br /&gt;
&lt;br /&gt;
==Basic Understanding of Sensors==&lt;br /&gt;
&lt;br /&gt;
===Introduction to Sensors===&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
===Introduction to Circuits===&lt;br /&gt;
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).  &lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
===Introduction to basic electronic components===&lt;br /&gt;
&lt;br /&gt;
====LED====&lt;br /&gt;
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).&lt;br /&gt;
&lt;br /&gt;
====Pushbutton====&lt;br /&gt;
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&#039;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.&lt;br /&gt;
&lt;br /&gt;
====Resistor====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
====Breadboard====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
===Arduino in Tinkercad===&lt;br /&gt;
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: &amp;lt;nowiki&amp;gt;https://www.tinkercad.com&amp;lt;/nowiki&amp;gt; , or alternatively, login with google, facebook etc… &lt;br /&gt;
&lt;br /&gt;
Once your account is created, the user can navigate to the “circuits” tab in the left-hand menu, and click on “ Create new circuit”. This opens a new tab, where the available circuit components can be viewed in the right-hand menu.&lt;br /&gt;
&lt;br /&gt;
To start putting a circuit together, the user can drag the components from the library and place it in the “building zone”, noted above. In addition, note the “Code” button in the top bar; this button enables the users to program the arduino to perform specific functions. To start the simulation, the “start simulation” is available in the top tab.&lt;/div&gt;</summary>
		<author><name>Essraaalqassab</name></author>
	</entry>
	<entry>
		<id>https://en.wiki.makerepo.com/index.php?title=File:Breadboard.jpg&amp;diff=1088</id>
		<title>File:Breadboard.jpg</title>
		<link rel="alternate" type="text/html" href="https://en.wiki.makerepo.com/index.php?title=File:Breadboard.jpg&amp;diff=1088"/>
		<updated>2021-09-27T23:43:29Z</updated>

		<summary type="html">&lt;p&gt;Essraaalqassab: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Essraaalqassab</name></author>
	</entry>
	<entry>
		<id>https://en.wiki.makerepo.com/index.php?title=File:LED.jpg&amp;diff=1087</id>
		<title>File:LED.jpg</title>
		<link rel="alternate" type="text/html" href="https://en.wiki.makerepo.com/index.php?title=File:LED.jpg&amp;diff=1087"/>
		<updated>2021-09-27T23:41:34Z</updated>

		<summary type="html">&lt;p&gt;Essraaalqassab: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Essraaalqassab</name></author>
	</entry>
	<entry>
		<id>https://en.wiki.makerepo.com/index.php?title=File:Resistors.jpg&amp;diff=1086</id>
		<title>File:Resistors.jpg</title>
		<link rel="alternate" type="text/html" href="https://en.wiki.makerepo.com/index.php?title=File:Resistors.jpg&amp;diff=1086"/>
		<updated>2021-09-27T23:33:36Z</updated>

		<summary type="html">&lt;p&gt;Essraaalqassab: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Essraaalqassab</name></author>
	</entry>
	<entry>
		<id>https://en.wiki.makerepo.com/index.php?title=File:Tinker.jpg&amp;diff=1085</id>
		<title>File:Tinker.jpg</title>
		<link rel="alternate" type="text/html" href="https://en.wiki.makerepo.com/index.php?title=File:Tinker.jpg&amp;diff=1085"/>
		<updated>2021-09-27T23:25:34Z</updated>

		<summary type="html">&lt;p&gt;Essraaalqassab: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Essraaalqassab</name></author>
	</entry>
	<entry>
		<id>https://en.wiki.makerepo.com/index.php?title=Digital_technologies/Arduino/Arduino-_Beginner&amp;diff=1084</id>
		<title>Digital technologies/Arduino/Arduino- Beginner</title>
		<link rel="alternate" type="text/html" href="https://en.wiki.makerepo.com/index.php?title=Digital_technologies/Arduino/Arduino-_Beginner&amp;diff=1084"/>
		<updated>2021-09-27T23:18:35Z</updated>

		<summary type="html">&lt;p&gt;Essraaalqassab: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Understanding of the Arduino Board==&lt;br /&gt;
&lt;br /&gt;
===What is a micro-controller?===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
===Arduino board sections===&lt;br /&gt;
There are 5 important board sections that the user must have a solid understanding of to start utilizing the board&#039;s functions. These sections are outlined below:&lt;br /&gt;
[[File:Sections of an Arduino board.svg|alt=Figure 1: Arduino board sections|border|center|Figure 1: Arduino board sections]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Table 1: Description of the 5 main sections of an arduino board&lt;br /&gt;
!Section&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|USB connector&lt;br /&gt;
|The arduino can be powered through a type A/B USB connector from the user’s laptop/computer to the board. This port is also used to upload programs onto the board.&lt;br /&gt;
|-&lt;br /&gt;
|Power port&lt;br /&gt;
|The arduino board can be powered through an AC-DC adapter or a battery. The power jack of the board can be connected to a 2.1 mm center-positive plug.&lt;br /&gt;
|-&lt;br /&gt;
|Power pins&lt;br /&gt;
|To power external circuitry, 3 standard voltages (0 V or GND, 3.3V, 5V) are provided in the ‘Power Pins’ section of the board.&lt;br /&gt;
|-&lt;br /&gt;
|Digital pins&lt;br /&gt;
|Digital pins on the arduino board can be configured as an input or an output. When the pins are configured as an input, the pins will send a binary signal into the board, which enables the board to read the sensed logic voltage levels (ie. either 0/low or 1/high). If the digital pins are configured as an output, then the arduino will send a binary signal to the pin.  There is a built-in LED pre-connected to digital pin 13. When the value of the pin is driven HIGH by the processor, the LED on the board is illuminated, when the pin is LOW, it&#039;s turned off. This can be used as a status indicator when programs are running.&lt;br /&gt;
|-&lt;br /&gt;
|Analog pins&lt;br /&gt;
|The analog pins allow the arduino board to receive or send an analog signal. These signals need to be converted into digital representations which can be used inside the software-executing portion of the Arduino processor (which only uses binary digital signals). Analog signal inputs can be accepted for conversion into digital via the Analog Pins header. The Analog to Digital (A/D or “A to D”) conversion is done inside the processor with specialized circuitry.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Analog VS Digital signals===&lt;br /&gt;
A signal is an electromagnetic or electric current that transfers information from one source to another. There are two main types of signals used in electronics: analog or digital signals. &lt;br /&gt;
[[File:AvD.jpg|thumb|181x181px|Analog vs. Digital signals [https://www.the-vital-edge.com/words-as-bridge/&amp;lt;nowiki&amp;gt;]&amp;lt;/nowiki&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
====Analog signals====&lt;br /&gt;
This is a time-varying and continuous type of signal that is often used to measure changes in light, sound, position, temperature, or other physical phenomena. When plotted in a voltage-time graph, the result is often a continuous and smooth curve.&lt;br /&gt;
&lt;br /&gt;
====Digital signals====&lt;br /&gt;
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).&lt;br /&gt;
&lt;br /&gt;
==Basic Understanding of Programming==&lt;br /&gt;
&lt;br /&gt;
===Introduction to coding===&lt;br /&gt;
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, one must have the Arduino IDE downloaded, which can be accessed from here: &amp;lt;nowiki&amp;gt;https://www.arduino.cc/en/software&amp;lt;/nowiki&amp;gt;. 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. &lt;br /&gt;
&lt;br /&gt;
Some other basic considerations:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Table 2: Overview of some basic elements of programming&lt;br /&gt;
!&lt;br /&gt;
!Symbol&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Brackets&lt;br /&gt;
|{....}&lt;br /&gt;
|Starts and ends a function or is used to group different statements together&lt;br /&gt;
|-&lt;br /&gt;
|Comment bars&lt;br /&gt;
|/* ….*/ or //&lt;br /&gt;
|Allows coders to add comments to their code to make it more readable to other humans. Important to note that all comments do not get executed by the program and therefore do not alter the program!&lt;br /&gt;
|-&lt;br /&gt;
|Semicolon&lt;br /&gt;
|...;&lt;br /&gt;
|This character ends a program statement and lets the compiler know ‘the end of the current line/statement’&lt;br /&gt;
|}&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
===Variables===&lt;br /&gt;
Variables allow  information in programmers to be stored or changed within the code. In order to create a variable within your program, it must be declared. To declare a variable, the coder has to write the type of variable to be declared first. Different types exist, most commonly used are:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Table 3: Summary of commonly used variable types&lt;br /&gt;
!Type&lt;br /&gt;
!Syntax&lt;br /&gt;
|-&lt;br /&gt;
|Integers&lt;br /&gt;
|int&lt;br /&gt;
|-&lt;br /&gt;
|non-integers (rational and non-rational)&lt;br /&gt;
|double or float&lt;br /&gt;
|-&lt;br /&gt;
|charecters&lt;br /&gt;
|char&lt;br /&gt;
|}&lt;br /&gt;
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, &amp;quot;My deposit&amp;quot; is not a valid variable name, but &amp;quot;MyDeposit&amp;quot; is. Note that capitalizations can be useful for readability. Furthermore, variables should not start with digits, or with an underscore &amp;quot;_&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
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 &amp;quot;k&amp;quot;, as &amp;quot;k&amp;quot; is not an integer. The code segments below illustrate the process of initialization:&lt;br /&gt;
 int a;// not initialized, which is ok!&lt;br /&gt;
&lt;br /&gt;
 double b=1.23;/* Note that the 1.23 value matches with the “double” type which is a rational number*/&lt;br /&gt;
&lt;br /&gt;
 char MyVariable = “h”; //note the semicolons!&lt;br /&gt;
The following will produce an error, which will disable the compiler from compiling your code:&lt;br /&gt;
 char YourVariable= 1.23; // 1.23 is not a character!&lt;br /&gt;
Variables can be classified into either global or local variables. The main difference is the scope at which they can be accessed. A global variable can be accessed by all functions that exist within a program, whereas a local variable can be accessed through only the function where it is declared. The example below illustrates this well [https://www.arduino.cc/reference/en/language/variables/variable-scope-qualifiers/scope/&amp;lt;nowiki&amp;gt;]:&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 /* There are two functions in this program: setup() and loop(), and three variables: &amp;quot;k&amp;quot;, &amp;quot;i&amp;quot;, &amp;quot;f&amp;quot;.*/&lt;br /&gt;
&lt;br /&gt;
 int k;  // any function will see this variable, thus called a global variable.&lt;br /&gt;
&lt;br /&gt;
 void setup() {&lt;br /&gt;
&lt;br /&gt;
   // ... }&lt;br /&gt;
&lt;br /&gt;
 void loop() {&lt;br /&gt;
&lt;br /&gt;
   int i;    // &amp;quot;i&amp;quot; is only &amp;quot;visible&amp;quot; inside of &amp;quot;loop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
   float f; }  // &amp;quot;f&amp;quot; is only &amp;quot;visible&amp;quot; inside of &amp;quot;loop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 .....// some lines of code}&lt;br /&gt;
&lt;br /&gt;
===Arduino IDE===&lt;br /&gt;
After getting introduced to some of the basic structures of coding, its important to get to know the integrated development environment, or IDE that the coder will use to edit and compile the written programmes. For all Arduino boards, the IDE used is the Arduino IDE, available online at: https://www.arduino.cc/en/software. The following figure guides the users to the basic on the basic options available on the IDE:&lt;br /&gt;
&lt;br /&gt;
[[File:Arduino IDE2.jpg|974x974px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Blink program====&lt;br /&gt;
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&amp;gt;Examples folder. Amongst the most basic is the &amp;quot;Blink&amp;quot; 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&#039;s computer. This program is located in Files&amp;gt;Examples&amp;gt;01.Basics&amp;gt;Blink.  &lt;br /&gt;
&lt;br /&gt;
The following provides an overview of the different functions used in this program:&lt;br /&gt;
[[File:Blink program overview.jpg|center|frameless|800x800px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Table 4: Overview of functions used in the Blink program&lt;br /&gt;
!Function&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Setup()&lt;br /&gt;
|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.&lt;br /&gt;
|-&lt;br /&gt;
|Loop()&lt;br /&gt;
|The loop function acts as the program&#039;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.&lt;br /&gt;
|-&lt;br /&gt;
|pinMode (pin number, INPUT or Output)&lt;br /&gt;
|Configures the pin to behave as either an INPUT or an OUTPUT.&lt;br /&gt;
|-&lt;br /&gt;
|digitalWrite (pin number, HIGH or LOW)&lt;br /&gt;
|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.&lt;br /&gt;
|-&lt;br /&gt;
|Delay (time in milliseconds)&lt;br /&gt;
|Pauses the program for the amount of time specified in the parameter.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Basic Understanding of Sensors==&lt;br /&gt;
&lt;br /&gt;
===Introduction to Sensors===&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
===Introduction to Circuits===&lt;br /&gt;
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).  &lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
===Introduction to basic electronic components===&lt;br /&gt;
&lt;br /&gt;
====LED====&lt;br /&gt;
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).&lt;br /&gt;
&lt;br /&gt;
====Pushbutton====&lt;br /&gt;
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&#039;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.&lt;br /&gt;
&lt;br /&gt;
====Resistor====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
====Breadboard====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
===Arduino in Tinkercad===&lt;br /&gt;
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: &amp;lt;nowiki&amp;gt;https://www.tinkercad.com&amp;lt;/nowiki&amp;gt; , or alternatively, login with google, facebook etc… &lt;br /&gt;
&lt;br /&gt;
Once your account is created, the user can navigate to the “circuits” tab in the left-hand menu, and click on “ Create new circuit”. This opens a new tab, where the available circuit components can be viewed in the right-hand menu.&lt;br /&gt;
&lt;br /&gt;
To start putting a circuit together, the user can drag the components from the library and place it in the “building zone”, noted above. In addition, note the “Code” button in the top bar; this button enables the users to program the arduino to perform specific functions. To start the simulation, the “start simulation” is available in the top tab.&lt;/div&gt;</summary>
		<author><name>Essraaalqassab</name></author>
	</entry>
	<entry>
		<id>https://en.wiki.makerepo.com/index.php?title=File:Blink_program_overview.jpg&amp;diff=1083</id>
		<title>File:Blink program overview.jpg</title>
		<link rel="alternate" type="text/html" href="https://en.wiki.makerepo.com/index.php?title=File:Blink_program_overview.jpg&amp;diff=1083"/>
		<updated>2021-09-27T23:14:50Z</updated>

		<summary type="html">&lt;p&gt;Essraaalqassab: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Essraaalqassab</name></author>
	</entry>
	<entry>
		<id>https://en.wiki.makerepo.com/index.php?title=Digital_technologies/Arduino/Arduino-_Beginner&amp;diff=1082</id>
		<title>Digital technologies/Arduino/Arduino- Beginner</title>
		<link rel="alternate" type="text/html" href="https://en.wiki.makerepo.com/index.php?title=Digital_technologies/Arduino/Arduino-_Beginner&amp;diff=1082"/>
		<updated>2021-09-27T23:13:52Z</updated>

		<summary type="html">&lt;p&gt;Essraaalqassab: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Understanding of the Arduino Board==&lt;br /&gt;
&lt;br /&gt;
===What is a micro-controller?===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
===Arduino board sections===&lt;br /&gt;
There are 5 important board sections that the user must have a solid understanding of to start utilizing the board&#039;s functions. These sections are outlined below:&lt;br /&gt;
[[File:Sections of an Arduino board.svg|alt=Figure 1: Arduino board sections|border|center|Figure 1: Arduino board sections]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Table 1: Description of the 5 main sections of an arduino board&lt;br /&gt;
!Section&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|USB connector&lt;br /&gt;
|The arduino can be powered through a type A/B USB connector from the user’s laptop/computer to the board. This port is also used to upload programs onto the board.&lt;br /&gt;
|-&lt;br /&gt;
|Power port&lt;br /&gt;
|The arduino board can be powered through an AC-DC adapter or a battery. The power jack of the board can be connected to a 2.1 mm center-positive plug.&lt;br /&gt;
|-&lt;br /&gt;
|Power pins&lt;br /&gt;
|To power external circuitry, 3 standard voltages (0 V or GND, 3.3V, 5V) are provided in the ‘Power Pins’ section of the board.&lt;br /&gt;
|-&lt;br /&gt;
|Digital pins&lt;br /&gt;
|Digital pins on the arduino board can be configured as an input or an output. When the pins are configured as an input, the pins will send a binary signal into the board, which enables the board to read the sensed logic voltage levels (ie. either 0/low or 1/high). If the digital pins are configured as an output, then the arduino will send a binary signal to the pin.  There is a built-in LED pre-connected to digital pin 13. When the value of the pin is driven HIGH by the processor, the LED on the board is illuminated, when the pin is LOW, it&#039;s turned off. This can be used as a status indicator when programs are running.&lt;br /&gt;
|-&lt;br /&gt;
|Analog pins&lt;br /&gt;
|The analog pins allow the arduino board to receive or send an analog signal. These signals need to be converted into digital representations which can be used inside the software-executing portion of the Arduino processor (which only uses binary digital signals). Analog signal inputs can be accepted for conversion into digital via the Analog Pins header. The Analog to Digital (A/D or “A to D”) conversion is done inside the processor with specialized circuitry.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Analog VS Digital signals===&lt;br /&gt;
A signal is an electromagnetic or electric current that transfers information from one source to another. There are two main types of signals used in electronics: analog or digital signals. &lt;br /&gt;
[[File:AvD.jpg|thumb|181x181px|Analog vs. Digital signals [https://www.the-vital-edge.com/words-as-bridge/&amp;lt;nowiki&amp;gt;]&amp;lt;/nowiki&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
====Analog signals====&lt;br /&gt;
This is a time-varying and continuous type of signal that is often used to measure changes in light, sound, position, temperature, or other physical phenomena. When plotted in a voltage-time graph, the result is often a continuous and smooth curve.&lt;br /&gt;
&lt;br /&gt;
====Digital signals====&lt;br /&gt;
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).&lt;br /&gt;
&lt;br /&gt;
==Basic Understanding of Programming==&lt;br /&gt;
&lt;br /&gt;
===Introduction to coding===&lt;br /&gt;
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, one must have the Arduino IDE downloaded, which can be accessed from here: &amp;lt;nowiki&amp;gt;https://www.arduino.cc/en/software&amp;lt;/nowiki&amp;gt;. 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. &lt;br /&gt;
&lt;br /&gt;
Some other basic considerations:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Table 2: Overview of some basic elements of programming&lt;br /&gt;
!&lt;br /&gt;
!Symbol&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Brackets&lt;br /&gt;
|{....}&lt;br /&gt;
|Starts and ends a function or is used to group different statements together&lt;br /&gt;
|-&lt;br /&gt;
|Comment bars&lt;br /&gt;
|/* ….*/ or //&lt;br /&gt;
|Allows coders to add comments to their code to make it more readable to other humans. Important to note that all comments do not get executed by the program and therefore do not alter the program!&lt;br /&gt;
|-&lt;br /&gt;
|Semicolon&lt;br /&gt;
|...;&lt;br /&gt;
|This character ends a program statement and lets the compiler know ‘the end of the current line/statement’&lt;br /&gt;
|}&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
===Variables===&lt;br /&gt;
Variables allow  information in programmers to be stored or changed within the code. In order to create a variable within your program, it must be declared. To declare a variable, the coder has to write the type of variable to be declared first. Different types exist, most commonly used are:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Table 3: Summary of commonly used variable types&lt;br /&gt;
!Type&lt;br /&gt;
!Syntax&lt;br /&gt;
|-&lt;br /&gt;
|Integers&lt;br /&gt;
|int&lt;br /&gt;
|-&lt;br /&gt;
|non-integers (rational and non-rational)&lt;br /&gt;
|double or float&lt;br /&gt;
|-&lt;br /&gt;
|charecters&lt;br /&gt;
|char&lt;br /&gt;
|}&lt;br /&gt;
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, &amp;quot;My deposit&amp;quot; is not a valid variable name, but &amp;quot;MyDeposit&amp;quot; is. Note that capitalizations can be useful for readability. Furthermore, variables should not start with digits, or with an underscore &amp;quot;_&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
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 &amp;quot;k&amp;quot;, as &amp;quot;k&amp;quot; is not an integer. The code segments below illustrate the process of initialization:&lt;br /&gt;
 int a;// not initialized, which is ok!&lt;br /&gt;
&lt;br /&gt;
 double b=1.23;/* Note that the 1.23 value matches with the “double” type which is a rational number*/&lt;br /&gt;
&lt;br /&gt;
 char MyVariable = “h”; //note the semicolons!&lt;br /&gt;
The following will produce an error, which will disable the compiler from compiling your code:&lt;br /&gt;
 char YourVariable= 1.23; // 1.23 is not a character!&lt;br /&gt;
Variables can be classified into either global or local variables. The main difference is the scope at which they can be accessed. A global variable can be accessed by all functions that exist within a program, whereas a local variable can be accessed through only the function where it is declared. The example below illustrates this well [https://www.arduino.cc/reference/en/language/variables/variable-scope-qualifiers/scope/&amp;lt;nowiki&amp;gt;]:&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 /* There are two functions in this program: setup() and loop(), and three variables: &amp;quot;k&amp;quot;, &amp;quot;i&amp;quot;, &amp;quot;f&amp;quot;.*/&lt;br /&gt;
&lt;br /&gt;
 int k;  // any function will see this variable, thus called a global variable.&lt;br /&gt;
&lt;br /&gt;
 void setup() {&lt;br /&gt;
&lt;br /&gt;
   // ... }&lt;br /&gt;
&lt;br /&gt;
 void loop() {&lt;br /&gt;
&lt;br /&gt;
   int i;    // &amp;quot;i&amp;quot; is only &amp;quot;visible&amp;quot; inside of &amp;quot;loop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
   float f; }  // &amp;quot;f&amp;quot; is only &amp;quot;visible&amp;quot; inside of &amp;quot;loop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 .....// some lines of code}&lt;br /&gt;
&lt;br /&gt;
===Arduino IDE===&lt;br /&gt;
After getting introduced to some of the basic structures of coding, its important to get to know the integrated development environment, or IDE that the coder will use to edit and compile the written programmes. For all Arduino boards, the IDE used is the Arduino IDE, available online at: https://www.arduino.cc/en/software. The following figure guides the users to the basic on the basic options available on the IDE:&lt;br /&gt;
&lt;br /&gt;
[[File:Arduino IDE2.jpg|974x974px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Blink program====&lt;br /&gt;
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&amp;gt;Examples folder. Amongst the most basic is the &amp;quot;Blink&amp;quot; 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&#039;s computer. This program is located in Files&amp;gt;Examples&amp;gt;01.Basics&amp;gt;Blink.  &lt;br /&gt;
&lt;br /&gt;
The following provides an overview of the different functions used in this program:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Table 4: Overview of functions used in the Blink program&lt;br /&gt;
!Function&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Setup()&lt;br /&gt;
|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.&lt;br /&gt;
|-&lt;br /&gt;
|Loop()&lt;br /&gt;
|The loop function acts as the program&#039;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.&lt;br /&gt;
|-&lt;br /&gt;
|pinMode (pin number, INPUT or Output)&lt;br /&gt;
|Configures the pin to behave as either an INPUT or an OUTPUT.&lt;br /&gt;
|-&lt;br /&gt;
|digitalWrite (pin number, HIGH or LOW)&lt;br /&gt;
|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.&lt;br /&gt;
|-&lt;br /&gt;
|Delay (time in milliseconds)&lt;br /&gt;
|Pauses the program for the amount of time specified in the parameter.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Basic Understanding of Sensors==&lt;br /&gt;
&lt;br /&gt;
===Introduction to Sensors===&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
===Introduction to Circuits===&lt;br /&gt;
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).  &lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
===Introduction to basic electronic components===&lt;br /&gt;
&lt;br /&gt;
====LED====&lt;br /&gt;
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).&lt;br /&gt;
&lt;br /&gt;
====Pushbutton====&lt;br /&gt;
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&#039;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.&lt;br /&gt;
&lt;br /&gt;
====Resistor====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
====Breadboard====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
===Arduino in Tinkercad===&lt;br /&gt;
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: &amp;lt;nowiki&amp;gt;https://www.tinkercad.com&amp;lt;/nowiki&amp;gt; , or alternatively, login with google, facebook etc… &lt;br /&gt;
&lt;br /&gt;
Once your account is created, the user can navigate to the “circuits” tab in the left-hand menu, and click on “ Create new circuit”. This opens a new tab, where the available circuit components can be viewed in the right-hand menu.&lt;br /&gt;
&lt;br /&gt;
To start putting a circuit together, the user can drag the components from the library and place it in the “building zone”, noted above. In addition, note the “Code” button in the top bar; this button enables the users to program the arduino to perform specific functions. To start the simulation, the “start simulation” is available in the top tab.&lt;/div&gt;</summary>
		<author><name>Essraaalqassab</name></author>
	</entry>
	<entry>
		<id>https://en.wiki.makerepo.com/index.php?title=Digital_technologies/Arduino/Arduino-_Beginner&amp;diff=1056</id>
		<title>Digital technologies/Arduino/Arduino- Beginner</title>
		<link rel="alternate" type="text/html" href="https://en.wiki.makerepo.com/index.php?title=Digital_technologies/Arduino/Arduino-_Beginner&amp;diff=1056"/>
		<updated>2021-08-30T11:25:48Z</updated>

		<summary type="html">&lt;p&gt;Essraaalqassab: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Understanding of the Arduino Board==&lt;br /&gt;
&lt;br /&gt;
===What is a micro-controller?===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
===Arduino board sections===&lt;br /&gt;
There are 5 important board sections that the user must have a solid understanding of to start utilizing the board&#039;s functions. These sections are outlined below:&lt;br /&gt;
[[File:Sections of an Arduino board.svg|alt=Figure 1: Arduino board sections|border|center|Figure 1: Arduino board sections]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Table 1: Description of the 5 main sections of an arduino board&lt;br /&gt;
!Section&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|USB connector&lt;br /&gt;
|The arduino can be powered through a type A/B USB connector from the user’s laptop/computer to the board. This port is also used to upload programs onto the board.&lt;br /&gt;
|-&lt;br /&gt;
|Power port&lt;br /&gt;
|The arduino board can be powered through an AC-DC adapter or a battery. The power jack of the board can be connected to a 2.1 mm center-positive plug.&lt;br /&gt;
|-&lt;br /&gt;
|Power pins&lt;br /&gt;
|To power external circuitry, 3 standard voltages (0 V or GND, 3.3V, 5V) are provided in the ‘Power Pins’ section of the board.&lt;br /&gt;
|-&lt;br /&gt;
|Digital pins&lt;br /&gt;
|Digital pins on the arduino board can be configured as an input or an output. When the pins are configured as an input, the pins will send a binary signal into the board, which enables the board to read the sensed logic voltage levels (ie. either 0/low or 1/high). If the digital pins are configured as an output, then the arduino will send a binary signal to the pin.  There is a built-in LED pre-connected to digital pin 13. When the value of the pin is driven HIGH by the processor, the LED on the board is illuminated, when the pin is LOW, it&#039;s turned off. This can be used as a status indicator when programs are running.&lt;br /&gt;
|-&lt;br /&gt;
|Analog pins&lt;br /&gt;
|The analog pins allow the arduino board to receive or send an analog signal. These signals need to be converted into digital representations which can be used inside the software-executing portion of the Arduino processor (which only uses binary digital signals). Analog signal inputs can be accepted for conversion into digital via the Analog Pins header. The Analog to Digital (A/D or “A to D”) conversion is done inside the processor with specialized circuitry.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Analog VS Digital signals===&lt;br /&gt;
A signal is an electromagnetic or electric current that transfers information from one source to another. There are two main types of signals used in electronics: analog or digital signals. &lt;br /&gt;
[[File:AvD.jpg|thumb|181x181px|Analog vs. Digital signals [https://www.the-vital-edge.com/words-as-bridge/&amp;lt;nowiki&amp;gt;]&amp;lt;/nowiki&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
====Analog signals====&lt;br /&gt;
This is a time-varying and continuous type of signal that is often used to measure changes in light, sound, position, temperature, or other physical phenomena. When plotted in a voltage-time graph, the result is often a continuous and smooth curve.&lt;br /&gt;
&lt;br /&gt;
====Digital signals====&lt;br /&gt;
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).&lt;br /&gt;
&lt;br /&gt;
==Basic Understanding of Programming==&lt;br /&gt;
&lt;br /&gt;
===Introduction to coding===&lt;br /&gt;
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, one must have the Arduino IDE downloaded, which can be accessed from here: &amp;lt;nowiki&amp;gt;https://www.arduino.cc/en/software&amp;lt;/nowiki&amp;gt;. The arduino IDE provides users with a programming editor as well as a way to easily upload and compile programs onto the arduino board. Programmes in the arduino IDE are called sketches, and are normally saved with the .ino extension. The language used to programme 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. &lt;br /&gt;
&lt;br /&gt;
Some other basic considerations:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Table 2: Overview of some basic elements of programming&lt;br /&gt;
!&lt;br /&gt;
!Symbol&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Brackets&lt;br /&gt;
|{....}&lt;br /&gt;
|Starts and ends a function or is used to group different statements together&lt;br /&gt;
|-&lt;br /&gt;
|Comment bars&lt;br /&gt;
|/* ….*/ or //&lt;br /&gt;
|Allows coders to add comments to their code to make it more readable to other humans. Important to note that all comments do not get executed by the program and therefore do not alter the program!&lt;br /&gt;
|-&lt;br /&gt;
|Semicolon&lt;br /&gt;
|...;&lt;br /&gt;
|This character ends a program statement and lets the compiler know ‘the end of the current line/statement’&lt;br /&gt;
|}&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
===Variables===&lt;br /&gt;
Variables allow  information in programmes to be stored or changed within the code. In order to create a variable within your program, it must be declared. To declare a variable, the coder has to write the type of variable to be declared first. Different types exist, most commonly used are:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Table 3: Summary of commonly used variable types&lt;br /&gt;
!Type&lt;br /&gt;
!Syntax&lt;br /&gt;
|-&lt;br /&gt;
|Integers&lt;br /&gt;
|int&lt;br /&gt;
|-&lt;br /&gt;
|non-integers (rational and non-rational)&lt;br /&gt;
|double or float&lt;br /&gt;
|-&lt;br /&gt;
|charecters&lt;br /&gt;
|char&lt;br /&gt;
|}&lt;br /&gt;
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, &amp;quot;My deposit&amp;quot; is not a valid variable name, but &amp;quot;MyDeposit&amp;quot; is. Note that capitalizations can be useful for readability. Furthermore, variables should not start with digits, or with an underscore &amp;quot;_&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
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 &amp;quot;k&amp;quot;, as &amp;quot;k&amp;quot; is not an integer. The code segments below illustrate the process of initialization:&lt;br /&gt;
 int a;// not initialized, which is ok!&lt;br /&gt;
&lt;br /&gt;
 double b=1.23;/* Note that the 1.23 value matches with the “double” type which is a rational number*/&lt;br /&gt;
&lt;br /&gt;
 char MyVariable = “h”; //note the semicolons!&lt;br /&gt;
The following will produce an error, which will disable the compiler from compiling your code:&lt;br /&gt;
 char YourVariable= 1.23; // 1.23 is not a character!&lt;br /&gt;
Variables can be classified into either global or local variables. The main difference is the scope at which they can be accessed. A global variable can be accessed by all functions that exist within a program, whereas a local variable can be accessed through only the function where it is declared. The example below illustrates this well [https://www.arduino.cc/reference/en/language/variables/variable-scope-qualifiers/scope/&amp;lt;nowiki&amp;gt;]:&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 /* There are two functions in this program: setup() and loop(), and three variables: &amp;quot;k&amp;quot;, &amp;quot;i&amp;quot;, &amp;quot;f&amp;quot;.*/&lt;br /&gt;
&lt;br /&gt;
 int k;  // any function will see this variable, thus called a global variable.&lt;br /&gt;
&lt;br /&gt;
 void setup() {&lt;br /&gt;
&lt;br /&gt;
   // ... }&lt;br /&gt;
&lt;br /&gt;
 void loop() {&lt;br /&gt;
&lt;br /&gt;
   int i;    // &amp;quot;i&amp;quot; is only &amp;quot;visible&amp;quot; inside of &amp;quot;loop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
   float f; }  // &amp;quot;f&amp;quot; is only &amp;quot;visible&amp;quot; inside of &amp;quot;loop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 .....// some lines of code}&lt;br /&gt;
&lt;br /&gt;
===Arduino IDE===&lt;br /&gt;
After getting introduced to some of the basic structures of coding, its important to get to know the integrated development environment, or IDE that the coder will use to edit and compile the written programmes. For all Arduino boards, the IDE used is the Arduino IDE, available online at: https://www.arduino.cc/en/software. The following figure guides the users to the basic on the basic options available on the IDE:&lt;br /&gt;
&lt;br /&gt;
[[File:Arduino IDE2.jpg|974x974px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Blink program====&lt;br /&gt;
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&amp;gt;Examples folder. Amongst the most basic is the &amp;quot;Blink&amp;quot; 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&#039;s computer. This program is located in Files&amp;gt;Examples&amp;gt;01.Basics&amp;gt;Blink.  &lt;br /&gt;
&lt;br /&gt;
The following provides an overview of the different functions used in this program:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Table 4: Overview of functions used in the Blink program&lt;br /&gt;
!Function&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Setup()&lt;br /&gt;
|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.&lt;br /&gt;
|-&lt;br /&gt;
|Loop()&lt;br /&gt;
|The loop function acts as the program&#039;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.&lt;br /&gt;
|-&lt;br /&gt;
|pinMode (pin number, INPUT or Output)&lt;br /&gt;
|Configures the pin to behave as either an INPUT or an OUTPUT.&lt;br /&gt;
|-&lt;br /&gt;
|digitalWrite (pin number, HIGH or LOW)&lt;br /&gt;
|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.&lt;br /&gt;
|-&lt;br /&gt;
|Delay (time in milliseconds)&lt;br /&gt;
|Pauses the program for the amount of time specified in the parameter.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Basic Understanding of Sensors==&lt;br /&gt;
&lt;br /&gt;
===Introduction to Sensors===&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
===Introduction to Circuits===&lt;br /&gt;
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).  &lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
===Introduction to basic electronic components===&lt;br /&gt;
&lt;br /&gt;
====LED====&lt;br /&gt;
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).&lt;br /&gt;
&lt;br /&gt;
====Pushbutton====&lt;br /&gt;
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&#039;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.&lt;br /&gt;
&lt;br /&gt;
====Resistor====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
====Breadboard====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
===Arduino in Tinkercad===&lt;br /&gt;
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: &amp;lt;nowiki&amp;gt;https://www.tinkercad.com&amp;lt;/nowiki&amp;gt; , or alternatively, login with google, facebook etc… &lt;br /&gt;
&lt;br /&gt;
Once your account is created, the user can navigate to the “circuits” tab in the left-hand menu, and click on “ Create new circuit”. This opens a new tab, where the available circuit components can be viewed in the right-hand menu.&lt;br /&gt;
&lt;br /&gt;
To start putting a circuit together, the user can drag the components from the library and place it in the “building zone”, noted above. In addition, note the “Code” button in the top bar; this button enables the users to program the arduino to perform specific functions. To start the simulation, the “start simulation” is available in the top tab.&lt;/div&gt;</summary>
		<author><name>Essraaalqassab</name></author>
	</entry>
	<entry>
		<id>https://en.wiki.makerepo.com/index.php?title=File:Arduino_IDE2.jpg&amp;diff=1055</id>
		<title>File:Arduino IDE2.jpg</title>
		<link rel="alternate" type="text/html" href="https://en.wiki.makerepo.com/index.php?title=File:Arduino_IDE2.jpg&amp;diff=1055"/>
		<updated>2021-08-30T11:23:42Z</updated>

		<summary type="html">&lt;p&gt;Essraaalqassab: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Essraaalqassab</name></author>
	</entry>
	<entry>
		<id>https://en.wiki.makerepo.com/index.php?title=Digital_technologies/Arduino/Arduino-_Beginner&amp;diff=1054</id>
		<title>Digital technologies/Arduino/Arduino- Beginner</title>
		<link rel="alternate" type="text/html" href="https://en.wiki.makerepo.com/index.php?title=Digital_technologies/Arduino/Arduino-_Beginner&amp;diff=1054"/>
		<updated>2021-08-30T10:58:37Z</updated>

		<summary type="html">&lt;p&gt;Essraaalqassab: /* Basic Understanding of Sensors */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Understanding of the Arduino Board==&lt;br /&gt;
&lt;br /&gt;
===What is a micro-controller?===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
===Arduino board sections===&lt;br /&gt;
There are 5 important board sections that the user must have a solid understanding of to start utilizing the board&#039;s functions. These sections are outlined below:&lt;br /&gt;
[[File:Sections of an Arduino board.svg|alt=Figure 1: Arduino board sections|border|center|Figure 1: Arduino board sections]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Table 1: Description of the 5 main sections of an arduino board&lt;br /&gt;
!Section&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|USB connector&lt;br /&gt;
|The arduino can be powered through a type A/B USB connector from the user’s laptop/computer to the board. This port is also used to upload programs onto the board.&lt;br /&gt;
|-&lt;br /&gt;
|Power port&lt;br /&gt;
|The arduino board can be powered through an AC-DC adapter or a battery. The power jack of the board can be connected to a 2.1 mm center-positive plug.&lt;br /&gt;
|-&lt;br /&gt;
|Power pins&lt;br /&gt;
|To power external circuitry, 3 standard voltages (0 V or GND, 3.3V, 5V) are provided in the ‘Power Pins’ section of the board.&lt;br /&gt;
|-&lt;br /&gt;
|Digital pins&lt;br /&gt;
|Digital pins on the arduino board can be configured as an input or an output. When the pins are configured as an input, the pins will send a binary signal into the board, which enables the board to read the sensed logic voltage levels (ie. either 0/low or 1/high). If the digital pins are configured as an output, then the arduino will send a binary signal to the pin.  There is a built-in LED pre-connected to digital pin 13. When the value of the pin is driven HIGH by the processor, the LED on the board is illuminated, when the pin is LOW, it&#039;s turned off. This can be used as a status indicator when programs are running.&lt;br /&gt;
|-&lt;br /&gt;
|Analog pins&lt;br /&gt;
|The analog pins allow the arduino board to receive or send an analog signal. These signals need to be converted into digital representations which can be used inside the software-executing portion of the Arduino processor (which only uses binary digital signals). Analog signal inputs can be accepted for conversion into digital via the Analog Pins header. The Analog to Digital (A/D or “A to D”) conversion is done inside the processor with specialized circuitry.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Analog VS Digital signals===&lt;br /&gt;
A signal is an electromagnetic or electric current that transfers information from one source to another. There are two main types of signals used in electronics: analog or digital signals. &lt;br /&gt;
&lt;br /&gt;
====Analog signals====&lt;br /&gt;
This is a time-varying and continuous type of signal that is often used to measure changes in light, sound, position, temperature, or other physical phenomena. When plotted in a voltage-time graph, the result is often a continuous and smooth curve.&lt;br /&gt;
&lt;br /&gt;
====Digital signals====&lt;br /&gt;
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).&lt;br /&gt;
&lt;br /&gt;
==Basic Understanding of Programming==&lt;br /&gt;
&lt;br /&gt;
===Introduction to coding===&lt;br /&gt;
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, one must have the Arduino IDE downloaded, which can be accessed from here: &amp;lt;nowiki&amp;gt;https://www.arduino.cc/en/software&amp;lt;/nowiki&amp;gt;. The arduino IDE provides users with a programming editor as well as a way to easily upload and compile programs onto the arduino board. Programmes in the arduino IDE are called sketches, and are normally saved with the .ino extension. The language used to programme 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. &lt;br /&gt;
&lt;br /&gt;
Some other basic considerations:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Table 2: Overview of some basic elements of programming&lt;br /&gt;
!&lt;br /&gt;
!Symbol&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Brackets&lt;br /&gt;
|{....}&lt;br /&gt;
|Starts and ends a function or is used to group different statements together&lt;br /&gt;
|-&lt;br /&gt;
|Comment bars&lt;br /&gt;
|/* ….*/ or //&lt;br /&gt;
|Allows coders to add comments to their code to make it more readable to other humans. Important to note that all comments do not get executed by the program and therefore do not alter the program!&lt;br /&gt;
|-&lt;br /&gt;
|Semicolon&lt;br /&gt;
|...;&lt;br /&gt;
|This character ends a program statement and lets the compiler know ‘the end of the current line/statement’&lt;br /&gt;
|}&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
===Variables===&lt;br /&gt;
Variables allow  information in programmes to be stored or changed within the code. In order to create a variable within your program, it must be declared. To declare a variable, the coder has to write the type of variable to be declared first. Different types exist, most commonly used are:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Table 3: Summary of commonly used variable types&lt;br /&gt;
!Type&lt;br /&gt;
!Syntax&lt;br /&gt;
|-&lt;br /&gt;
|Integers&lt;br /&gt;
|int&lt;br /&gt;
|-&lt;br /&gt;
|non-integers (rational and non-rational)&lt;br /&gt;
|double or float&lt;br /&gt;
|-&lt;br /&gt;
|charecters&lt;br /&gt;
|char&lt;br /&gt;
|}&lt;br /&gt;
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, &amp;quot;My deposit&amp;quot; is not a valid variable name, but &amp;quot;MyDeposit&amp;quot; is. Note that capitalizations can be useful for readability. Furthermore, variables should not start with digits, or with an underscore &amp;quot;_&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
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 &amp;quot;k&amp;quot;, as &amp;quot;k&amp;quot; is not an integer. The code segments below illustrate the process of initialization:&lt;br /&gt;
 int a;// not initialized, which is ok!&lt;br /&gt;
&lt;br /&gt;
 double b=1.23;/* Note that the 1.23 value matches with the “double” type which is a rational number*/&lt;br /&gt;
&lt;br /&gt;
 char MyVariable = “h”; //note the semicolons!&lt;br /&gt;
The following will produce an error, which will disable the compiler from compiling your code:&lt;br /&gt;
 char YourVariable= 1.23; // 1.23 is not a character!&lt;br /&gt;
Variables can be classified into either global or local variables. The main difference is the scope at which they can be accessed. A global variable can be accessed by all functions that exist within a program, whereas a local variable can be accessed through only the function where it is declared. The example below illustrates this well [https://www.arduino.cc/reference/en/language/variables/variable-scope-qualifiers/scope/&amp;lt;nowiki&amp;gt;]:&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 /* There are two functions in this program: setup() and loop(), and three variables: &amp;quot;k&amp;quot;, &amp;quot;i&amp;quot;, &amp;quot;f&amp;quot;.*/&lt;br /&gt;
&lt;br /&gt;
 int k;  // any function will see this variable, thus called a global variable.&lt;br /&gt;
&lt;br /&gt;
 void setup() {&lt;br /&gt;
&lt;br /&gt;
   // ... }&lt;br /&gt;
&lt;br /&gt;
 void loop() {&lt;br /&gt;
&lt;br /&gt;
   int i;    // &amp;quot;i&amp;quot; is only &amp;quot;visible&amp;quot; inside of &amp;quot;loop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
   float f; }  // &amp;quot;f&amp;quot; is only &amp;quot;visible&amp;quot; inside of &amp;quot;loop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 .....// some lines of code}&lt;br /&gt;
&lt;br /&gt;
===Arduino IDE===&lt;br /&gt;
After getting introduced to some of the basic structures of coding, its important to get to know the integrated development enviroment, or IDE that the coder will use to edit and compile the written programmes. For all arduino boards, the IDE used is the Arduino IDE, available online at: https://www.arduino.cc/en/software. The following figure guides the users to the basic on the basic options available on the IDE.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Blink program====&lt;br /&gt;
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&amp;gt;Examples folder. Amongst the most basic is the &amp;quot;Blink&amp;quot; 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&#039;s computer. This program is located in Files&amp;gt;Examples&amp;gt;01.Basics&amp;gt;Blink.  &lt;br /&gt;
&lt;br /&gt;
The following provides an overview of the different functions used in this program:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Table 4: Overview of functions used in the Blink program&lt;br /&gt;
!Function&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Setup()&lt;br /&gt;
|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.&lt;br /&gt;
|-&lt;br /&gt;
|Loop()&lt;br /&gt;
|The loop function acts as the program&#039;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.&lt;br /&gt;
|-&lt;br /&gt;
|pinMode (pin number, INPUT or Output)&lt;br /&gt;
|Configures the pin to behave as either an INPUT or an OUTPUT.&lt;br /&gt;
|-&lt;br /&gt;
|digitalWrite (pin number, HIGH or LOW)&lt;br /&gt;
|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.&lt;br /&gt;
|-&lt;br /&gt;
|Delay (time in milliseconds)&lt;br /&gt;
|Pauses the program for the amount of time specified in the parameter.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Basic Understanding of Sensors==&lt;br /&gt;
&lt;br /&gt;
===Introduction to Sensors===&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
===Introduction to Circuits===&lt;br /&gt;
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).  &lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
===Introduction to basic electronic components===&lt;br /&gt;
&lt;br /&gt;
====LED====&lt;br /&gt;
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).&lt;br /&gt;
&lt;br /&gt;
====Pushbutton====&lt;br /&gt;
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&#039;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.&lt;br /&gt;
&lt;br /&gt;
====Resistor====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
====Breadboard====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
===Arduino in Tinkercad===&lt;br /&gt;
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: &amp;lt;nowiki&amp;gt;https://www.tinkercad.com&amp;lt;/nowiki&amp;gt; , or alternatively, login with google, facebook etc… &lt;br /&gt;
&lt;br /&gt;
Once your account is created, the user can navigate to the “circuits” tab in the left-hand menu, and click on “ Create new circuit”. This opens a new tab, where the available circuit components can be viewed in the right-hand menu.&lt;br /&gt;
&lt;br /&gt;
To start putting a circuit together, the user can drag the components from the library and place it in the “building zone”, noted above. In addition, note the “Code” button in the top bar; this button enables the users to program the arduino to perform specific functions. To start the simulation, the “start simulation” is available in the top tab.&lt;/div&gt;</summary>
		<author><name>Essraaalqassab</name></author>
	</entry>
	<entry>
		<id>https://en.wiki.makerepo.com/index.php?title=File:AvD.jpg&amp;diff=1053</id>
		<title>File:AvD.jpg</title>
		<link rel="alternate" type="text/html" href="https://en.wiki.makerepo.com/index.php?title=File:AvD.jpg&amp;diff=1053"/>
		<updated>2021-08-30T10:54:23Z</updated>

		<summary type="html">&lt;p&gt;Essraaalqassab: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Essraaalqassab</name></author>
	</entry>
	<entry>
		<id>https://en.wiki.makerepo.com/index.php?title=Digital_technologies/Arduino/Arduino-_Beginner&amp;diff=1052</id>
		<title>Digital technologies/Arduino/Arduino- Beginner</title>
		<link rel="alternate" type="text/html" href="https://en.wiki.makerepo.com/index.php?title=Digital_technologies/Arduino/Arduino-_Beginner&amp;diff=1052"/>
		<updated>2021-08-24T22:30:41Z</updated>

		<summary type="html">&lt;p&gt;Essraaalqassab: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Understanding of the Arduino Board==&lt;br /&gt;
&lt;br /&gt;
===What is a micro-controller?===&lt;br /&gt;
A mico-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.&lt;br /&gt;
&lt;br /&gt;
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 the I/O pins that will be discussed next in this section. Arduinos boards are used by a diverse subset of people, including students,hobbyists, engineers, researchers, and more due to the simple layout and programmability of the arduino boards.&lt;br /&gt;
&lt;br /&gt;
===Arduino board sections===&lt;br /&gt;
There are 5 important board sections that the user must have a solid understanding of to complete the project. These sections are outlined below:&lt;br /&gt;
[[File:Sections of an Arduino board.svg|alt=Figure 1: Arduino board sections|border|center|Figure 1: Arduino board sections]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Table 1: Description of the 5 main sections of an arduino board&lt;br /&gt;
!Section&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|USB connector&lt;br /&gt;
|The arduino can be powered through a type A/B USB connector from the user’s laptop/computer to the board. This port is also used to upload programs onto the board.&lt;br /&gt;
|-&lt;br /&gt;
|Power port&lt;br /&gt;
|The arduino board can be powered through an AC-DC adapter or a battery. The power jack of the board can be connected to a 2.1 mm center-positive plug.&lt;br /&gt;
|-&lt;br /&gt;
|Power pins&lt;br /&gt;
|To power external circuitry, 3 standard voltages (0 V or GND, 3.3V, 5V) are provided in the ‘Power Pins’ section of the board.&lt;br /&gt;
|-&lt;br /&gt;
|Digital pins&lt;br /&gt;
|Digital pins on the arduino board can be configured as an input or an output. When the pins are configured as an input, the pins will send a binary signal into the board, which enables the board to read the sensed logic voltage levels (ie. either 0/low or 1/high). If the digital pins are configured as an output, then the arduino will send a binary signal to the pin.  There is a built-in LED pre-connected to digital pin 13. When the value of the pin is driven HIGH by the processor, the LED on the board is illuminated, when the pin is LOW, it&#039;s turned off. This can be used as a status indicator when programs are running.&lt;br /&gt;
|-&lt;br /&gt;
|Analog pins&lt;br /&gt;
|The analog pins allow the arduino board to receive or send an analog signal. These signals need to be converted into digital representations which can be used inside the software-executing portion of the Arduino processor (which only uses binary digital signals). Analog signal inputs can be accepted for conversion into digital via the Analog Pins header. The Analog to Digital (A/D or “A to D”) conversion is done inside the processor with specialized circuitry.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Analog VS Digital signals===&lt;br /&gt;
A signal is an electromagnetic or electric current that transfers information from one source to another. There are two main types of signals used in electronics: analog or digital signals. &lt;br /&gt;
&lt;br /&gt;
====Analog signals====&lt;br /&gt;
This is a time-varying and continuous type of signal that is often used to measure changes in light, sound, position, temperature, or other physical phenomena. When plotted in a voltage-time graph, the result is often a continuous and smooth curve.&lt;br /&gt;
&lt;br /&gt;
====Digital signals====&lt;br /&gt;
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).&lt;br /&gt;
&lt;br /&gt;
==Basic Understanding of Programming==&lt;br /&gt;
&lt;br /&gt;
===Introduction to coding===&lt;br /&gt;
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, one must have the Arduino IDE downloaded, which can be accessed from here: &amp;lt;nowiki&amp;gt;https://www.arduino.cc/en/software&amp;lt;/nowiki&amp;gt;. The arduino IDE provides users with a programming editor as well as a way to easily upload and compile programs onto the arduino board. Programmes in the arduino IDE are called sketches, and are normally saved with the .ino extension. The language used to programme 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. &lt;br /&gt;
&lt;br /&gt;
Some other basic considerations:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Table 2: Overview of some basic elements of programming&lt;br /&gt;
!&lt;br /&gt;
!Symbol&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Brackets&lt;br /&gt;
|{....}&lt;br /&gt;
|Starts and ends a function or is used to group different statements together&lt;br /&gt;
|-&lt;br /&gt;
|Comment bars&lt;br /&gt;
|/* ….*/ or //&lt;br /&gt;
|Allows coders to add comments to their code to make it more readable to other humans. Important to note that all comments do not get executed by the program and therefore do not alter the program!&lt;br /&gt;
|-&lt;br /&gt;
|Semicolon&lt;br /&gt;
|...;&lt;br /&gt;
|This character ends a program statement and lets the compiler know ‘the end of the current line/statement’&lt;br /&gt;
|}&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
===Variables===&lt;br /&gt;
Variables allow  information in programmes to be stored or changed within the code. In order to create a variable within your program, it must be declared. To declare a variable, the coder has to write the type of variable to be declared first. Different types exist, most commonly used are:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Table 3: Summary of commonly used variable types&lt;br /&gt;
!Type&lt;br /&gt;
!Syntax&lt;br /&gt;
|-&lt;br /&gt;
|Integers&lt;br /&gt;
|int&lt;br /&gt;
|-&lt;br /&gt;
|non-integers (rational and non-rational)&lt;br /&gt;
|double or float&lt;br /&gt;
|-&lt;br /&gt;
|charecters&lt;br /&gt;
|char&lt;br /&gt;
|}&lt;br /&gt;
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, &amp;quot;My deposit&amp;quot; is not a valid variable name, but &amp;quot;MyDeposit&amp;quot; is. Note that capitalizations can be useful for readability. Furthermore, variables should not start with digits, or with an underscore &amp;quot;_&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
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 &amp;quot;k&amp;quot;, as &amp;quot;k&amp;quot; is not an integer. The code segments below illustrate the process of initialization:&lt;br /&gt;
 int a;// not initialized, which is ok!&lt;br /&gt;
&lt;br /&gt;
 double b=1.23;/* Note that the 1.23 value matches with the “double” type which is a rational number*/&lt;br /&gt;
&lt;br /&gt;
 char MyVariable = “h”; //note the semicolons!&lt;br /&gt;
The following will produce an error, which will disable the compiler from compiling your code:&lt;br /&gt;
 char YourVariable= 1.23; // 1.23 is not a character!&lt;br /&gt;
Variables can be classified into either global or local variables. The main difference is the scope at which they can be accessed. A global variable can be accessed by all functions that exist within a program, whereas a local variable can be accessed through only the function where it is declared. The example below illustrates this well [https://www.arduino.cc/reference/en/language/variables/variable-scope-qualifiers/scope/&amp;lt;nowiki&amp;gt;]:&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 /* There are two functions in this program: setup() and loop(), and three variables: &amp;quot;k&amp;quot;, &amp;quot;i&amp;quot;, &amp;quot;f&amp;quot;.*/&lt;br /&gt;
&lt;br /&gt;
 int k;  // any function will see this variable, thus called a global variable.&lt;br /&gt;
&lt;br /&gt;
 void setup() {&lt;br /&gt;
&lt;br /&gt;
   // ... }&lt;br /&gt;
&lt;br /&gt;
 void loop() {&lt;br /&gt;
&lt;br /&gt;
   int i;    // &amp;quot;i&amp;quot; is only &amp;quot;visible&amp;quot; inside of &amp;quot;loop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
   float f; }  // &amp;quot;f&amp;quot; is only &amp;quot;visible&amp;quot; inside of &amp;quot;loop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 .....// some lines of code}&lt;br /&gt;
&lt;br /&gt;
===Arduino IDE===&lt;br /&gt;
After getting introduced to some of the basic structures of coding, its important to get to know the integrated development enviroment, or IDE that the coder will use to edit and compile the written programmes. For all arduino boards, the IDE used is the Arduino IDE, available online at: https://www.arduino.cc/en/software. The following figure guides the users to the basic on the basic options available on the IDE.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Blink program====&lt;br /&gt;
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&amp;gt;Examples folder. Amongst the most basic is the &amp;quot;Blink&amp;quot; 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&#039;s computer. This program is located in Files&amp;gt;Examples&amp;gt;01.Basics&amp;gt;Blink.  &lt;br /&gt;
&lt;br /&gt;
The following provides an overview of the different functions used in this program:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Table 4: Overview of functions used in the Blink program&lt;br /&gt;
!Function&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Setup()&lt;br /&gt;
|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.&lt;br /&gt;
|-&lt;br /&gt;
|Loop()&lt;br /&gt;
|The loop function acts as the program&#039;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.&lt;br /&gt;
|-&lt;br /&gt;
|pinMode (pin number, INPUT or Output)&lt;br /&gt;
|Configures the pin to behave as either an INPUT or an OUTPUT.&lt;br /&gt;
|-&lt;br /&gt;
|digitalWrite (pin number, HIGH or LOW)&lt;br /&gt;
|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.&lt;br /&gt;
|-&lt;br /&gt;
|Delay (time in milliseconds)&lt;br /&gt;
|Pauses the program for the amount of time specified in the parameter.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Basic Understanding of Sensors==&lt;br /&gt;
&lt;br /&gt;
===Introduction to Sensors===&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
=== Introduction to Circuits ===&lt;br /&gt;
A circuit is a pathway where electricity can flow through from the negative (cathode) to the positive (anode) end of a power source. They are essential to development of many appliances and robotics appliances. In fact, the Arduino board is a collection of circuits that are used to run processes, thus called an Integrated Circuit, or IC. Microcontrollers and chips are considered to be ICs because of the fact that they are composed of many smaller circuits. &lt;br /&gt;
&lt;br /&gt;
===Introduction to basic electronic components===&lt;br /&gt;
&lt;br /&gt;
====LED====&lt;br /&gt;
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).&lt;br /&gt;
&lt;br /&gt;
====Pushbutton====&lt;br /&gt;
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&#039;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.&lt;br /&gt;
&lt;br /&gt;
====Resistor====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
====Breadboard====&lt;br /&gt;
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.&lt;/div&gt;</summary>
		<author><name>Essraaalqassab</name></author>
	</entry>
	<entry>
		<id>https://en.wiki.makerepo.com/index.php?title=Digital_technologies/Arduino/Arduino-_Beginner&amp;diff=1051</id>
		<title>Digital technologies/Arduino/Arduino- Beginner</title>
		<link rel="alternate" type="text/html" href="https://en.wiki.makerepo.com/index.php?title=Digital_technologies/Arduino/Arduino-_Beginner&amp;diff=1051"/>
		<updated>2021-08-24T22:02:23Z</updated>

		<summary type="html">&lt;p&gt;Essraaalqassab: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Understanding of the Arduino Board==&lt;br /&gt;
&lt;br /&gt;
===What is a micro-controller?===&lt;br /&gt;
A mico-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.&lt;br /&gt;
&lt;br /&gt;
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 the I/O pins that will be discussed next in this section. Arduinos boards are used by a diverse subset of people, including students,hobbyists, engineers, researchers, and more due to the simple layout and programmability of the arduino boards.&lt;br /&gt;
&lt;br /&gt;
===Arduino board sections===&lt;br /&gt;
There are 5 important board sections that the user must have a solid understanding of to complete the project. These sections are outlined below:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Table 1: Description of the 5 main sections of an arduino board&lt;br /&gt;
!Section&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|USB connector&lt;br /&gt;
|The arduino can be powered through a type A/B USB connector from the user’s laptop/computer to the board. This port is also used to upload programs onto the board.&lt;br /&gt;
|-&lt;br /&gt;
|Power port&lt;br /&gt;
|The arduino board can be powered through an AC-DC adapter or a battery. The power jack of the board can be connected to a 2.1 mm center-positive plug.&lt;br /&gt;
|-&lt;br /&gt;
|Power pins&lt;br /&gt;
|To power external circuitry, 3 standard voltages (0 V or GND, 3.3V, 5V) are provided in the ‘Power Pins’ section of the board.&lt;br /&gt;
|-&lt;br /&gt;
|Digital pins&lt;br /&gt;
|Digital pins on the arduino board can be configured as an input or an output. When the pins are configured as an input, the pins will send a binary signal into the board, which enables the board to read the sensed logic voltage levels (ie. either 0/low or 1/high). If the digital pins are configured as an output, then the arduino will send a binary signal to the pin.  There is a built-in LED pre-connected to digital pin 13. When the value of the pin is driven HIGH by the processor, the LED on the board is illuminated, when the pin is LOW, it&#039;s turned off. This can be used as a status indicator when programs are running.&lt;br /&gt;
|-&lt;br /&gt;
|Analog pins&lt;br /&gt;
|The analog pins allow the arduino board to receive or send an analog signal. These signals need to be converted into digital representations which can be used inside the software-executing portion of the Arduino processor (which only uses binary digital signals). Analog signal inputs can be accepted for conversion into digital via the Analog Pins header. The Analog to Digital (A/D or “A to D”) conversion is done inside the processor with specialized circuitry.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Analog VS Digital signals===&lt;br /&gt;
A signal is an electromagnetic or electric current that transfers information from one source to another. There are two main types of signals used in electronics: analog or digital signals. &lt;br /&gt;
&lt;br /&gt;
====Analog signals====&lt;br /&gt;
This is a time-varying and continuous type of signal that is often used to measure changes in light, sound, position, temperature, or other physical phenomena. When plotted in a voltage-time graph, the result is often a continuous and smooth curve.&lt;br /&gt;
&lt;br /&gt;
====Digital signals====&lt;br /&gt;
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).&lt;br /&gt;
&lt;br /&gt;
==Basic Understanding of Programming==&lt;br /&gt;
&lt;br /&gt;
===Introduction to coding===&lt;br /&gt;
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, one must have the Arduino IDE downloaded, which can be accessed from here: &amp;lt;nowiki&amp;gt;https://www.arduino.cc/en/software&amp;lt;/nowiki&amp;gt;. The arduino IDE provides users with a programming editor as well as a way to easily upload and compile programs onto the arduino board. Programmes in the arduino IDE are called sketches, and are normally saved with the .ino extension. The language used to programme 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. &lt;br /&gt;
&lt;br /&gt;
Some other basic considerations:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Table 2: Overview of some basic elements of programming&lt;br /&gt;
!&lt;br /&gt;
!Symbol&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Brackets&lt;br /&gt;
|{....}&lt;br /&gt;
|Starts and ends a function or is used to group different statements together&lt;br /&gt;
|-&lt;br /&gt;
|Comment bars&lt;br /&gt;
|/* ….*/ or //&lt;br /&gt;
|Allows coders to add comments to their code to make it more readable to other humans. Important to note that all comments do not get executed by the program and therefore do not alter the program!&lt;br /&gt;
|-&lt;br /&gt;
|Semicolon&lt;br /&gt;
|...;&lt;br /&gt;
|This character ends a program statement and lets the compiler know ‘the end of the current line/statement’&lt;br /&gt;
|}&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
===Variables===&lt;br /&gt;
Variables allow  information in programmes to be stored or changed within the code. In order to create a variable within your program, it must be declared. To declare a variable, the coder has to write the type of variable to be declared first. Different types exist, most commonly used are:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Table 3: Summary of commonly used variable types&lt;br /&gt;
!Type&lt;br /&gt;
!Syntax&lt;br /&gt;
|-&lt;br /&gt;
|Integers&lt;br /&gt;
|int&lt;br /&gt;
|-&lt;br /&gt;
|non-integers (rational and non-rational)&lt;br /&gt;
|dpuble or float&lt;br /&gt;
|-&lt;br /&gt;
|charecters&lt;br /&gt;
|char&lt;br /&gt;
|}&lt;br /&gt;
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, &amp;quot;My deposit&amp;quot; is not a valid variable name, but &amp;quot;MyDeposit&amp;quot; is. Note that capitalizations can be useful for readability. Furthermore, variables should not start with digits, or with an underscore &amp;quot;_&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
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 &amp;quot;k&amp;quot;, as &amp;quot;k&amp;quot; is not an integer. The code segments below illustrate the process of initialization:&lt;br /&gt;
 int a;// not initialized, which is ok!&lt;br /&gt;
&lt;br /&gt;
 double b=1.23;/* Note that the 1.23 value matches with the “double” type which is a rational number*/&lt;br /&gt;
&lt;br /&gt;
 char MyVariable = “h”; //note the semicolons!&lt;br /&gt;
The following will produce an error, which will disable the compiler from compiling your code:&lt;br /&gt;
 char YourVariable= 1.23; // 1.23 is not a character!&lt;br /&gt;
Variables can be classified into either global or local variables. The main difference is the scope at which they can be accessed. A global variable can be accessed by all functions that exist within a program, whereas a local variable can be accessed through only the function where it is declared. The example below illustrates this well [https://www.arduino.cc/reference/en/language/variables/variable-scope-qualifiers/scope/&amp;lt;nowiki&amp;gt;]:&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 /* There are two functions in this program: setup() and loop(), and three variables: &amp;quot;k&amp;quot;, &amp;quot;i&amp;quot;, &amp;quot;f&amp;quot;.*/&lt;br /&gt;
&lt;br /&gt;
 int k;  // any function will see this variable, thus called a global variable.&lt;br /&gt;
&lt;br /&gt;
 void setup() {&lt;br /&gt;
&lt;br /&gt;
   // ... }&lt;br /&gt;
&lt;br /&gt;
 void loop() {&lt;br /&gt;
&lt;br /&gt;
   int i;    // &amp;quot;i&amp;quot; is only &amp;quot;visible&amp;quot; inside of &amp;quot;loop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
   float f; }  // &amp;quot;f&amp;quot; is only &amp;quot;visible&amp;quot; inside of &amp;quot;loop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 .....// some lines of code}&lt;br /&gt;
&lt;br /&gt;
===Arduino IDE===&lt;br /&gt;
After getting introduced to some of the basic structures of coding, its important to get to know the integrated development enviroment, or IDE that the coder will use to edit and compile the written programmes. For all arduino boards, the IDE used is the Arduino IDE, available online at: https://www.arduino.cc/en/software. The following figure guides the users to the basic on the basic options available on the IDE.&lt;br /&gt;
&lt;br /&gt;
==== Blink program ====&lt;br /&gt;
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&amp;gt;Examples folder. Amongst the most basic is the &amp;quot;Blink&amp;quot; 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&#039;s computer. This program is located in Files&amp;gt;Examples&amp;gt;01.Basics&amp;gt;Blink.  &lt;br /&gt;
&lt;br /&gt;
The following provides an overview of the different functions used in this program:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Table 4: Overview of functions used in the Blink program&lt;br /&gt;
!Function&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Setup()&lt;br /&gt;
|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.&lt;br /&gt;
|-&lt;br /&gt;
|Loop()&lt;br /&gt;
|The loop function acts as the program&#039;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.&lt;br /&gt;
|-&lt;br /&gt;
|pinMode (pin number, INPUT or Output)&lt;br /&gt;
|Configures the pin to behave as either an INPUT or an OUTPUT.&lt;br /&gt;
|-&lt;br /&gt;
|digitalWrite (pin number, HIGH or LOW)&lt;br /&gt;
|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. &lt;br /&gt;
|-&lt;br /&gt;
|Delay (time in milliseconds)&lt;br /&gt;
|Pauses the program for the amount of time specified in the parameter. &lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Basic Understanding of Sensors ==&lt;br /&gt;
&lt;br /&gt;
=== Introduction to Sensors ===&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
=== Introduction to basic electronic components ===&lt;br /&gt;
&lt;br /&gt;
==== LED ====&lt;br /&gt;
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).&lt;br /&gt;
&lt;br /&gt;
==== Pushbutton ====&lt;br /&gt;
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&#039;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.&lt;br /&gt;
&lt;br /&gt;
==== Resistor ====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==== Breadboard ====&lt;br /&gt;
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.&lt;/div&gt;</summary>
		<author><name>Essraaalqassab</name></author>
	</entry>
	<entry>
		<id>https://en.wiki.makerepo.com/index.php?title=Digital_technologies/Arduino/Arduino-_Beginner&amp;diff=1050</id>
		<title>Digital technologies/Arduino/Arduino- Beginner</title>
		<link rel="alternate" type="text/html" href="https://en.wiki.makerepo.com/index.php?title=Digital_technologies/Arduino/Arduino-_Beginner&amp;diff=1050"/>
		<updated>2021-08-22T21:06:03Z</updated>

		<summary type="html">&lt;p&gt;Essraaalqassab: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Understanding of the Arduino Board==&lt;br /&gt;
&lt;br /&gt;
===What is a micro-controller?===&lt;br /&gt;
A mico-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.&lt;br /&gt;
&lt;br /&gt;
===Arduino board sections===&lt;br /&gt;
There are 5 important board sections that the user must have a solid understanding of to complete the project. These sections are outlined below:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Table 1: Description of the 5 main sections of an arduino board&lt;br /&gt;
!Section&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|USB connector&lt;br /&gt;
|The arduino can be powered through a type A/B USB connector from the user’s laptop/computer to the board. This port is also used to upload programs onto the board.&lt;br /&gt;
|-&lt;br /&gt;
|Power port&lt;br /&gt;
|The arduino board can be powered through an AC-DC adapter or a battery. The power jack of the board can be connected to a 2.1 mm center-positive plug.&lt;br /&gt;
|-&lt;br /&gt;
|Power pins&lt;br /&gt;
|To power external circuitry, 3 standard voltages (0 V or GND, 3.3V, 5V) are provided in the ‘Power Pins’ section of the board.&lt;br /&gt;
|-&lt;br /&gt;
|Digital pins&lt;br /&gt;
|Digital pins on the arduino board can be configured as an input or an output. When the pins are configured as an input, the pins will send a binary signal into the board, which enables the board to read the sensed logic voltage levels (ie. either 0/low or 1/high). If the digital pins are configured as an output, then the arduino will send a binary signal to the pin.  There is a built-in LED pre-connected to digital pin 13. When the value of the pin is driven HIGH by the processor, the LED on the board is illuminated, when the pin is LOW, it&#039;s turned off. This can be used as a status indicator when programs are running.&lt;br /&gt;
|-&lt;br /&gt;
|Analog pins&lt;br /&gt;
|The analog pins allow the arduino board to receive or send an analog signal. These signals need to be converted into digital representations which can be used inside the software-executing portion of the Arduino processor (which only uses binary digital signals). Analog signal inputs can be accepted for conversion into digital via the Analog Pins header. The Analog to Digital (A/D or “A to D”) conversion is done inside the processor with specialized circuitry.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Analog VS Digital signals===&lt;br /&gt;
A signal is an electromagnetic or electric current that transfers information from one source to another. There are two main types of signals used in electronics: analog or digital signals. &lt;br /&gt;
&lt;br /&gt;
====Analog signals====&lt;br /&gt;
This is a time-varying and continuous type of signal that is often used to measure changes in light, sound, position, temperature, or other physical phenomena. When plotted in a voltage-time graph, the result is often a continuous and smooth curve.&lt;br /&gt;
&lt;br /&gt;
====Digital signals====&lt;br /&gt;
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).&lt;br /&gt;
&lt;br /&gt;
==Basic Understanding of Programming==&lt;br /&gt;
&lt;br /&gt;
===Introduction to coding===&lt;br /&gt;
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, one must have the Arduino IDE downloaded, which can be accessed from here: &amp;lt;nowiki&amp;gt;https://www.arduino.cc/en/software&amp;lt;/nowiki&amp;gt;. The arduino IDE provides users with a programming editor as well as a way to easily upload and compile programs onto the arduino board. Programmes in the arduino IDE are called sketches, and are normally saved with the .ino extension. The language used to programme 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. &lt;br /&gt;
&lt;br /&gt;
Some other basic considerations:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Table 2: Overview of some basic elements of programming&lt;br /&gt;
!&lt;br /&gt;
!Symbol&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Brackets&lt;br /&gt;
|{....}&lt;br /&gt;
|Starts and ends a function or is used to group different statements together&lt;br /&gt;
|-&lt;br /&gt;
|Comment bars&lt;br /&gt;
|/* ….*/ or //&lt;br /&gt;
|Allows coders to add comments to their code to make it more readable to other humans. Important to note that all comments do not get executed by the program and therefore do not alter the program!&lt;br /&gt;
|-&lt;br /&gt;
|Semicolon&lt;br /&gt;
|...;&lt;br /&gt;
|This character ends a program statement and lets the compiler know ‘the end of the current line/statement’&lt;br /&gt;
|}&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
===Variables===&lt;br /&gt;
Variables allow  information in programmes to be stored or changed within the code. In order to create a variable within your program, it must be declared. To declare a variable, the coder has to write the type of variable to be declared first. Different types exist, most commonly used are:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Table 3: Summary of commonly used variable types&lt;br /&gt;
!Type&lt;br /&gt;
!Syntax&lt;br /&gt;
|-&lt;br /&gt;
|Integers&lt;br /&gt;
|int &lt;br /&gt;
|-&lt;br /&gt;
|non-integers (rational and non-rational)&lt;br /&gt;
|dpuble or float&lt;br /&gt;
|-&lt;br /&gt;
|charecters&lt;br /&gt;
|char&lt;br /&gt;
|}&lt;br /&gt;
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, &amp;quot;My deposit&amp;quot; is not a valid variable name, but &amp;quot;MyDeposit&amp;quot; is. Note that capitalizations can be useful for readability. Furthermore, variables should not start with digits, or with an underscore &amp;quot;_&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
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 &amp;quot;k&amp;quot;, as &amp;quot;k&amp;quot; is not an integer. The code segments below illustrate the process of initialization:&lt;br /&gt;
 int a;// not initialized, which is ok!&lt;br /&gt;
&lt;br /&gt;
 double b=1.23;/* Note that the 1.23 value matches with the “double” type which is a rational number*/&lt;br /&gt;
&lt;br /&gt;
 char MyVariable = “h”; //note the semicolons!&lt;br /&gt;
The following will produce an error, which will disable the compiler from compiling your code:&lt;br /&gt;
 char YourVariable= 1.23; // 1.23 is not a character!&lt;br /&gt;
Variables can be classified into either global or local variables. The main difference is the scope at which they can be accessed. A global variable can be accessed by all functions that exist within a program, whereas a local variable can be accessed through only the function where it is declared. The example below illustrates this well [https://www.arduino.cc/reference/en/language/variables/variable-scope-qualifiers/scope/&amp;lt;nowiki&amp;gt;]:&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 /* There are two functions in this program: setup() and loop(), and three variables: &amp;quot;k&amp;quot;, &amp;quot;i&amp;quot;, &amp;quot;f&amp;quot;.*/&lt;br /&gt;
&lt;br /&gt;
 int k;  // any function will see this variable, thus called a global variable.&lt;br /&gt;
&lt;br /&gt;
 void setup() {&lt;br /&gt;
&lt;br /&gt;
   // ... }&lt;br /&gt;
&lt;br /&gt;
 void loop() {&lt;br /&gt;
&lt;br /&gt;
   int i;    // &amp;quot;i&amp;quot; is only &amp;quot;visible&amp;quot; inside of &amp;quot;loop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
   float f; }  // &amp;quot;f&amp;quot; is only &amp;quot;visible&amp;quot; inside of &amp;quot;loop&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 .....// some lines of code}&lt;br /&gt;
&lt;br /&gt;
=== Arduino IDE ===&lt;br /&gt;
After getting introduced to some of the basic structures of coding, its important to get to know the integrated development enviroment, or IDE that the coder will use to edit and compile the written programmes. For all arduino boards, the IDE used is the Arduino IDE, available online at: https://www.arduino.cc/en/software. &amp;lt;!-- Need to insert a figure here&lt;br /&gt;
 --&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Essraaalqassab</name></author>
	</entry>
	<entry>
		<id>https://en.wiki.makerepo.com/index.php?title=File:Arduino_IDE.png&amp;diff=1049</id>
		<title>File:Arduino IDE.png</title>
		<link rel="alternate" type="text/html" href="https://en.wiki.makerepo.com/index.php?title=File:Arduino_IDE.png&amp;diff=1049"/>
		<updated>2021-08-22T21:06:02Z</updated>

		<summary type="html">&lt;p&gt;Essraaalqassab: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;An overview of the Arduino IDE&lt;/div&gt;</summary>
		<author><name>Essraaalqassab</name></author>
	</entry>
	<entry>
		<id>https://en.wiki.makerepo.com/index.php?title=Digital_technologies/Arduino/Arduino-_Beginner&amp;diff=1048</id>
		<title>Digital technologies/Arduino/Arduino- Beginner</title>
		<link rel="alternate" type="text/html" href="https://en.wiki.makerepo.com/index.php?title=Digital_technologies/Arduino/Arduino-_Beginner&amp;diff=1048"/>
		<updated>2021-08-22T18:55:23Z</updated>

		<summary type="html">&lt;p&gt;Essraaalqassab: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Understanding of the Arduino Board==&lt;br /&gt;
&lt;br /&gt;
===What is a micro-controller?===&lt;br /&gt;
A mico-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.&lt;br /&gt;
&lt;br /&gt;
===Arduino board sections===&lt;br /&gt;
There are 5 important board sections that the user must have a solid understanding of to complete the project. These sections are outlined below:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Table 1: Description of the 5 main sections of an arduino board&lt;br /&gt;
!Section&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|USB connector&lt;br /&gt;
|The arduino can be powered through a type A/B USB connector from the user’s laptop/computer to the board. This port is also used to upload programs onto the board. &lt;br /&gt;
|-&lt;br /&gt;
|Power port&lt;br /&gt;
|The arduino board can be powered through an AC-DC adapter or a battery. The power jack of the board can be connected to a 2.1 mm center-positive plug. &lt;br /&gt;
|-&lt;br /&gt;
|Power pins&lt;br /&gt;
|To power external circuitry, 3 standard voltages (0 V or GND, 3.3V, 5V) are provided in the ‘Power Pins’ section of the board.&lt;br /&gt;
|-&lt;br /&gt;
|Digital pins &lt;br /&gt;
|Digital pins on the arduino board can be configured as an input or an output. When the pins are configured as an input, the pins will send a binary signal into the board, which enables the board to read the sensed logic voltage levels (ie. either 0/low or 1/high). If the digital pins are configured as an output, then the arduino will send a binary signal to the pin.  There is a built-in LED pre-connected to digital pin 13. When the value of the pin is driven HIGH by the processor, the LED on the board is illuminated, when the pin is LOW, it&#039;s turned off. This can be used as a status indicator when programs are running.&lt;br /&gt;
|-&lt;br /&gt;
|Analog pins &lt;br /&gt;
|The analog pins allow the arduino board to receive or send an analog signal. These signals need to be converted into digital representations which can be used inside the software-executing portion of the Arduino processor (which only uses binary digital signals). Analog signal inputs can be accepted for conversion into digital via the Analog Pins header. The Analog to Digital (A/D or “A to D”) conversion is done inside the processor with specialized circuitry.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Analog VS Digital signals ===&lt;br /&gt;
A signal is an electromagnetic or electric current that transfers information from one source to another. There are two main types of signals used in electronics: analog or digital signals. &lt;br /&gt;
&lt;br /&gt;
==== Analog signals ====&lt;br /&gt;
This is a time-varying and continuous type of signal that is often used to measure changes in light, sound, position, temperature, or other physical phenomena. When plotted in a voltage-time graph, the result is often a continuous and smooth curve.&lt;br /&gt;
&lt;br /&gt;
==== Digital signals ====&lt;br /&gt;
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).&lt;br /&gt;
&lt;br /&gt;
== Basic Understanding of Programming ==&lt;br /&gt;
&lt;br /&gt;
=== Introduction to coding ===&lt;br /&gt;
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, one must have the Arduino IDE downloaded, which can be accessed from here: &amp;lt;nowiki&amp;gt;https://www.arduino.cc/en/software&amp;lt;/nowiki&amp;gt;. The arduino IDE provides users with a programming editor as well as a way to easily upload and compile programs onto the arduino board. Programmes in the arduino IDE are called sketches, and are normally saved with the .ino extension. The language used to programme 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. &lt;br /&gt;
&lt;br /&gt;
Some other basic considerations:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Table 2: Overview of some basic elements of programming&lt;br /&gt;
!&lt;br /&gt;
!Symbol&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Brackets&lt;br /&gt;
|{....}&lt;br /&gt;
|Starts and ends a function or is used to group different statements together&lt;br /&gt;
|-&lt;br /&gt;
|Comment bars&lt;br /&gt;
|/* ….*/ or //&lt;br /&gt;
|Allows coders to add comments to their code to make it more readable to other humans. Important to note that all comments do not get executed by the program and therefore do not alter the program! &lt;br /&gt;
|-&lt;br /&gt;
|Semicolon&lt;br /&gt;
|...;&lt;br /&gt;
|This character ends a program statement and lets the compiler know ‘the end of the current line/statement’&lt;br /&gt;
|}&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
=== Variables ===&lt;/div&gt;</summary>
		<author><name>Essraaalqassab</name></author>
	</entry>
	<entry>
		<id>https://en.wiki.makerepo.com/index.php?title=Digital_technologies/Arduino/Arduino-_Beginner&amp;diff=1047</id>
		<title>Digital technologies/Arduino/Arduino- Beginner</title>
		<link rel="alternate" type="text/html" href="https://en.wiki.makerepo.com/index.php?title=Digital_technologies/Arduino/Arduino-_Beginner&amp;diff=1047"/>
		<updated>2021-08-22T18:28:57Z</updated>

		<summary type="html">&lt;p&gt;Essraaalqassab: /* Understanding of the Arduino Board */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Understanding of the Arduino Board==&lt;br /&gt;
&lt;br /&gt;
===What is a micro-controller?===&lt;br /&gt;
A mico-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.&lt;br /&gt;
&lt;br /&gt;
=== Arduino board sections ===&lt;br /&gt;
There are 5 important board sections that the user must have a solid understanding of to complete the project. These sections are outlined below:&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Essraaalqassab</name></author>
	</entry>
	<entry>
		<id>https://en.wiki.makerepo.com/index.php?title=File:Sections_of_an_Arduino_board.svg&amp;diff=1046</id>
		<title>File:Sections of an Arduino board.svg</title>
		<link rel="alternate" type="text/html" href="https://en.wiki.makerepo.com/index.php?title=File:Sections_of_an_Arduino_board.svg&amp;diff=1046"/>
		<updated>2021-08-22T18:28:50Z</updated>

		<summary type="html">&lt;p&gt;Essraaalqassab: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Sections of an Arduino board&lt;/div&gt;</summary>
		<author><name>Essraaalqassab</name></author>
	</entry>
	<entry>
		<id>https://en.wiki.makerepo.com/index.php?title=Digital_technologies/Arduino/Arduino-_Beginner&amp;diff=1045</id>
		<title>Digital technologies/Arduino/Arduino- Beginner</title>
		<link rel="alternate" type="text/html" href="https://en.wiki.makerepo.com/index.php?title=Digital_technologies/Arduino/Arduino-_Beginner&amp;diff=1045"/>
		<updated>2021-08-22T18:18:52Z</updated>

		<summary type="html">&lt;p&gt;Essraaalqassab: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Understanding of the Arduino Board ==&lt;br /&gt;
&lt;br /&gt;
=== What is a micro-controller? ===&lt;br /&gt;
A microcontroller is a compact integrated circuit that receives input from the environment, processes the input, then produces an output. It receives input from its I/O pins and processes the signals received using the CPU onboard the chip. Microcontrollers are usually embedded in larger systems and are utilized in many areas of life including vehicles, medical devices, home appliances, and more.&lt;/div&gt;</summary>
		<author><name>Essraaalqassab</name></author>
	</entry>
	<entry>
		<id>https://en.wiki.makerepo.com/index.php?title=GNG_tips_and_tricks&amp;diff=204</id>
		<title>GNG tips and tricks</title>
		<link rel="alternate" type="text/html" href="https://en.wiki.makerepo.com/index.php?title=GNG_tips_and_tricks&amp;diff=204"/>
		<updated>2019-09-14T16:30:44Z</updated>

		<summary type="html">&lt;p&gt;Essraaalqassab: /* Don&amp;#039;t leave things to the last minute!! */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here are a list of topics that your TAs and PMs thought might be useful for you:&lt;br /&gt;
&lt;br /&gt;
==Don&#039;t leave things to the last minute!!==&lt;br /&gt;
The comment that I have most heard from students after they have taken the course is &#039;I wish we would have started earlier&#039;. We are serious...start thinking and prototyping early, don&#039;t leave tasks that you think are simple until the last minute. The deliverables give you a good structure to follow in terms of milestones to hit however don&#039;t wait for them to come, be proactive and get stuff done early.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Know your strengths and weaknesses==&lt;br /&gt;
Knowledge is power! This includes knowing yourself and your teammates. When tackling your project deliverables, divide and conquer! Delegate tasks thoughtfully, keeping in mind what each member&#039;s strengths are.&lt;/div&gt;</summary>
		<author><name>Essraaalqassab</name></author>
	</entry>
</feed>