Skip to content
Snippets Groups Projects
Commit 1ba992cc authored by Pushkar Suryawanshi's avatar Pushkar Suryawanshi
Browse files

Update public/assignments/week01.html

parent 5f382bba
No related branches found
No related tags found
No related merge requests found
Pipeline #402130 passed
......@@ -128,214 +128,6 @@
<p> 2) Initially faced issues with alignment and padding in web development.</p>
<h1> difference Between Microcontrollers & Microprocessor.</h1>
<img src="../images/diff.png" alt="Description of image" width="600"/> <!-- Insert your image here -->
<p> Images referance from Wikipedia </p>
</div>
<div class = "ESP32">
<h1> About ESP32 Microcontroller</h1>
<img src="../images/esp32.jpg" alt="Description of image" width="600"/> <!-- Insert your image here -->
<p> ESP32 is a microcontroller that is the successor of ESP8266 load with many new features.The ESP32 is a series of low-cost and low-power Systems on a Chip (SoC) microcontrollers developed by Espressif. It is a dual-core processor having inbuilt Wi-Fi & Bluetooth facilities. </p>
<h1> ESP32 Data Sheet</h1>
<p>ESP32 is a single-chip 2.4 GHz Wi-Fi and Bluetooth combo chip designed with TSMC ultra low power 40 nm technology. It is designed and optimized for the best power performance, RF performance, robustness, versatility, features, and reliability, for a wide variety of applications, and different power profiles.</p>
<h2> A) Basic Protocol </h2>
<p> 1) Wifi: - 802.11 n (2.4 GHz), up to 150 Mbps</p>
<p> 2) Bluetooth: - Compliant with Bluetooth v4.2 BR/EDR and BLE specification</p>
<h2> B) MCU and Advanced Features </h2>
<p> 1) CPU and Memory: - Xtensa® Dual-Core 32-bit LX6 microprocessors, up to 600 DMIPS</p>
<p> 2) Clocks and Timers: - Internal 8 MHz oscillator with calibration</p>
<p> 3) Advanced Peripheral Interfaces: - 12-bit SAR ADC up to 18 channels, 2 × 8-bit D/A converters</p>
<p> 4) Security: - IEEE 802.11 standard security features are all supported, including WFA, WPA/WPA2 and WAPI</p>
<p> 5) Development Support: - SDK Firmware for fast online programming, Open-source toolchains based on GCC</p>
<p> 6) Application: - Generic low-power IoT sensor hub, Generic low-power IoT loggers, Video streaming from the camera.</p>
<h2> Few Features of ESP32</h2>
<p>SESP32 microcontroller is easily accessible for general people as the cost of this microcontroller is much lower than other equivalent microcontrollers.</p>
<p> ESP32 microcontroller has inbuilt Bluetooth and Wi-Fi but still, it consumes less power than other microcontrollers. It also supports low-power mode states like deep sleep to save power.</p>
<p> ESP32 can easily connect to a Wi-Fi network to connect to the internet or create its own Wi-Fi wireless network so other devices can connect to it.</p>
<p> ESP32 supports Bluetooth classic and Bluetooth Low Energy, which is useful for a wide variety of IoT applications.</p>
<p> ESP32 are dual-core and come with 32-bit LX6 microprocessors.</p>
<p> Compatible with the Arduino programming language that can help Arduino users to use this microcontroller effectively.</p>
<p> Compatible with Micro Python you can program the ESP32 with Micro Python firmware.</p>
<h1> Pinout Structure of ESP32 </h1>
<img src="../images/pinout.jpg" alt="Description of image" width="800"/> <!-- Insert your image here -->
<p> Input-only pins: - GPIO 34 GPIO 35 GPIO 36 GPIO 39</p>
<p> Capacitive touch GPIOs: - T0 (GPIO 4) T1 (GPIO 0) T2 (GPIO 2) T3 (GPIO 15) T4 (GPIO 13) T5 (GPIO 12) T6 (GPIO 14) T7 (GPIO 27) T8 (GPIO 33) T9 (GPIO 32) </p>
<p> Analog to Digital Converter (ADC): - ADC1_CH0 (GPIO 36) ADC1_CH1 (GPIO 37) ADC1_CH2 (GPIO 38) ADC1_CH3 (GPIO 39) ADC1_CH4 (GPIO 32) ADC1_CH5 (GPIO 33) ADC1_CH6 (GPIO 34) ADC1_CH7 (GPIO 35) ADC2_CH0 (GPIO 4) ADC2_CH1 (GPIO 0) ADC2_CH2 (GPIO 2) ADC2_CH3 (GPIO 15) ADC2_CH4 (GPIO 13) ADC2_CH5 (GPIO 12) ADC2_CH6 (GPIO 14) ADC2_CH7 (GPIO 27) ADC2_CH8 (GPIO 25) ADC2_CH9 (GPIO 26)</p>
<p> Digital to Analog Converter (DAC): - DAC1 (GPIO25) DAC2 (GPIO26) </p>
<p> RTC GPIOs: - RTC_GPIO0 (GPIO36) RTC_GPIO3 (GPIO39) RTC_GPIO4 (GPIO34) RTC_GPIO5 (GPIO35) RTC_GPIO6 (GPIO25) RTC_GPIO7 (GPIO26) RTC_GPIO8 (GPIO33) RTC_GPIO9 (GPIO32) RTC_GPIO10 (GPIO4) RTC_GPIO11 (GPIO0) RTC_GPIO12 (GPIO2) RTC_GPIO13 (GPIO15) RTC_GPIO14 (GPIO13) RTC_GPIO15 (GPIO12) RTC_GPIO16 (GPIO14) RTC_GPIO17 (GPIO27) </p>
<h1> Arduino IDE </h1>
<h2> Installing Arduino IDE </h2>
<p> ESP32 Microcontroller perfectly runs on c & c++ using Arduino IDE. So, I downloaded the latest version of Arduino IDE from the official website of Arduino & I also installed the required libraries for programming the ESP32 microcontroller.</p>
<img src="../images/arduinoweb.png" alt="Description of image" width="800"/> <!-- Insert your image here -->
<h2> About Arduino IDE </h2>
<p> The Arduino Integrated Development Environment - or Arduino Software (IDE) - contains a text editor for writing code, a message area, a text console, a toolbar with buttons for common functions, and a series of menus. It connects to the Arduino hardware to upload programs and communicate with them. </p>
<img src="../images/ide.png" alt="Description of image" width="800"/> <!-- Insert your image here -->
<h2> Board Port Selection</h2>
<p> This is one of the major steps while working with Arduino IDE, as Arduino has different types of boards and supports other types of boards. So, In order to work with them efficiently, we must aware of Arduino IDE with our board and the port from which we will transfer the code to the microcontroller.</p>
<img src="../images/boardport.png" alt="Description of image" width="800"/> <!-- Insert your image here -->
<h2> Program Uploading </h2>
<p> 1) Compile the code: - After writing the code we need to compile that code for checking errors in it, this process can help us to evaluate and remove errors in our code before uploading it into the microcontroller.</p>
<img src="../images/Compile.png" alt="Description of image" width="800"/> <!-- Insert your image here -->
<p> 2) Upload the code: - After successful code compilation we must connect our microcontroller to one of the ports of our local server.</p>
<img src="../images/upload.png" alt="Description of image" width="800"/> <!-- Insert your image here -->
<p> 3) Monitor the output: - Arduino IDE supports a monitoring function where we can view and monitor the output achieved by sensors and microcontrollers.</p>
<img src="../images/monitoring.png" alt="Description of image" width="800"/> <!-- Insert your image here -->
<h1> Embedded Programming </h1>
<h2> LED Blinking Using ESP32 </h2>
<p> ESP32 has a built-in LED on pin no. 2, I have programmed ESP32 to blink its LED at a certain time internally using Void setup, Void Loop, and delay functions. I have also used small LEDs instead of built-in LEDs.</p>
<h3> Equipment used</h3>
<p>ESP32, Breadboard, LED, Data Transfer cable, etc.</p>
<h3> Methodology </h3>
<p> 1) Arduino IDE has an inbuilt program as an example, I modified that program by changing input & output pin locations. </p>
<p> 2) I also modified the delay time for LED high and low.</p>
<p> 3) ESP32 has Built-in LED located at pin no. </p>
<p> 4) Connected ESP32 to my local computer.</p>
<p> 5) Selected appropriate board and port locations. </p>
<p> 6) Uploaded Program to ESP32 by compiling it.</p>
<h3> Wiring Diagram </h3>
<img src="../images/espledcode.png" alt="Description of image" width="800"/> <!-- Insert your image here -->
<h3> Code </h3>
<img src="../images/espled.png" alt="Description of image" width="800"/> <!-- Insert your image here -->
<h3> Video </h3>
<video width="640" height="480" controls>
<source src="../images/videoled0.mp4" type="video/mp4">
</video>
<h2> Distance measurement using Ultrasonic sensor </h2>
<p> The ultrasonic sensor generates ultrasonic pulses to calculate the distance or the depth of an object, here I have tried to calculate the depth of a respective object and show its exact distance using an ESP32 microcontroller.</p>
<h3> Equipment used</h3>
<p>ESP32, breadboard, Ultrasonic sensors, jumper cable & Micro USb Cable.</p>
<h3> Methodology </h3>
<p> 1) i Got a code for calculating distance using ultrasonic sensor and ESP32 from Random nerd Tutorials. </p>
<p> 2) I Modified that program by changing i/o pin location.</p>
<p> 3) Prepared ESp32 & Ultrasonic sensor and arrange then according to proram.</p>
<p> 4) Connected ESP32 to my local computer.</p>
<p> 5) Selected appropriate board and port locations. </p>
<p> 6) Uploaded Program to ESP32 by compiling it.</p>
<p> 7) Arduino IDE has serial monitor that can actually help to monitor the outoup.</p>
<h3> Wiring Diagram </h3>
<img src="../images/espultra.png" alt="Description of image" width="800"/> <!-- Insert your image here -->
<h3> Code </h3>
<img src="../images/espultracode.png" alt="Description of image" width="800"/> <!-- Insert your image here -->
<h3> Video </h3>
<video width="640" height="480" controls>
<source src="../images/videoultra1.mp4" type="video/mp4">
</video>
<h2> Esp32 Programming with Micro-Python </h2>
<h3> What is Micro-python </h3>
<p> MicroPython is a Python 3 programming language re-implementation targeted for microcontrollers and embedded systems. MicroPython is very similar to regular Python. Apart from a few exceptions, the language features of Python are also available in MicroPython. The most significant difference between Python and MicroPython is that MicroPython was designed to work under constrained conditions.</p>
<h3> Installing Thonny </h3>
<p> Installing thonny IDE for windows </p>
<img src="../images/tho1.png" alt="Description of image" width="800"/> <!-- Insert your image here -->
<p> Downloaded firmware require of thonny micropython. </p>
<img src="../images/thonny firmware.png" alt="Description of image" width="800"/> <!-- Insert your image here -->
<p> For installing firmware,follow below steps. click on tools> Manage Pluggins. </p>
<img src="../images/thonny1.png" alt="Description of image" width="800"/> <!-- Insert your image here -->
<p> Search for esptool and click on first opention generated. </p>
<img src="../images/thonny2.png" alt="Description of image" width="800"/> <!-- Insert your image here -->
<p> Then again click on tool> options.</p>
<img src="../images/thonny3.png" alt="Description of image" width="800"/> <!-- Insert your image here -->
<p> under option menu click on interpreter, and select esp32 and also select com. </p>
<img src="../images/thonny4.png" alt="Description of image" width="800"/> <!-- Insert your image here -->
<p> after that select post and upload downloaded firmare file and start installing it. </p>
<img src="../images/thonny5.png" alt="Description of image" width="800"/> <!-- Insert your image here -->
<p> After sucessfully updating firmware, we can see esp32 is linked with ide.</p>
<img src="../images/thonny6.png" alt="Description of image" width="800"/> <!-- Insert your image here -->
<p> Programming - Micropython>
<p> Sample code for built in Led blinking.</p>
<img src="../images/thonny7.png" alt="Description of image" width="800"/> <!-- Insert your image here -->
<h3> Video </h3>
<video width="640" height="480" controls>
<source src="../images/micrpython.mp4" type="video/mp4">
</video>
</div>
<div class = "Group Assignement">
<h1> Group Assignement</h1>
<h2> Comparison Between ESP32 & Arduino Uno Board.</h2>
<h3> Overview </h3>
<p> This week we have learned different types of microcontrollers and their languages, for this week I mostly used ESP32 microcontroller.so here for the group assignment, we are going to make a comparative report for ESP32, Arduino Uno microcontroller </p>
<h3> Methodology </h3>
<P> Myself and my group members to decide to compare ESP32 with Arduino uno. so, for this, we distributed each microcontroller among us.</P>
<p>Our focus is to compare these microcontrollers to their architecture. Started reading Data sheets of different microcontrollers under study. After completing all-important research, we put all the data in tabular format.</p>
<h2> Comparison Between ESP32 & Arduino Uno Board.</h2>
<img src="../images/groupa.png" alt="Description of image" width="800"/> <!-- Insert your image here -->
<h3> Learning of the week </h3>
<h4> What went well </h4>
<p> Able to learn and use Arduino IdE.</p>
<p> Did learned basic of IDE, Adding different libaries, Board port selection.</p>
<p> Learned structure c++ for controlling and programming Microcontroller.</p>
<h4> What went wrong </h4>
<p> Faced diffuluties with Python, but i have learn and understood basic codes for python and used it for blinking of LED.</p>
</div>
<hr />
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment