Development of microprocessor devices based on Arduino
Що Вас чекає на курсі?
Arduino is a hardware computing platform for rapid device prototyping, the main components of which are a microcontroller board that allows input/output signals and a development environment in a programming language that is a simplified subset of C/C++. Microcontrollers are used in a huge number of devices (consumer electronics, vehicles, industrial automation, measuring equipment, medical and military equipment, "smart home" and "internet of things" devices), and therefore their prototypes can be developed on Arduino. A copter controller, a temperature controller at home, an alarm with a notification on the phone,
The course provides an opportunity to practice the basic techniques of developing and programming electronic devices based on microcontrollers and to gain knowledge and skills for further self-realization in the field of engineering, information technology and programming.
Кому?
This course is for you if
- want to understand how digitally controlled devices work;
- you have plans to develop your own electronics based on microcontrollers;
- want to implement individual elements of a "smart house" or the management system as a whole;
- you need to design a microprocessor device for control, signaling, measurement or data acquisition, access control, indication and logging, including with a web interface.
Що в результаті?
You will be able to
- program Arduino microcontroller boards to receive data from digital and analog sensors and input devices (buttons, keyboards), display output, generate control signals for other external electrical devices, use interfaces to interact with other nodes in the network,
- assemble prototypes of microprocessor devices using a breadboard and external modules,
- design printed circuit boards (PCBs) for the production of serial samples of the designed device.
Програма курсу
The structure and principle of operation of microcontrollers of the Harvard architecture using the ATmega328P as an example. Development tools for microcontrollers. Arduino.
Digital outputs of the ATmega328P microcontroller. Connection of LEDs and seven-segment indicators. Switching on and off of powerful current consumers.
Digital inputs. Connection of mechanical and touch buttons.
Using timers/counters. Survey of motion and distance sensors.
Hardware interrupt handling.
Generation of PWM signals. Engine drivers. Speed control of DC motors. Sound alarm.
Control of servo drives.
Analog inputs. Connection of potentiometers and analog sensors. Data filtering from the ADC.
Reading signals from light, air quality, and current sensors.
Digital interfaces 1-wire, I2C, SPI. Survey of sensors of temperature, pressure, air humidity, accelerometer, gyroscope, magnetometer.
Liquid crystal displays. User interface.
Organization of settings storage. Using the built-in EEPROM.
Microcontroller power consumption. Sleep modes. Watchdog timer.
Use of RFID modules. Development of an access control system.
Using USART to transfer data. Survey of the GPS module. Protocols of network interaction.
Programming ESP8266 in Arduino IDE. Connecting the device to the Internet.
Development of a device with a web interface.
From breadboard prototype to serial device: serial device PCB design and board export for production.