Thursday 9 August 2018

Arduino and Electronics - Exercises and Quizes

Glow LED with the help of resistors
Glow multiple LEDs with different resistors and see the change in light intensity
Drive servo motor
Drive DC motor with a fan
Tune ultra-sonic sensor and see the readings
Tune infrared sensors with the help of potentiometer and see the readings
Move the arduino robotic car along with Adafruit shield back and forth
Create a line follower

Electronics - Motors

coil of wire with an electric current flowing through it becomes a magnet. Putting iron inside a current-carrying coil greatly increases the strength of the electromagnet. 


Stepper Motor
https://www.youtube.com/watch?v=xlqUiT9gvQs
https://www.youtube.com/watch?v=ChJXW7VDMhw
https://www.youtube.com/watch?v=VfqYN1eG9Zk
https://www.youtube.com/watch?v=Ew6eVGnj7r0

DC motor
https://www.youtube.com/watch?v=LAtPHANEfQo
Coil is placed in a magnetic field. When current is passed through the the coil placed inside the magnetic field, the electromagnetic force is produced and it rotates the coil. Thus electric current is converted into mechanical energy. The shaft rotates, which rotates the components connected to it.



Servo Motor

Electronics - Sensors

IR Object Detection sensor
Ultrasonics Sensor

Arduino - Robotic Car


Car Framework: Line Follower and Wall Follower Code

Adafruit - Shield
If we use microcontroller in stead of shield what is the complexity
Assembly
Arduino IDE
Libraries
Difference between UNO and Mega
PID in hardware
PID in software
Programming
Difference between CPP and Java

Arduino - Concepts

The difference between microcontroller and microprocessor
PWM
How many bits microcontroller
What is the use of each pin in the microcontroller
Input and Output pins
Analog and Digital pins and their practical use

Electronics - Concepts

Semiconductor
Resistor - Color Coding
Short Circuit
Shock
Lightening
Electronics Circuit
Series and Parallel Circuits
Use of multiple microcontrollers
Square Wave
Sinusoidal Wave
Electromagnetic Waves
Precautions




Electronics - Terminology

Vcc
VLSI
Ground
RMS (Root Mean Square)
Ampere
Ohms
TTL

Electronics - Components

Battery


Most batteries contain three basic parts: two electrodes (cathode - positively charged, anode - negatively charged) of two different conductive materials and an electrolyte. Between these electrodes, is the electrolyte. This is a liquid or gel-like substance that contains electrically charged particles (ions). The ions combine with the materials that make up the electrodes, producing chemical reactions that allow a battery to generate an electric current. When a load completes the circuit between two terminals, electrical current leaves (or electrons enter) the cathode during discharge. The electrical current enters (or electrons leave) the anode of the battery. The battery will continue to produce electricity until one or both of the electrodes run out of the substance necessary for the reactions to occur.



DC  (Direct Current)

It is the electricity flowing in constant direction. DC is the kind of electricity made by a battery due to chemical reaction (with definite positive and negative terminals). The intensity of the current can vary with time, but the general direction of movement stays the same at all times.


                                                      Conventional Current Flow




Application of DC 


DC is used in almost all electronics equipment, telecommunication, mobile devices, hearing-aids and more.

DC Voltage

DC Voltage is a voltage associated with a constant (unchanging, unidirectional) current. Voltage can be thought of as the force that pushes electrons through a conductor and the greater the voltage the greater is its ability to “push” the electrons through a given circuit.


AC (Alternating Current)

When a rotating magnet is kept around a set of stationary coils, Alternating Voltage is produced according to Faraday's law of electromagnetic induction. As a result, as shown in the below figure, the direction of current through the resistor keep reversing periodically. The faster the magnet will spin, resulting in an alternating voltage and current that switches directions more often in a given amount of time. 






AC waveform


Sine Wave


Symbol of AC in a circuit





Applications of AC


AC voltage and current is used in high power applications: for example in refrigerators, dishwashers. It is also used to run AC motors. 


https://www.allaboutcircuits.com/textbook/alternating-current/chpt-1/what-is-alternating-current-ac/
https://www.elprocus.com/alternating-current-and-direct-current-and-its-applications/

AC Voltage

It is explained in AC (Alternating Current) section. 

Resistor


The resistor limits the current flow through an electrical/electronics circuit. Resistance is measured in Ohms and its symbol is Ω. Resistors that are chained together in a single line are said to be connected in series. Resistors that have both ends tied together with the two ends of another resistor, are said to be connected in parallel. Resistor color codes are used to identify the resistance of small resistors.

Serial Resistors



Serial Resistor Equation


Rtotal = R1 + R2 + R3 + ….. Rn etc.


Parallel Resistors




Parallel Resistor Equation


parallel resistance







Capacitor


A capacitor works like a tiny battery. It stores electrical energy. It is made up of two metal plates separated by a non-conducting material (dielectric - Teflon, Ceramic). In an electronic circuit the capacitor is shown like below.


A capacitor's storage potential, known as Capacitance, is measured in Farads. Capacitance can be determined from the dimensions or area of the plates and the properties of the dielectric material between the plates. 

Capacitive Reactance is the measure of a capacitor's opposition to AC current. It is derived from the following formula.

capacitive reactance equation

For DC power supply, frequency will be zero and hence the reactance will be infinity. Which directly says that capacitor blocks DC currents.

Applications of the Capacitor


Timer: The higher the value of Capacitance in the circuit, the longer the Lamp will glow.


capacitor circuit



Internal Connection in Astable mode

Convert AC to DC



Filters


High Pass Filter


Low Pass Filter




Inductor

Inductor is a coil of wire wound around a central core. The central core is made up of different types:  Air Core, Iron Core, Ferrite Core. The inductor stores energy in the form of a magnetic field. In an electrical/electronics circuit, the inductor is shown as below. 

inductor circuit


An electric current through the coil creates a magnetic field around the coil. A changing current creates a changing magnetic field. The changing magnetic field creates a voltage which opposes the current that created it. Inductors resist or oppose changes of current but will easily pass a steady state DC current.The property of inductor to oppose the changing current is call inductance. It is measured in a unit called Henry. Inductance increases as the number of turns in the coil increases and it reduces as the number of turns in the coil reduces. 

Inductive Reactance is the measure of a inductor's opposition to AC current. It is derived from the following formula.

inductive reactance

For DC power supply, frequency will be zero and hence the reactance will be zero. Which directly says that inductor acts like "short" for DC current. In other words, inductors resist or oppose AC current but will easily pass a steady state DC current.

Applications of Inductor 


Filters


Low Pass RL Filter


High Pass RL filter


Transformers

Transformer is another popular application of inductors. By combining the inductors of shared magnetic field, we can design a transformer. Transformer is the basic and fundamental component of the power transmission system.These are used to increase or decrease the power in transmission lines to required level, as step up and step down transformers respectively.




step-up-transformer




Cathode


Anode
LED
Transistors
Diodes
Breadboard
Soldering Iron
Potentiometer
IC
Switch
Logic Gates
Flip-Flops
MOS
CMOS
MOSFET
Microprocessor
Microcontroller
Rectifier - Full wave, Half wave rectifier
Filter
AC voltage, DC Voltage
AC Current, DC current
Direction of current
shunt capacitor
transformer
Diode bridge
Electrostatic and Electromotive force
Three phase supply
How windmill generates AC current
How does a square or triangular wave is generated?






Saturday 28 July 2018

Levels of robotics education


Warm-up level:
  1. Learn coding: Start picking up at least one handy programming language. Arduino IDE is good. Python is great. C/C++ will be fantastic. My suggestion would be: Python. There are several reasons for this and later in the road map you will see why.
  2. Learn electronics: Start building basic electronic circuits. It can be as simple as lighting up an LED. Next light up more LEDs. Make a simple traffic signal. Implement switches. Learn the theoretical ideas behind how voltage, current, resistors, transistors, series & parallel circuits work. Explore sensors and servo motors too!
  3. Learn basic assembling: As kids we loved making toys and building stuff. Do the same here. Learn to make some basic structures using wood, acrylic, fiber, or plastic.
  4. Integrate with micro-controller: With knowledge of the above concepts, you should try and test them on a basic micro-controller. After all, you want your circuit to “react”. The most popular choice among hobbyists and beginners is to go with Arduino. Arduino has truly simplified the process of coding and implementing basic reactionary circuits.
(Resources: YouTube, Khan Academy, Code, Coursera, Udemy)
Beginner level:
  1. Learn Object-Oriented Programming: It is not only important to code in robotics but also how to code well. Object-oriented programming (OOP) is a tremendous muscle to grow and earlier you can do this, the more you will thank yourself in the future. OOP isn’t exclusive to Python. However, in Python you can implement these easily and practice. Through OOP, you will learn about classes, methods, inheritance, etc and this is an excellent technique for writing functional, modular, and efficient codes.
  2. Learn physics, probability, and linear algebra: As you are growing from an infant roboticist to an adolescent, it is important that you also know how robotics is written, read, and spoken by others in the community. This robotics language heavily uses physics, probability, and linear algebra. Yes, you may not enjoy these subjects in school or university but trust me you need them if you are serious about robotics. You cannot do computer vision without knowing about matrices. You cannot do path planning without knowing about physics. You cannot do artificial intelligence or machine learning without knowing about probability.
  3. More involved computer skills: Now what do I mean by that? A lot of newcomers to robotics get stumped (I was too!) that they need to learn this new alien looking operating system that has a penguin somewhere next to it. I am talking about Linux operating system. It is imperative that for someone looking to get deeper into robotics should familiarize themselves with Linux. A lot of libraries, packages, and software developed for robotics are distributed very easily and efficiently on Linux environments. Popular linux OS choice: Ubuntu
  4. Embedded systems: Now that you have developed better knowledge of coding, circuitry, theoretical concepts, and familiarity with Linux, we need to implement these on a smaller computer than our laptop. So go ahead and try warmup level concepts along with the above concepts on a mini-computer such as Raspberry Pi or the BeagleBone. Hook on some sensors, servos, and a camera to one of these min-computers, and write some code to sense, move, and detect stuff!
(Resources: YouTube, Khan Academy, Code, Coursera, MIT OCW)
Intermediate level:
  1. Develop theoretical foundations: Here depending on what area of robotics you are interested in, you need to learn more into the theory behind it. Learn about robotic arm manipulation (kinematics & control), perception (computer vision, linear algebra, matrices), machine learning/artificial intelligence (probability, statistics, maths). Do you see how some of the previous concepts are fundamental to these core robotics areas?
  2. Use advanced libraries: Now you need to implement machine learning and/or computer vision algorithms on your robot. After all, the robot should be able to see and think and learn, right? On Python, there are amazing libraries written for implementing machine learning and computer vision algorithms e.g. tensor flow and OpenCV. Similarly, a lot of AI can be practiced on Python as well. Of course you can do the same in C/C++. However, I am trying to keep it consistent here.
  3. Get familiar with ROS: With the knowledge of all of the above, an excellent middle-ware that one should learn is the Robot Operating System (ROS). It can be a little tricky to pick up at first. However, ROS opens up your doors to test advanced algorithms and simulations on robots that you don’t even have! Want to fly a quadcopter? Or navigate a robot autonomously in a map? How about getting an industrial arm to pick up an object? You can do that in ROS via its simulation environment named Gazebo.
  4. More CAD: You may be interested to develop and design complex robots. Start learning 3D design software such as Blender or SolidWorks so that you can design your own robots.
Expert level:
  1. Keep learning and growing: Each concept mentioned above is endless by its own virtue, and to become an expert in robotics, you will need to invest the time and keep learning. You will realize that you need to learn more classifiers or models to detect objects/images better. Or you might need to learn more about control algorithms to optimize your solutions.
  2. More software/hardware: Depending on your area of interest and specialization, you will be doing more and more of coding, algorithmic development, ROS, and/or robotic designing.

References: