The document discusses the Arduino, an open-source electronics prototyping platform. It provides a brief history of how Arduino was created in 2005 to provide an affordable platform for interactive design projects. It describes the key features of the Arduino Uno board and the Arduino programming environment. Finally, it outlines some common applications of Arduino in fields like home automation, robotics, and sensor prototyping.
Arduino is an open-source hardware and software platform for building interactive electronic projects. It consists of a programmable microcontroller board and IDE software to write code. The board contains ports that can be configured as digital or analog inputs/outputs to interact with sensors, LEDs, motors and other components. Common Arduino boards include the Uno, Nano, Mega and Leonardo, which differ in processor, memory and I/O pins. The ATmega328P microcontroller on the Uno uses a Harvard architecture with separate memory and buses for instructions and data, allowing simultaneous access.
This Presentation describes the ARM CORTEX M3 core processor with the details of the core peripherals. Soon a CORTEX base controller(STM32F100RBT6) ppt will be uploaded. For more information mail me at:gaurav.iitkg@gmail.com.
This document discusses trends in embedded systems. It outlines that embedded systems integrate computer hardware and software onto a single microprocessor board. Key trends in embedded systems include systems-on-a-chip (SoC), wireless technology, multi-core processors, support for multiple languages, improved user interfaces, use of open source technologies, interoperability, automation, enhanced security, and reduced power consumption. SoCs integrate all system components onto a single chip to reduce power usage. Wireless connectivity and multi-core processors improve performance. Embedded systems also support multiple languages and have improved user interfaces.
The document discusses the Arduino integrated development environment (IDE). It states that Arduino is an open-source hardware and software platform that uses a microcontroller board that can be programmed. The Arduino IDE is used to write code and upload it to the physical board. Key features include reading analog/digital signals from sensors and outputting actions, uploading instructions to the microcontroller via the IDE, and loading new code onto the board using a USB cable without extra hardware. The Arduino IDE uses a simplified version of C++. Arduino programs are written in the IDE as sketches, based on a simplified version of the C language. Main parts of sketches include structure, values like variables and constants, and functions.
This presentation summarizes a summer training on Arduino. It defines Arduino as an open-source hardware and software platform for building electronics projects. It describes the main types of Arduino boards including the Arduino Uno, Mega 2560, Duemilanove, and Fio. It also outlines some key features of the Arduino Uno board. Furthermore, it provides examples of interfacing Arduino with a DC motor and RC car motor. The presentation concludes by listing some common applications of Arduino and its advantages.
Arduino Workshop Day 1 Slides
Basics of Arduino - Introduction, Basics of Circuits, Signals & Electronics, LED Interfacing, Switch, Buzzer, LCD & Bluetooth Communication.
The document discusses the Arduino, an open-source electronics prototyping platform. It provides a brief history of how Arduino was created in 2005 to provide an affordable platform for interactive design projects. It describes the key features of the Arduino Uno board and the Arduino programming environment. Finally, it outlines some common applications of Arduino in fields like home automation, robotics, and sensor prototyping.
Arduino is an open-source hardware and software platform for building interactive electronic projects. It consists of a programmable microcontroller board and IDE software to write code. The board contains ports that can be configured as digital or analog inputs/outputs to interact with sensors, LEDs, motors and other components. Common Arduino boards include the Uno, Nano, Mega and Leonardo, which differ in processor, memory and I/O pins. The ATmega328P microcontroller on the Uno uses a Harvard architecture with separate memory and buses for instructions and data, allowing simultaneous access.
This Presentation describes the ARM CORTEX M3 core processor with the details of the core peripherals. Soon a CORTEX base controller(STM32F100RBT6) ppt will be uploaded. For more information mail me at:gaurav.iitkg@gmail.com.
This document discusses trends in embedded systems. It outlines that embedded systems integrate computer hardware and software onto a single microprocessor board. Key trends in embedded systems include systems-on-a-chip (SoC), wireless technology, multi-core processors, support for multiple languages, improved user interfaces, use of open source technologies, interoperability, automation, enhanced security, and reduced power consumption. SoCs integrate all system components onto a single chip to reduce power usage. Wireless connectivity and multi-core processors improve performance. Embedded systems also support multiple languages and have improved user interfaces.
The document discusses the Arduino integrated development environment (IDE). It states that Arduino is an open-source hardware and software platform that uses a microcontroller board that can be programmed. The Arduino IDE is used to write code and upload it to the physical board. Key features include reading analog/digital signals from sensors and outputting actions, uploading instructions to the microcontroller via the IDE, and loading new code onto the board using a USB cable without extra hardware. The Arduino IDE uses a simplified version of C++. Arduino programs are written in the IDE as sketches, based on a simplified version of the C language. Main parts of sketches include structure, values like variables and constants, and functions.
This presentation summarizes a summer training on Arduino. It defines Arduino as an open-source hardware and software platform for building electronics projects. It describes the main types of Arduino boards including the Arduino Uno, Mega 2560, Duemilanove, and Fio. It also outlines some key features of the Arduino Uno board. Furthermore, it provides examples of interfacing Arduino with a DC motor and RC car motor. The presentation concludes by listing some common applications of Arduino and its advantages.
Arduino Workshop Day 1 Slides
Basics of Arduino - Introduction, Basics of Circuits, Signals & Electronics, LED Interfacing, Switch, Buzzer, LCD & Bluetooth Communication.
FPGA are a special form of Programmable logic devices(PLDs) with higher densities as compared to custom ICs and capable of implementing functionality in a short period of time using computer aided design (CAD) software....by mathewsubin3388@gmail.com
The document discusses the ATmega32 microcontroller. It begins by defining a microcontroller as a small computer containing a processor, memory, and programmable input/output pins. It then lists some key features of the ATmega32 microcontroller, which include 32 I/O pins, 32KB of flash memory, 1024 bytes of EEPROM, and the ability to handle 3 external interrupts. The document also briefly covers the Von Neumann and Harvard architectures and how the ATmega32 is programmed using languages like Assembly, C, and C++ through the AVR studio software.
The document discusses Arduino, an open-source hardware platform used for building electronics projects. It notes that Arduino is a microcontroller board that can be programmed to read input and control output from various sensors and actuators. The document provides details on Arduino components, programming, common shields and expansions, applications in different domains, and its popularity as an accessible platform for physical computing.
This document provides an overview of microcontrollers and the Arduino platform. It discusses what a microcontroller is and some common types. It then introduces Arduino as an open-source prototyping platform using easy hardware and software. Several Arduino boards are described and the ATmega328p microcontroller chip is specified. The document outlines how to download the Arduino software and write programs. It provides examples of basic Arduino projects like blinking LEDs, reading sensors, and creating sounds.
It is a presentation for the Embedded System Basics. It will be very useful for the engineering students who need to know the basics of Embedded System.
This document discusses system on chip (SoC) design. It defines an SoC as an integrated circuit that incorporates all components of an electronic system, including processors, memory and peripheral interfaces. The document outlines the evolution of SoC technology, challenges in designing complex SoCs, and strategies for conquering complexity through IP reuse and partitioning designs into hardware and software. It provides examples of SoC applications and architectures and describes the traditional waterfall design flow for ASICs versus the newer IP-based design methodology.
This document provides an introduction to AVR microcontrollers. It discusses the history of microcontrollers beginning in 1971 and components like CPU, ROM, RAM and I/O. AVR microcontrollers were introduced in 1996 and range from 1 to 256KB with 8 to 100 pins. They are cheaper and slower than microprocessors but are useful for specialized applications. The document outlines the AVR architecture and family as well as development tools and support for AVR microcontrollers.
Arduino Workshop Day 2 - Advance Arduino & DIYVishnu
Arduino Workshop Day 2 - IR, Ultrasonic & Temperature - Humidity Sensor Interfacing & Do It Yourself - Line Follower, Light Follower & Obstacle Avoider.
This document provides an overview of the Arduino Uno microcontroller board. It defines a microcontroller as a single-chip computer containing a CPU, memory, and input/output interfaces. The Arduino is an open-source electronics platform with easy-to-use hardware and software that allows anyone to develop interactive electronic projects. Key specifications of the Arduino Uno board are provided, including its microcontroller chip, memory, analog and digital pins. The process of analog to digital conversion is explained. Basic Arduino programming concepts like data types, statements, operators, and control structures are covered. The bare minimum code structure of setup() and loop() functions is described.
Richard Rixham introduces Arduino, an open source hardware and software platform that allows users to build physical computing devices ranging from flashing lights to robots. Arduino uses an inexpensive microcontroller board and IDE to make programming in C/C++ accessible. It has digital and analog pins that can interact with sensors and actuators. Common Arduino models include the Uno, Mini, and Mega. Shield add-on boards provide extra functions like wireless connectivity. Example projects and resources for learning more are provided.
FPGAs can be programmed after manufacturing to implement custom logic functions. They contain programmable logic blocks and interconnects that can be configured to create custom circuits. FPGAs provide flexibility compared to ASICs but have higher per-unit costs. The FPGA architecture consists of configurable logic blocks, programmable interconnects, and I/O blocks. Configurable logic blocks contain LUTs that implement logic functions. Programmable interconnects connect the logic blocks, and I/O blocks interface with external components. FPGAs are commonly used for prototyping, emulation, parallel computing, and other applications that require customizable hardware.
1. Calibrate the line sensor readings by taking multiple samples while turning left and right to determine the minimum and maximum values.
2. Continuously read the line sensor position and calculate the proportional, integral, and derivative terms based on the error from the center.
3. Determine the difference in motor powers needed to turn toward the center based on the PID values, without allowing negative powers.
4. Set the motor speeds based on the power difference to steer toward the center line.
The document discusses the Arduino open-source electronics prototyping platform. It describes what Arduino is, its programming environment, advantages, features, applications, and how it compares to other prototyping platforms. Arduino is an affordable and easy to use platform for creating interactive electronic projects through an open-source hardware board and software. It allows users to prototype sensors and control devices through code.
This document provides an introduction to FPGA design fundamentals including:
- Programmable logic devices like PLDs, CPLDs, and FPGAs which allow for reconfigurable logic circuits.
- The basic architecture of FPGAs including configurable logic blocks (CLBs), input/output blocks (IOBs), and a programmable interconnect structure.
- Verilog and VHDL as common hardware description languages used for FPGA design entry and simulation.
- A simple example of designing a half-adder circuit in VHDL, including entity, architecture, and behavioral modeling style.
This document discusses how to connect and control a DC motor using an Arduino Uno board. It explains the components needed like the motor, MOSFET transistor, diode rectifier and resistor. It describes how the motor works using electromagnetic principles and how the diode rectifier converts AC to DC power. It shows the pin connections and provides an example Arduino code using PWM to control the motor's speed by writing analog values to the motor control pin.
Introduction to Arduino Hardware and ProgrammingEmmanuel Obot
Introduction to Arduino Hardware and Programming:
Arduino is an open-source electronics platform based on easy-to-use hardware and software. It's intended for anyone making interactive projects.
Teachers and students use it to build low cost scientific instruments, to prove chemistry and physics principles, or to get started with programming and robotics. Designers and architects build interactive prototypes, musicians and artists use it for installations and to experiment with new musical instruments. Makers, of course, use it to build many of the projects exhibited at the Maker Faire. Arduino is a key tool to learn new things. Anyone - children, hobbyists, artists, programmers can use it to build an interactive device.
The NodeMCU is an open-source IoT development kit that allows users to prototype IoT products using a few lines of Lua script. It contains an ESP8266 WiFi SoC, programmable GPIO pins, 32KB RAM, 80KB DRAM, and 200KB flash memory. The NodeMCU can be programmed via C or Lua and connect to devices via WiFi or by connecting pins to sensors and actuators. It provides a low-cost way to build an interactive and programmable smart device with WiFi connectivity.
Embedded system programming using Arduino microcontrollerArun Kumar
This document summarizes an technical seminar on embedded systems programming using Arduino. It introduces Arduino as an open-source electronic prototyping platform based on an I/O board and development environment. The document outlines Arduino's architecture including its microcontroller, power supply, and I/O pins. It also describes how to program Arduino using its IDE, setting up sketches with setup() and loop() functions, and provides examples of blinking an LED and serial communication. Finally, it discusses applications of Arduino such as home automation, robotics, and scientific equipment.
FPGA are a special form of Programmable logic devices(PLDs) with higher densities as compared to custom ICs and capable of implementing functionality in a short period of time using computer aided design (CAD) software....by mathewsubin3388@gmail.com
The document discusses the ATmega32 microcontroller. It begins by defining a microcontroller as a small computer containing a processor, memory, and programmable input/output pins. It then lists some key features of the ATmega32 microcontroller, which include 32 I/O pins, 32KB of flash memory, 1024 bytes of EEPROM, and the ability to handle 3 external interrupts. The document also briefly covers the Von Neumann and Harvard architectures and how the ATmega32 is programmed using languages like Assembly, C, and C++ through the AVR studio software.
The document discusses Arduino, an open-source hardware platform used for building electronics projects. It notes that Arduino is a microcontroller board that can be programmed to read input and control output from various sensors and actuators. The document provides details on Arduino components, programming, common shields and expansions, applications in different domains, and its popularity as an accessible platform for physical computing.
This document provides an overview of microcontrollers and the Arduino platform. It discusses what a microcontroller is and some common types. It then introduces Arduino as an open-source prototyping platform using easy hardware and software. Several Arduino boards are described and the ATmega328p microcontroller chip is specified. The document outlines how to download the Arduino software and write programs. It provides examples of basic Arduino projects like blinking LEDs, reading sensors, and creating sounds.
It is a presentation for the Embedded System Basics. It will be very useful for the engineering students who need to know the basics of Embedded System.
This document discusses system on chip (SoC) design. It defines an SoC as an integrated circuit that incorporates all components of an electronic system, including processors, memory and peripheral interfaces. The document outlines the evolution of SoC technology, challenges in designing complex SoCs, and strategies for conquering complexity through IP reuse and partitioning designs into hardware and software. It provides examples of SoC applications and architectures and describes the traditional waterfall design flow for ASICs versus the newer IP-based design methodology.
This document provides an introduction to AVR microcontrollers. It discusses the history of microcontrollers beginning in 1971 and components like CPU, ROM, RAM and I/O. AVR microcontrollers were introduced in 1996 and range from 1 to 256KB with 8 to 100 pins. They are cheaper and slower than microprocessors but are useful for specialized applications. The document outlines the AVR architecture and family as well as development tools and support for AVR microcontrollers.
Arduino Workshop Day 2 - Advance Arduino & DIYVishnu
Arduino Workshop Day 2 - IR, Ultrasonic & Temperature - Humidity Sensor Interfacing & Do It Yourself - Line Follower, Light Follower & Obstacle Avoider.
This document provides an overview of the Arduino Uno microcontroller board. It defines a microcontroller as a single-chip computer containing a CPU, memory, and input/output interfaces. The Arduino is an open-source electronics platform with easy-to-use hardware and software that allows anyone to develop interactive electronic projects. Key specifications of the Arduino Uno board are provided, including its microcontroller chip, memory, analog and digital pins. The process of analog to digital conversion is explained. Basic Arduino programming concepts like data types, statements, operators, and control structures are covered. The bare minimum code structure of setup() and loop() functions is described.
Richard Rixham introduces Arduino, an open source hardware and software platform that allows users to build physical computing devices ranging from flashing lights to robots. Arduino uses an inexpensive microcontroller board and IDE to make programming in C/C++ accessible. It has digital and analog pins that can interact with sensors and actuators. Common Arduino models include the Uno, Mini, and Mega. Shield add-on boards provide extra functions like wireless connectivity. Example projects and resources for learning more are provided.
FPGAs can be programmed after manufacturing to implement custom logic functions. They contain programmable logic blocks and interconnects that can be configured to create custom circuits. FPGAs provide flexibility compared to ASICs but have higher per-unit costs. The FPGA architecture consists of configurable logic blocks, programmable interconnects, and I/O blocks. Configurable logic blocks contain LUTs that implement logic functions. Programmable interconnects connect the logic blocks, and I/O blocks interface with external components. FPGAs are commonly used for prototyping, emulation, parallel computing, and other applications that require customizable hardware.
1. Calibrate the line sensor readings by taking multiple samples while turning left and right to determine the minimum and maximum values.
2. Continuously read the line sensor position and calculate the proportional, integral, and derivative terms based on the error from the center.
3. Determine the difference in motor powers needed to turn toward the center based on the PID values, without allowing negative powers.
4. Set the motor speeds based on the power difference to steer toward the center line.
The document discusses the Arduino open-source electronics prototyping platform. It describes what Arduino is, its programming environment, advantages, features, applications, and how it compares to other prototyping platforms. Arduino is an affordable and easy to use platform for creating interactive electronic projects through an open-source hardware board and software. It allows users to prototype sensors and control devices through code.
This document provides an introduction to FPGA design fundamentals including:
- Programmable logic devices like PLDs, CPLDs, and FPGAs which allow for reconfigurable logic circuits.
- The basic architecture of FPGAs including configurable logic blocks (CLBs), input/output blocks (IOBs), and a programmable interconnect structure.
- Verilog and VHDL as common hardware description languages used for FPGA design entry and simulation.
- A simple example of designing a half-adder circuit in VHDL, including entity, architecture, and behavioral modeling style.
This document discusses how to connect and control a DC motor using an Arduino Uno board. It explains the components needed like the motor, MOSFET transistor, diode rectifier and resistor. It describes how the motor works using electromagnetic principles and how the diode rectifier converts AC to DC power. It shows the pin connections and provides an example Arduino code using PWM to control the motor's speed by writing analog values to the motor control pin.
Introduction to Arduino Hardware and ProgrammingEmmanuel Obot
Introduction to Arduino Hardware and Programming:
Arduino is an open-source electronics platform based on easy-to-use hardware and software. It's intended for anyone making interactive projects.
Teachers and students use it to build low cost scientific instruments, to prove chemistry and physics principles, or to get started with programming and robotics. Designers and architects build interactive prototypes, musicians and artists use it for installations and to experiment with new musical instruments. Makers, of course, use it to build many of the projects exhibited at the Maker Faire. Arduino is a key tool to learn new things. Anyone - children, hobbyists, artists, programmers can use it to build an interactive device.
The NodeMCU is an open-source IoT development kit that allows users to prototype IoT products using a few lines of Lua script. It contains an ESP8266 WiFi SoC, programmable GPIO pins, 32KB RAM, 80KB DRAM, and 200KB flash memory. The NodeMCU can be programmed via C or Lua and connect to devices via WiFi or by connecting pins to sensors and actuators. It provides a low-cost way to build an interactive and programmable smart device with WiFi connectivity.
Embedded system programming using Arduino microcontrollerArun Kumar
This document summarizes an technical seminar on embedded systems programming using Arduino. It introduces Arduino as an open-source electronic prototyping platform based on an I/O board and development environment. The document outlines Arduino's architecture including its microcontroller, power supply, and I/O pins. It also describes how to program Arduino using its IDE, setting up sketches with setup() and loop() functions, and provides examples of blinking an LED and serial communication. Finally, it discusses applications of Arduino such as home automation, robotics, and scientific equipment.
This document provides an overview of embedded systems and discusses Arduino. It defines an embedded system as a combination of hardware and software designed for a specific function. Embedded systems are commonly based on microcontrollers and are optimized for their dedicated tasks. Examples of embedded systems include appliances, vehicles, medical devices, and more. The document then discusses the Arduino platform as an example of an embedded system and how it can be programmed using its IDE software.
The document provides an overview of the Arduino platform, including what it is, what it is used for, and how to get started using it. Key points:
- Arduino is an open-source hardware and software platform for building interactive electronic projects through a simple programming language.
- It is used for physical computing projects, interactive installations, and rapid prototyping. Projects can include sensors and actuators.
- Getting started requires an Arduino board, USB cable, power supply, and downloading the IDE (integrated development environment) to write and upload code. Basic electrical safety knowledge is also important.
This presentation provides an overview of embedded systems and describes a collision avoidance robot project. It introduces embedded systems and gives examples. It then describes the key components of embedded systems like processors and memory. It discusses the software used for the project. It introduces the collision avoidance robot project, describing its sensors, control unit, actuators and working. It provides code snippets to show how the robot's movement is controlled based on sensor input to avoid collisions.
BSNL is India's largest public sector telecommunications company. It has over 119 million telephone connections, making it the 5th largest operator in India with a 13.28% market share. BSNL provides both fixed line and mobile services across India using technologies like GSM, CDMA, broadband, and fiber. While it has a large customer base and resources, BSNL also faces weaknesses like poor marketing and network optimization. It aims to leverage its brand while expanding services in growing areas like broadband and untapped international markets.
This document provides an overview of an internship report submitted by Vishal Garg about embedded system development using an Arduino Uno. It includes chapters on introducing the project aims and methodology, a literature review on embedded systems, details about the Arduino Uno board and its programming, examples of programming projects completed, and conclusions from the internship. Tables of contents and figures are provided listing the different chapters, figures, tables, and photographs included in the report.
A microcontroller is a single-chip microprocessor system consisting of a CPU, memory, and input/output ports. It can be considered a complete computer on a single chip. The 8051 was an early microcontroller developed by Intel for use in embedded systems. It had 4KB of program memory, 128 bytes of data memory, timers, counters, and I/O ports. The 8051 has separate memory spaces for program and data memory and its CPU, registers, timers and I/O ports allow it to monitor and control external devices.
This document discusses embedded systems. It defines an embedded system as a microprocessor-based system designed to perform dedicated functions. Embedded systems are found in devices ranging from household appliances to spacecraft. The document discusses the history of embedded systems and how they have evolved from using microprocessors to typically using microcontrollers. It also discusses the hardware and software components of embedded systems as well as common programming languages. Examples of different types of embedded systems are provided.
This document summarizes an Arduino seminar report. It discusses what Arduino is, different Arduino boards, how the Arduino board works including the controller, power supply, and USB to serial converter. It also summarizes sensors that can interface with Arduino like temperature sensors and hall sensors. Finally, it provides an overview of a home automation project using Arduino and GSM to control devices remotely through SMS messages.
This document discusses and compares the ISA, EISA, and microchannel bus architectures used in PCs. It notes that while ISA became a de facto standard, it has limitations like a narrow 16-bit bus and slow 8-bit DMA chips. EISA was developed as an evolutionary upgrade to ISA to allow 32-bit components while maintaining compatibility. The microchannel introduced by IBM is a revolutionary redesign but is proprietary. EISA aims to integrate both 16-bit and 32-bit components but ends up similar to ISA for 16-bit devices. Overall microchannel has a simpler design while EISA maintains compatibility with existing ISA devices and standards at the cost of greater complexity.
The document discusses Arduino, an open-source electronics prototyping platform. It began in 2005 as a cheaper alternative for students to use in physical computing classes compared to other microcontroller boards. Arduino boards use a microcontroller, such as the Atmega328, and can be programmed and controlled from a computer. The Arduino software and hardware designs are open-source, allowing anyone to build upon and distribute Arduino clones and compatible boards. The Arduino platform and community have grown significantly since 2005.
This memorandum summarizes the design and building process of a home security system created by Team 23 for an Arduino project. It includes sections on the introduction, backstory providing the design criteria, a decision matrix comparing design ideas, an overview of the building process and challenges faced, a flow chart, circuit schematic, and conclusion. The team's final design incorporated a laser tripwire system with mirrors, siren, temperature sensor, and LED indicators to exceed the project requirements with an impressive system. They carefully planned and tested their design to overcome difficulties like component failures and wiring challenges.
The document provides an overview of PIC microcontrollers including:
- PIC microcontrollers are 8-bit microcontrollers popular among hobbyists and developers due to their low cost, availability, and extensive documentation.
- The core architecture is Harvard architecture with a RISC design, one accumulator register, and banked memory.
- Programming a PIC can be done with MPLAB IDE from Microchip which supports assembly, C, and debugging on emulator hardware or real PIC devices.
This document discusses interfacing a 7-segment display with an AVR microcontroller. It begins by introducing 7-segment displays and their use in common devices. It then explains the fundamentals of how a 7-segment display works, showing the individual segments that combine to display numbers. The document outlines the pin configurations for common anode and cathode displays and shows a block diagram of interfacing the display with a microcontroller port. It includes a table mapping hexadecimal values to the on/off states of the 7 segments needed to display each number and letter. Programming details are provided for initializing the controller and enabling the display output at a set brightness level.
This document provides an overview of AVR and ARM microcontrollers. It discusses Atmel's AVR microcontroller series and key features of the ATmega16 microcontroller. It also covers the ARM7 microcontroller, features of the LPC2148, and interfacing examples for LEDs, LCDs, relays, buzzers, and DC motors. The document concludes by mentioning AVR Studio 4 and μVision4 as integrated development environments for programming AVR and ARM microcontrollers.
This document provides an overview of a book about PC architecture by Michael Karbo. It was originally published in many European countries but never in English, so the author uploaded it to the internet for personal non-commercial use. The document outlines the book's structure and contents, which covers the history of PCs and provides illustrated explanations of PC components from a holistic perspective, with the goal of helping readers understand the technological developments in the field. It is introduced in multiple chapters that cover topics such as the history of PCs, the Von Neumann model, CPUs, memory, buses, chipsets and more.
The document reports on Tong Xu's experience making an Arduino shield in the ECE Lab. The process involved laying out components on a stripboard according to a LED circuit diagram, carefully cutting tracks to prevent cross-circuiting, soldering the components while wearing safety glasses, and fitting the completed shield onto an Arduino board. Tong then wrote code to control an LED using a potentiometer, and was able to successfully light the LED by running the Arduino on a Mac computer.
Technology is constantly changing. New microcontrollers become available every year. The one thing that has stayed the same is the C programming language used to program these microcontrollers. If you would like to learn this standard language to program microcontrollers, then this book is for you!
Arduino is the hardware platform used to teach the C programming language as Arduino boards are available worldwide and contain the popular AVR microcontrollers from Atmel.
Microcontroller from basic_to_advancedImran Sheikh
The document discusses various topics related to embedded systems and microcontrollers including:
- Architectures like Von Neumann, Harvard and modified Harvard
- Types of microcontrollers like 8-bit, 16-bit and 32-bit
- Programming languages and IDEs used for embedded programming
- Common development boards and microcontrollers
- Memory types, buses, I/O and basic operation of microcontrollers
- Interfacing sensors and actuators to microcontrollers
EMBEDDED SYSTEMS AND IOT lab manual for enginnering studentseceprinter6
This document outlines the course objectives and units of an embedded systems and IoT course. The course aims to teach students about embedded processor architecture and programming, interfacing I/O devices, the evolution of the Internet of Things, and building low-cost embedded and IoT systems using platforms like Arduino and Raspberry Pi. The units cover topics like 8-bit embedded processors, embedded C programming, IoT and Arduino programming, IoT communication protocols, and applications development for home automation, smart agriculture, and smart cities.
The document describes the internal architecture of the 89C52 microcontroller. It has the following on-chip facilities: 4k ROM, 128 byte RAM, one USRT, 32 I/O port lines, two 16-bit timers/counters, six interrupt sources, and an on-chip clock oscillator. Other family members have variations like 8k ROM, 256 byte RAM, and an extra timer/counter. The 89C52 architecture includes ports, memory, a CPU, and peripherals that allow it to interface with external devices.
An embedded system is a special-purpose computer system designed to perform one or a few dedicated functions, often with real-time computing constraints. Embedded systems are present in many devices such as household appliances, vehicles, medical equipment, smartphones, and more. They typically use microcontrollers or microprocessors to monitor and control embedded hardware components. Key components of embedded systems include a CPU, memory, I/O ports, and timers/counters. Microcontrollers integrate most of these components onto a single chip, while microprocessors require external components. Embedded systems use various addressing modes and have inputs like interrupts and timers that allow them to interact with the external environment. Common applications areas of embedded systems include consumer electronics, industrial automation, automotive systems,
The document provides an overview of the Intel 8051 microcontroller, including:
- Its internal architecture which includes CPU, RAM, ROM, registers, timers, serial port, and I/O ports.
- Pin descriptions and functions for the 40-pin chip.
- Memory organization and interfacing with external memory.
- Clock generation using an external crystal oscillator.
- Features like timers, interrupts, and serial communication.
This document provides an overview of embedded systems and microcontrollers. It discusses common application areas including automotive electronics, medical systems, and consumer electronics. Microcontrollers integrate CPU, RAM, ROM, I/O and other peripherals on a single chip to perform dedicated functions. The document compares microprocessors and microcontrollers, and describes AVR microcontroller architecture, features of ATmega16 microcontroller including I/O pins, timers and ADC, and examples of interfacing LEDs, LCDs, 7-segment displays. It also discusses interrupts, development boards and provides details of components used in a home security project.
The document discusses the 8051 microcontroller. It provides details about the 8051 architecture such as its memory organization, I/O ports, registers, and instruction set. The key advantages of microcontrollers over microprocessors are that microcontrollers have peripherals integrated into a single chip, making the system design simpler and more reliable.
This document provides an introduction and overview of microcontrollers. It begins by defining a microcontroller as a single-chip computer containing a CPU, RAM, ROM, I/O ports, and other peripherals. It then discusses the 8051 microcontroller in more detail, outlining its addressing modes, block diagram, operation, features, applications, and advantages over microprocessors. Finally, it provides a pin description and diagram of the 8051 microcontroller.
This document provides an introduction and overview of microcontrollers. It begins by defining a microcontroller as a single-chip computer containing a CPU, RAM, ROM, I/O ports, and other peripherals. It then discusses the 8051 microcontroller in more detail, outlining its addressing modes, block diagram, operation, features, applications, and advantages over microprocessors. Finally, it provides a pin description and diagram of the 8051 microcontroller.
The document describes the features of an AVR 8-bit microcontroller, including its RISC architecture, memory capabilities, I/O ports, timers, USB and peripheral features. It has 8/16/32KB of flash memory, 512/512/1024 bytes of EEPROM and SRAM, and 22 programmable I/O lines. It includes analog and digital features such as timers, USART, SPI and a USB controller.
The Atmega8 microcontroller has a Harvard architecture with separate program and data memories. It features 8K of flash memory, 512 bytes of EEPROM, and 1K of SRAM. It has various digital and analog I/O ports that can be configured for input, output, and alternate functions. The Atmega8 uses an internal or external clock and has features like timers, interrupts, and PWM that make it suitable for biomedical applications.
This document describes the features and specifications of the ATmega32 8-bit microcontroller. It includes details on the microcontroller's architecture such as its AVR CPU core, 32K bytes of flash memory, 1024 bytes of EEPROM, 2K bytes of SRAM, and various peripherals. It also provides information on the microcontroller's pins and packages, operating voltages, speed grades, and power consumption. The document is intended to provide an overview of the capabilities and technical specifications of the ATmega32 microcontroller.
Overview of Microcontroller and ATMega32 microcontrollerRup Chowdhury
This presentation provides an overview of microcontrollers and the ATMega32 microcontroller. It defines a microcontroller as a small computer on a single chip that contains a CPU, memory, and programmable I/O. It describes the typical elements of a microcontroller including the processor, memory, I/O peripherals, ADC, DAC, and system bus. It then discusses features of the ATMega32 like its architecture, pins, applications, and special features. In closing, it thanks the audience for their time.
Pc based wire less data aquisition system using rf(1)Vishalya Dulam
This document provides an overview of a PC-based wireless data acquisition system using RF technology. It describes the system's hardware components, including the microcontroller, sensors, analog-to-digital converter, encoders, decoders, and transmitter and receiver modules. It also discusses the microcontroller architecture, memory types, registers, ports, and peripherals. Finally, it outlines the software tools and programming required to develop applications for the system.
The document provides an introduction to the 8085 microprocessor. It discusses the basic components of a microcomputer including the CPU, memory (RAM and ROM), and I/O unit. It then describes the internal structure of the 8085 CPU including its registers, flag bits, program counter, and stack pointer. The document outlines the 8085 bus structure including its address bus, data bus, and control signals. It provides timing diagrams for opcode fetch, memory read, and memory write operations. Finally, it discusses addressing modes, instruction size, and includes a table of the 8085 instruction set.
The document discusses microcontrollers and the 8051 microcontroller. It provides an overview of embedded systems and microcontrollers, describing microcontrollers as single-chip computers containing a CPU, RAM, ROM, and I/O ports. It then details the components and architecture of the 8051 microcontroller, including its CPU, memory, timers, serial port, and I/O ports. Selection criteria for choosing a microcontroller for an application are also summarized.
The document is a report submitted by Gurwinder Singh from the Radiant Institute of Engineering and Technology about their six-week industrial training at Beri Institute of Technology. It thanks God and the staff at BIT for supporting and sharing their experience. It expresses gratitude to the training and placement cell at the home institute.
The document discusses the history and features of the 8051 microcontroller family. It specifically focuses on the AT89S52 microcontroller, which was introduced by Atmel in the 1980s. Key points include:
- The AT89S52 has 8K bytes of Flash memory, 256 bytes of RAM, 32 I/O lines, timers, serial port, and interrupts. It is compatible with the 8051 instruction set.
- It operates from 0-33MHz and has various power saving modes. It has features like watchdog timer, dual data pointers, and ISP programming.
- The document discusses the advantages of using a microcontroller over a microprocessor for embedded applications in terms of cost, size
Similar to Embedded system design using arduino (20)
This document provides instructions for moving a WordPress website from a local host server to a live server. It describes two methods: using the All-in-One WP Migration plugin or using an FTP client. For the plugin method, it outlines downloading the site files from local host, installing the plugin on the live server, and then importing the downloaded files. For the FTP method, it lists the steps as configuring the live server, creating the local site, accessing the live server space using FTP details, and transferring the local files and media. The goal is to migrate an existing WordPress site from development to production.
This document provides an overview of topics to be covered in a WordPress tutorial, including WordPress basics, settings, categories, posts, media, pages, tags, links, plugins, users, and appearance. It discusses installing WordPress and using the dashboard. It also covers adding, editing, and deleting categories, posts, media, pages, tags, and links. The document outlines viewing, installing, and customizing plugins, and managing user roles, users, themes, and widgets.
This document discusses different sorting techniques and their worst case, average case, and best case time complexities. It represents the running time complexities on the y-axis and number of elements on the x-axis for various sorting algorithms, distinguishing between stable and unstable algorithms. The analysis can be used to select the sorting algorithm with the lowest running time complexity based on the data scenario and amount of data.
This document provides an overview of functions and file handling in Python. It discusses defining user-defined functions with the def keyword, including passing arguments, default arguments, keyword arguments, and variable number of arguments. It also covers recursion, anonymous functions, and attributes of file objects. For file handling, it explains opening, reading, writing, and appending files, as well as the different file modes.
Class, object and inheritance in pythonSantosh Verma
The document discusses object-oriented programming concepts in Python, including classes, objects, methods, inheritance, and the built-in __init__ method. Classes are created using the class keyword and contain attributes and methods. Methods must have a self parameter, which refers to the instance of the class. The __init__ method is similar to a constructor and is called when an object is instantiated. Inheritance allows one class to inherit attributes and methods from another class.
1) In Python, all member variables and methods are public by default. To make a member protected, prefix its name with a single underscore. To make a member private, prefix its name with two underscores and suffix it with at most one underscore, which uses name mangling.
2) The document discusses access modifiers in Python including public, protected, and private access. It provides examples of declaring public members without modification, protected members by prepending a single underscore, and private members by prepending two underscores and optional postpending single underscore, which utilizes name mangling.
3) Name mangling is used to prevent private member clashes in subclasses by transforming the name to include the class name.
System on a chip (SoC) integrates a complete electronic system into a single chip. It includes an embedded processor, application-specific integrated circuits (ASICs), analog circuits, and embedded memory. SoCs offer benefits like lower cost, power consumption, and size compared to discrete components. However, designing SoCs is challenging due to their complexity, which requires extensive verification of reusable intellectual property blocks. Major applications of SoCs include speech processing, image/video processing, and wireless communication technologies.
The document discusses Qualcomm Snapdragon, a family of mobile system on chips (SoCs) designed by Qualcomm. It describes the evolution of Snapdragon CPUs from Scorpion to Krait and their features. It also discusses the Adreno GPU, Hexagon DSP, and other components integrated into Snapdragon SoCs. The document then provides details about specific Snapdragon families like S4, 800 series, and 810. It also includes information about ARM architecture and its instruction set.
Digital Twins Computer Networking Paper Presentation.pptxaryanpankaj78
A Digital Twin in computer networking is a virtual representation of a physical network, used to simulate, analyze, and optimize network performance and reliability. It leverages real-time data to enhance network management, predict issues, and improve decision-making processes.
ELS: 2.4.1 POWER ELECTRONICS Course objectives: This course will enable stude...Kuvempu University
Introduction - Applications of Power Electronics, Power Semiconductor Devices, Control Characteristics of Power Devices, types of Power Electronic Circuits. Power Transistors: Power BJTs: Steady state characteristics. Power MOSFETs: device operation, switching characteristics, IGBTs: device operation, output and transfer characteristics.
Thyristors - Introduction, Principle of Operation of SCR, Static Anode- Cathode Characteristics of SCR, Two transistor model of SCR, Gate Characteristics of SCR, Turn-ON Methods, Turn-OFF Mechanism, Turn-OFF Methods: Natural and Forced Commutation – Class A and Class B types, Gate Trigger Circuit: Resistance Firing Circuit, Resistance capacitance firing circuit.
This study Examines the Effectiveness of Talent Procurement through the Imple...DharmaBanothu
In the world with high technology and fast
forward mindset recruiters are walking/showing interest
towards E-Recruitment. Present most of the HRs of
many companies are choosing E-Recruitment as the best
choice for recruitment. E-Recruitment is being done
through many online platforms like Linkedin, Naukri,
Instagram , Facebook etc. Now with high technology E-
Recruitment has gone through next level by using
Artificial Intelligence too.
Key Words : Talent Management, Talent Acquisition , E-
Recruitment , Artificial Intelligence Introduction
Effectiveness of Talent Acquisition through E-
Recruitment in this topic we will discuss about 4important
and interlinked topics which are
We have designed & manufacture the Lubi Valves LBF series type of Butterfly Valves for General Utility Water applications as well as for HVAC applications.
Particle Swarm Optimization–Long Short-Term Memory based Channel Estimation w...IJCNCJournal
Paper Title
Particle Swarm Optimization–Long Short-Term Memory based Channel Estimation with Hybrid Beam Forming Power Transfer in WSN-IoT Applications
Authors
Reginald Jude Sixtus J and Tamilarasi Muthu, Puducherry Technological University, India
Abstract
Non-Orthogonal Multiple Access (NOMA) helps to overcome various difficulties in future technology wireless communications. NOMA, when utilized with millimeter wave multiple-input multiple-output (MIMO) systems, channel estimation becomes extremely difficult. For reaping the benefits of the NOMA and mm-Wave combination, effective channel estimation is required. In this paper, we propose an enhanced particle swarm optimization based long short-term memory estimator network (PSOLSTMEstNet), which is a neural network model that can be employed to forecast the bandwidth required in the mm-Wave MIMO network. The prime advantage of the LSTM is that it has the capability of dynamically adapting to the functioning pattern of fluctuating channel state. The LSTM stage with adaptive coding and modulation enhances the BER.PSO algorithm is employed to optimize input weights of LSTM network. The modified algorithm splits the power by channel condition of every single user. Participants will be first sorted into distinct groups depending upon respective channel conditions, using a hybrid beamforming approach. The network characteristics are fine-estimated using PSO-LSTMEstNet after a rough approximation of channels parameters derived from the received data.
Keywords
Signal to Noise Ratio (SNR), Bit Error Rate (BER), mm-Wave, MIMO, NOMA, deep learning, optimization.
Volume URL: https://airccse.org/journal/ijc2022.html
Abstract URL:https://aircconline.com/abstract/ijcnc/v14n5/14522cnc05.html
Pdf URL: https://aircconline.com/ijcnc/V14N5/14522cnc05.pdf
#scopuspublication #scopusindexed #callforpapers #researchpapers #cfp #researchers #phdstudent #researchScholar #journalpaper #submission #journalsubmission #WBAN #requirements #tailoredtreatment #MACstrategy #enhancedefficiency #protrcal #computing #analysis #wirelessbodyareanetworks #wirelessnetworks
#adhocnetwork #VANETs #OLSRrouting #routing #MPR #nderesidualenergy #korea #cognitiveradionetworks #radionetworks #rendezvoussequence
Here's where you can reach us : ijcnc@airccse.org or ijcnc@aircconline.com
Build the Next Generation of Apps with the Einstein 1 Platform.
Rejoignez Philippe Ozil pour une session de workshops qui vous guidera à travers les détails de la plateforme Einstein 1, l'importance des données pour la création d'applications d'intelligence artificielle et les différents outils et technologies que Salesforce propose pour vous apporter tous les bénéfices de l'IA.
Determination of Equivalent Circuit parameters and performance characteristic...pvpriya2
Includes the testing of induction motor to draw the circle diagram of induction motor with step wise procedure and calculation for the same. Also explains the working and application of Induction generator
1. Santosh Kumar Verma
Department of Computer Science and Information Technology
Jaypee Institute of Information Technology, Noida
2. Content
1. Introduction of µp and µc
2. Introduction of 8051 µc
3. Introduction of Arduino
4. Atmega328 : Basics and internal Architecture
5. Atmega328 : Instruction Set
6. Arduino programming interface
7. Analog/Digital components and its application
with arduino
8. References
3. Do you know computer organization?
Arithmetic
Logic Unit
Memory
OutputInput Control Unit
4. - How does it work?
- Map it’s units in personal computer –
Input
Output
Memory
ALU
Software – System software & Application software
6. Microprocessor Based System
INPUT µP OUTPUT
MEMORY
INPUT µC OUTPUT
MEMORY
External memory in
addition to internal memory
may be desired
MEMORY
7. Address, Data and Control Bus
• Bus - defined pathway for transfer of digital information
between different units.
• To write data to memory or output device.
- µp needs to send
. Address of memory location or port
address of device.
. Data
. Write control signal
• To read data from memory or Input device
- µp needs to send
. Address and
. Read Control Signal
- Memory/device sends – data.
8. Thus three pathways (buses) for 3 types of digital
information.
Address Bus - From µp to devices
- Unidirectional.
Data Bus - From µp to devices & devices to µp
- Bidirectional
Control - From µp to devices & from devices to µp
[Interrupt, DMA]
- Bidirectional
Now let us redraw the computer organization diagram
10. Microcontroller
A microcontroller is a complete computer system, including
a CPU, memory, a clock oscillator, and I/O on a single
integrated circuit chip. [1]
ANALOG
INPUTS
http://www.freescale.com/files/microcontrollers/doc/ref_manual/M68HC05TB.pdf, p. 25
11. General Facilities
8 bit CPU
On chip clock oscillator
4 KB of ROM (Program memory)
128 bytes RAM (Data Memory)
21 Special Function Registers(SFR)
32 I/O lines (Ports P0 to P3)
64 KB address space for external data memory
64 KB address space for program memory
12. 2- 16 bit timer/counter
5 source interrupt structure
Full duplex serial port
Bit addressability
Bit processing capability
MCS-51 compatible chips
8031 – Romless version – 4KB ROM not available
8751 – EPROM version – 4KB EPROM
8052- (8 KB ROM + 256 byte Data memory)
13.
14. • The 8051 was one of the very early microcontrollers
(~1980).
• One of the early Arduino-like project was based on
the 8051, in the form of "8052 Basic" board.
• Atmel, Mentor Graphics, Intel, Honeywell, and Maxim
(Dallas Semiconductor), and may more have a variety
of 8051 chips.
15. • Introduced in 2005 as a project for students at the Interaction Design
Institute Ivrea in Ivrea, Italy, Arduino is a single board microcontroller.
• An Arduino board consists of an Atmel 8-bit AVR microcontroller with
complementary components to facilitate programming and incorporation
into other circuits [2].
• Arduino can sense the environment by receiving input from a variety of
sensors and can affect its surroundings by controlling lights, motors, and
other actuators.
• The boards can be assembled or purchased preassembled; the open-source
IDE can be downloaded for free.
• The Arduino programming language is very simple and follows C like
syntax.
• Arduino projects can be stand-alone or they can communicate with
software running on a computer (e.g. Processing).
16. • Other similar microcontrollers platforms are:
Parallax Basic Stamp, Netmedia's BX-24,
Phidgets, MIT's Handyboard, and many more.
• All these platforms have an easy-to-use
package.
Why Arduino?
Arduino also simplifies the process of working with
microcontrollers, but it offers some advantage:
17. 1. Inexpensive - Arduino boards are relatively inexpensive
compared to other microcontroller platforms.
2. Cross-platform - The Arduino software runs on Windows,
Macintosh OSX, and Linux operating systems. Most
microcontroller systems are limited to Windows.
3. Simple, clear programming environment - The Arduino
programming environment is easy-to-use.
4. Open source and extensible software- The Arduino software
is published as open source tools. The language can be
expanded through C++ libraries.
5. Open source and extensible hardware -The Arduino is based
on Atmel's ATMEGA8 and ATMEGA168 microcontrollers.
18. Features 8051 Modern
Microcontrollers
Execution Time 12 clock cycles/Instr. 1 clock cycle/Instr.
Architecture Harvard Harvard
Memory Internal + External (may
compromise with security)
Program memory- Internal
Data memory ( Int+Ext)
Instruction Set
Architecture (ISA)
CISC RISC
Port With limited functionality Fully Functional
Timer Simple PWM, Complex features
Intra Communication
Busses
Few Master/Slave SPI Serial
Interface
Byte-oriented 2-wire Serial
Interface (I2C)
Operating Mode Sleep Sleep, Power Down, Active
ADC NIL At least 6-channel 10-bit
ADC
WDT (Watchdog Timer) NIL Present
BOR (Brownout Reset) NIL Present
22. http://www.atmel.com/Images/Atmel-8271-8-bit-AVR-Microcontroller-ATmega48A-48PA-88A-88PA-168A-168PA-328-328P_datasheet.pdf
High Performance, Low Power AVR® 8-Bit Microcontroller
– Advanced RISC Architecture
– 131 Powerful Instructions – Most Single Clock Cycle Execution
– 32 x 8 General Purpose Working Registers
– Up to 20 MIPS Throughput at 20 MHz
High Endurance Non-volatile Memory Segments
– 4/8/16/32K Bytes of In-System Programmable Flash program
memory (ATmega48PA/88PA/168PA/328P)
– 256/512/512/1K Bytes EEPROM
– 512/1K/1K/2K Bytes Internal SRAM
– Data retention: 20 years at 85°C/100 years at 25°C(1)
23. Peripheral Features
– Two 8-bit Timer/Counters
– One 16-bit Timer/Counter
– Real Time Counter with Separate Oscillator
– Six PWM Channels
– 6-channel 10-bit ADC
– Programmable Serial USART
– Master/Slave SPI Serial Interface
Special Microcontroller Features
– Internal Calibrated Oscillator
– External and Internal Interrupt Sources
– Six Sleep Modes: Idle, ADC Noise Reduction, Power-
save, Power-down, Standby, and Extended Standby
24. I/O and Packages
– 23 Programmable I/O Lines
Operating Voltage:
– 1.8 - 5.5V for ATmega48PA/88PA/168PA/328P
Temperature Range:
– -40°C to 85°C
Speed Grade:
– 0 - 20 MHz @ 1.8 - 5.5V
Low Power Consumption at 1 MHz, 1.8V, 25°C for
ATmega48PA/88PA/168PA/328P:
– Active Mode: 0.2 mA
– Power-down Mode: 0.1 μA
– Power-save Mode: 0.75 μA
30. Microcontroller Ports and Pins
The communication channels
through which information flows
into or out of the
microcontroller
Ex. PORTB
Pins PB0 – PB7
May not be contiguous
Often bi-directional
C
See next slides!
31. Port Pin Data Directionality
• Input
– When you want to take information from the external
world (sensors) into the MCU
• Output
– When you want to change the state of something outside
the MCU (turn a motor on or off, etc.)
• Pins default to input direction on power-up or reset.
• Your program can set or change the directionality of
a pin at any time
33. Setting the Pin Data Direction
• Arduino
– pinMode(pin_no., dir)
• Ex. Make Arduino pin 3 (PD3) an output
– pinMode(3, OUTPUT);
– pinMode(PIN_D3, OUTPUT); // with me106.h
– Note: one pin at a time
• Suppose you wanted Arduino pins 3, 5, and 7 (PD3,
PD5, and PD7) to be outputs?
• Is there a way to make them all outputs at the same
time?
34. Pin Used as an Output
• Turn on an LED, which is connected
to pin Arduino pin 0 (PD0)
– What should the data direction
be for pin 0 (PD0)?
• pinMode(____, ____);
– Turn on the LED
• digitalWrite(0,HIGH);
– Turn off the LED
• digitalWrite(0,LOW);
ATmega328
Arduino
pin 0
(PD0)
35. • Recall the question:
– Is there a way change the data direction for a set of pins all
at the same time?
• All the work of MCU happens through registers
(special memory locations)
– Registers on the Atmega328 are 8-bits wide
• The data direction register (DDRx) handles the data
directions for pins in PORTx
Source:http://www.atmel.com/dyn/products/product_card.asp?PN=ATmega328P p. 93
Pin Used as an Output
36. Data Direction Register
• If the bit is zero -> pin will be an input
– Making a bit to be zero == ‘clearing the bit’
• If the bit is one -> pin will be an output
– Making a bit to be one == ‘setting the bit’
• To change the data direction for a set of pins
belonging to PORTx at the same time:
1. Determine which bits need to be set and cleared in DDRx
2. Store the binary number or its equivalent (in an alternate
base, such as hex) into DDRx
37. Example 1
• Arduino approach • Alternate approach
Make Arduino pins 3, 5, and 7 (PD3, PD5, and
PD7) to be outputs
pinMode(3, OUTPUT);
pinMode(5, OUTPUT);
pinMode(7, OUTPUT);
DDRD = 0b10101000;
or
DDRD = 0xA8;
Or if me106.h is used:
pinMode(PIN_D3, OUTPUT);
pinMode(PIN_D5, OUTPUT);
pinMode(PIN_D7, OUTPUT);
38. Example 2
• Arduino approach • Alternate approach
Make pins Arduino pins 0 and 1 (PD0 and PD1)
inputs, and turn on the LEDs connected to it.
pinMode(0, INPUT);
pinMode(1, INPUT);
digitalWrite(0, HIGH);
digitalWrite(1, HIGH);
DDRD = 0; // all PORTD pins inputs
PORTD = 0b00000011;
or
PORTD = 0x03;
Or if me106.h is used:
pinMode(PIN_D0, INPUT);
pinMode(PIN_D1, INPUT);
digitalWrite(PIN_D0, HIGH);
digitalWrite(PIN_D1, HIGH);
42. Arduino Due
Atmel SAM3X8E processor (32 bit ARM Cortex M3 architecture, 84MHz)
http://www.adafruit.com/index.php?main_page=popup_image&pID=1076
See: http://arduino.cc/en/Main/ArduinoBoardDue
Note: 3.3 V !!
43. Arduino Duemilanove/Uno Features
Microcontroller ATmega168/328
Operating Voltage 5V
Input Voltage (recommended) 7-12V
Input Voltage (limits) 6-20V
Digital I/O Pins 14 (of which 6 provide PWM output)
Analog Input Pins 6
DC Current per I/O Pin 40 mA
DC Current for 3.3V Pin 50 mA
Flash Memory
16 KB (ATmega168) or 32 KB (ATmega328) of which 2 KB
used by bootloader
SRAM 1 KB (ATmega168) or 2 KB (ATmega328)
EEPROM 512 bytes (ATmega168) or 1 KB (ATmega328)
Clock Speed 16 MHz
http://www.arduino.cc/en/Main/ArduinoBoardDuemilanove
44. • The Arduino Duemilanove can be programmed with the
Arduino software.
• The Arduino integrated development environment (IDE) is
written in Java, and is derived from the IDE for the
Processing programming language.
• It includes a code editor with features such as syntax
highlighting, brace matching, and automatic indentation,
and is also capable of compiling and uploading programs
to the board with a single click. A program or code written
for Arduino is called a "sketch".[3]
• Arduino programs are written in C or C++.
About Arduino Programming
45. Getting Started w/ Arduino on Windows
1. Get an Arduino board and USB cable
2. Download the Arduino environment
3. Connect the board with PC
4. Install the drivers
5. Launch the Arduino application
6. Open the blink example
7. Select your board like UNO etc.
8. Select your serial port
9. Upload the program
47. Sample Program of LED BLINK
• An arduino program == ‘sketch’
– Must have:
• setup()
• loop()
– setup()
• configures pin modes and
registers
– loop()
• runs the main body of the
program forever
– like while(1) {…}
– Where is main() ?
• Arduino simplifies things
• Does things for you
/* Blink - turns on an LED for DELAY_ON msec, then off for
DELAY_OFF msec, and repeats
BJ Furman rev. 1.1 Last rev: 22JAN2011
*/
#define LED_PIN 13 // LED on digital pin 13
#define DELAY_ON 1000
#define DELAY_OFF 1000
void setup()
{
// initialize the digital pin as an output:
pinMode(LED_PIN, OUTPUT);
}
// loop() method runs forever,
// as long as the Arduino has power
void loop()
{
digitalWrite(LED_PIN, HIGH); // set the LED on
delay(DELAY_ON); // wait for DELAY_ON msec
digitalWrite(LED_PIN, LOW); // set the LED off
delay(DELAY_OFF); // wait for DELAY_OFF msec
}
48. main()
{
init();
setup();
while (1)
loop();
}
Structure of an Arduino Program
in C language
/* Blink - turns on an LED for DELAY_ON msec, then off for
DELAY_OFF msec, and repeats
BJ Furman rev. 1.1 Last rev: 22JAN2011
*/
#define LED_PIN 13 // LED on digital pin 13
#define DELAY_ON 1000
#define DELAY_OFF 1000
void setup()
{
// initialize the digital pin as an output:
pinMode(LED_PIN, OUTPUT);
}
// loop() method runs forever,
// as long as the Arduino has power
void loop()
{
digitalWrite(LED_PIN, HIGH); // set the LED on
delay(DELAY_ON); // wait for DELAY_ON msec
digitalWrite(LED_PIN, LOW); // set the LED off
delay(DELAY_OFF); // wait for DELAY_OFF msec
}
50. Projects Using Arduino
1. Line follower/Path follower
2. Obstacles Avoider
3. Automatic car parking
4. Driverless car
5. Quad copter
6. Water-level detection in soil
7. Surveillance System
8. Dancing/ Funny Robot
9. Smart phone Garage Door Opener
10. Intrusion alarm
11. Thermostat
12. Balance multirotor motor using arduino & acceleromter
13. Email notifier
14. LED Matrix Control
15. Maze Solver Robot
51. 1. http://www.freescale.com/files/microcontrollers/doc/ref_manual/M68HC0
5TB.pdf, p. 25
2. Arduino, “Avalable at http://www.arduino.cc,” 2010.
3. "Programming Arduino Getting Started with Sketches“ :
http://www.amazon.com/Programming-Arduino-Getting-Started-
Sketches/dp/0071784225/ref=sr_1_1?s=books&ie=UTF8&qid=136449413
8&sr=1-1&keywords=arduino+sketches). McGraw-Hill. Nov 8, 2011.
Retrieved 2013-03-28.
4. C. L. Dym, A. M. Agogino, D. D. Frey, and L. J. Leifer, “Engineering
design thinking, teaching, and learning,” Journal of Engineering
Education, vol. 94, pp. 103–120, 2005. [Online]. Available:
http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.72.1593
5. http://www.atmel.com/dyn/products/product_card.asp?PN=ATmega328
6. J. Provost, “Why the arduino won and why it’s here to stay,” Tech.Rep.
7. http://learn.adafruit.com/arduino-tips-tricks-and-techniques/arduino-uno-
faq