microcontroller.pptx microcontroller.pdf
A microcontroller is essentially a small computer on a chip. Like any computer, it has memory, and can be programmed to do calculations, receive input, and generate output. Unlike a PC, it incorporates memory, a CPU, peripherals and I/O interfaces into a single chip. Microcontrollers are ubiquitous, found in almost every electronic device from ovens to iPods. (https://ccrma.stanford.edu/workshops/2006/PID/lectures/ucontrollers.html)
A micro-controller is an integrated circuit. A board contains circuits that should be programmed by a human being to do a specific task. A microcontroller is small and it is designed in such a way that it can perform a specific task such as displaying a LED in microwave. So a microcontroller is basically a hardware that is interpreted by user to perform. Without a proper code or suitable program it is not that useful or a microprocessor is useless. So, if a user wants to turn on red light when a temperature reached on some point , then the programmer have to specify or write a code how will that happen through his/her code.
The first Microcontroller was developed in 1980 by intel. 8051 is one of the most popular 8 bit Microcontroller. ItIt came from early 30’s. Usage of it at that time was very limited. Microcontroller started with vacuum tube in 1993 as transistors started in 1947, ad logic gates in 1960, and in 1970 microprocessor has been introduced. Before invention was very less in number they became more affordable, people started using
them for communication and much more.
Micro controller is almost similar in architecure to a microprocessor. Microcontroller has less processing power and memory as compared to processor because microcontrollers are designed to perform a specific task.
With the help of an above figure, here I explain how a microcontroller is works.
So in an above figure following these steps a microcontroller is executed. In between the PC and microcontroller a programmer is place which simply the work for microcontroller.
Let's start with an interesting talk :https://www.ted.com/talks/massimo_banzi_how_arduino_is_open_sourcing_imagination
As defined on web http://arduino.cc/en/Guide/Introduction
http://www.techopedia.com/definition/27874/arduino
Arduino was founded by David Cuartilelles and Massino Banzi in 2005 at the Interaction Design Institute Ivrea, Italy.
As defined by Techopedia „Arduino refers to an open-source electronics platform or board and the software used to program it. Arduino is designed to make electronics more accessible to artists, designers, hobbyists and ayone interested in creating interactive objects or environments. An Arduino board can be purchased pre-assembled or, because the hardware design is open source, built by hand. Either way, users can adapt the boards to their needs, as well as update and distribute their own versions“.
An Arduino Uno is an open source low-cost microcontroller board based on ATmega328, where uno means one in Italian. Arudino reads sensors and controls things like motors, lights and speeds.Using an Arduino board we can create an interactive display and can share with the world via internet.Arduino is not just used by IT geeks, but also used by artists, hobbyists, students and anyone who dream to play with gadgets.
As David A.Mellis says„Arduino made it possible for people do things they wouldn't have done otherwise“
Arduino is easy to use programmable board for creating projects.It is easy for non-expert programmer too. It cost less than $50 and if someone wants to assemble themselves, that is also possible.
To set up the arduino this link is very helpful http://arduino.cc/en/Guide/Howto.
And if you are interested to make some cool and fun projects, follow this link.http://duino4projects.com/itime-clock-in-a-mac-mini-box-using-arduino/
Name | Processor | Operating Voltage | CPU speed | Analog In/Out | Digital IO/PWM | EPROM [KB] | ||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
Uno | Atmega328 | 5 V/7-12 V | 16 Mhz | 6/0 | 14/6 | 1 |
SRAM | Flash KB | USB | UART | |||
---|---|---|---|---|---|---|
2 | 32 | Regular | 1 |
If you want to compare between the Arduino board then please follow this linkhttp://arduino.cc/en/Products.Compare
Ardunio provides two interfaces, one is a physical hardware and another one is a programming environment.
Arduino is an open source platform.you can download from http://arduino.cc/en/guide/Environment, which is referred as Ardunio Programmer.
Let's start with the term sketch.What is sketch, in general a sketch is to drwa. But i Arduino, an arduino program is called a sketch.It use programming language like C and C++.Arduino IDE is referred as Arduino Programmer, where all the code is written.And If you want to use different IDE that is also possible but you configure and build different tools.
Like other program , after writing a code we need to compile check and load the program in to the board. In this seminar we are more focused on VVVV. So to know the details about Arduino IDE please follow the link i have provided above. http://arduino.cc/en/Guide/HomePage
As defined on web http://arduino.cc/en/Main/arduinoBoardUno And here is one very good video describing about arudino board https://www.youtube.com/watch?v=PRNZVQ3_Uzs
Description of hardware described below:
Arduino uno has four basic function that is:
An arduino board can get connected by using USB or external power supply.In Arduino Uno there are 4 power pins they are:
Now lets talk about I/O pinsArudino has total 20 I/O pins.Board consist of 6 analog pins labeled with yellow line in second figure as Analog 0-5.Analog pins are mostly used to read analog sensors and convert it into digital output that we can read.And Pin 0-13 are digital, which are written in board. These buttons are usually used for digital input i.e telling button is pushed and digital output i.e making LED power on.
It is bit difficult to explain how analog and digital pin works so to get an clear idea how analog pins are connected to digital pins, please follow the link: https://www.youtube.com/watch?v=cUvcnI3f7ec
Here are the list of arduino shileds : http://www.shieldlist.org/
As defined on web http://arduino.cc/en/Main/ArduinoShields
An arduino shield is a board that can be attached to arduino uno boards, which helps to extend their fnctionality by adding additional hardware. Arduino shileds can be stacked, which is very helpful when you are doing two or more proects, that need several additional components.
Like Arduino boards, shields are also available and affordable.Arduino shields provide more functions to your Ardnino board as Ardrino Shields can just stack with each other. There are many Ardnino Shields available, some of them are:-
Here we will be talking about Arduino Ethernet Shield and Arduino Motor Shield
http://arduino.cc/en/Main/ArduinoEthernetShield
Ardrino Ethernet shield allows user to easily connect Ardnino to internet .This shield enables Ardnino to send and receive data from .It is based in Wiznet W5100 ethernet chip. Main use of Arduino Ethernet shield is to send program from one device to another over the internet.Arduino Uno boards generally write program on on e board on one device and send to another. simply, we can use Ethernet shiled, with the help of this board we can transmit our program via Ethernet shield.
For example : if a user wants notification or wants a sms in his/her mobile, whenever you receive a new message in twitter, then with the help of Ethernet shield it is possible.
Please follow this link:
https://www.youtube.com/watch?v=3aTC_qhGsLQ
https://www.youtube.com/watch?v=XMQldXmIj7c
http://arduino.cc/en/Main/ArduinoMotorShieldR3
Ardnino motor Shield allows user to control motor direction and speed using this shield.It is basically used for robotics projects, it enables you to create simple yet cool projects.We can stack arduino motor shield to arduino uno board, and we should always remember that we should give separate power to this shield i.e 12V.Like other shield we have create a sketch which instruct the robots to perform the action.
Please follow the link: http://arduino.cc/en/Main/ArduinoMotorShieldR3 https://www.youtube.com/watch?v=P5mvLqS-UIU https://www.youtube.com/watch?v=vN_gcyWKCxY
There are pins that are always in use by the Shield. For example: A user want to control a speed of fan, He/She needs some more required hardwares like motor of fans. Then by programming in in according to the voltage a user can control the speed of fan.
Ardnino has become one of the most popular platform, and the reason behind it are:-
Now let's see how vvvv patch will work with Arduino board. Here i present a very small example where we have to program a small sketch in Arudino IDE.
Here is the Sketch of the Hello World LED.
/* say hello „world“ to vvvv and blinking LED
int ledPin = 13; LED connected to digital pin 13
void setup()
{
pinMode(ledPin, OUTPUT); sets the digital pin as output
Serial.begin(9600); initializes serial port
}
void loop()
{
Serial.print („hello VVVV“); sends a string via the serial port
Serial.write(10); sends '\n' = ASCII 10
Serial.write(13); sends '\r' = ASCII 13
digitalWrite(ledPin, HIGH); sets the LED on
delay(100); waits for a second
digitalWrite(ledPin, LOW); sets the LED off
delay(100); waits for a second
}
And this is vvvv patch that is drawn to operate the led
So , lets see what actually happened, first we connect LED to Arduino board.Then we have to upload the program to Arduino board.After uploading the program if a LED is blinking in Arduino board then our program in running successfully.
For more examples please follow this link: http://prototypinginterfaces.com/3/
The defination given at phidgets web is „Phidgets are easy to use building blocks and low cost sensing and controlling from PC. Phidget Universal serial bus as interface. Phidgets use sensor,actuator and motors to interact with the physical world.In phidgets implimentation detail is hide by the application program interface. Phidgets are easy to program with any high level language like c++, Java and C# etc“
The following video give basic introduction of phidgets. What you will use phidgets for? https://www.youtube.com/watch?v=ikiTDNLBR88
Physical widgets or phidgets are to physical interfaces what widgets are to graphical user interfaces. Similar to widgets phidgets abstract and package inpu,output devices. They implementation and construction details.They expose functionality through a well defined API. They have an optional on screen interactive interface for displaying and controlling device state.Unlike widgets, phidgets also require a connection manager to track how device appear online, a way to link a software phidget with its physical couterpart, and a simulation model to allow programmer to develop, debug and test a physical interface even when no physical device is present
Phidget hardware interface include a usb port, an interface board available in variable input output size, phidget sensors, phidget motors, actuator controllers, Relays and RFIDs etc. The detail is as under
A phidget interface board available in 16 input output or 8 input outputs. The 8/8/8 interface board contain 8 digital inputs 8 digital outputs and 8 analogue input. It also has a Usb port,core processor, and memory as well. A picuter fo phidget interfac board is given below
Phidget has different types of sensore for detecting motion, force, pressure, humidity temperature. Sensors are a vital part of phidget physical interface kit. Sensors takes the input from physical environment and forward it to the phidget controller. There are almost more than 19 types of sensors are available. They simulate different senses. The video link below shows small demo.The figure a below shows different types of sensors while Figure b show interfacing of touch sensor with the phidget controller. when touch sensor will sense an input the LED will blink.
The following video displays a small Demo of Phidget 3-Aixes Accelerometer using Motion Sensor
Phidget interface kit has different motors and actuator controllers. When phidget rceives sensory input information from sensors it has to do some action like moving the hard disk platter or read write head movement. So to perform these kind of actions phidget uses different motors and actuator controller.like servo motors for rotional movement, stepper motor for back and forth movement etc.
Phidget software model supports as many operating systems and programming languages as are useful for users. Phidget API is as simple and consistent as possible.The bottom level C library is phidget 21.This a cross plateform library which implements low level protocols necessary to communicate with the phidgets and exports a unified interface for the programmer. Buit upon this library are higher level libraries that simplify using phidgets for many more languages. Available libraries include .NET, Java, Python, AS3 etc software . Software model model and architecture given blow