Article Categories
- All Categories
-
Data Structure
-
Networking
-
RDBMS
-
Operating System
-
Java
-
MS Excel
-
iOS
-
HTML
-
CSS
-
Android
-
Python
-
C Programming
-
C++
-
C#
-
MongoDB
-
MySQL
-
Javascript
-
PHP
-
Economics & Finance
Articles on Trending Technologies
Technical articles with clear explanations and examples
CAN Bus with Arduino
Communication protocols like UART (Serial), I2C and SPI are very popular because several peripherals can be interfaced with Arduino using these protocols. CAN (Controller Area Network) is another such protocol, which isn't very widely popular in general, but find several applications in the automotive domain.While going into the details of CAN bus is beyond the scope of this article, you can find the relevant information here. However, here are a few things you should know −CAN is a message-based protocol (i.e., the message and content are more important than the sender). A message transmitted by one device is received by ...
Read MoreInterface touch sensor with Arduino
A touch sensor looks like the one below −It has 3 pins − Vcc, GND and Signal. Whenever someone touches the sensor, the signal pin goes HIGH (it generally outputs LOW when not touched). Thus, we just have to digitalRead the Signal Pin and determine if the sensor is being touched.Circuit DiagramThe circuit diagram is quite straightforward as shown belowAs you can see, the GND pin of touch sensor is connected to GND pin of Arduino, the Vcc pin to 5V and the SIG pin to pin 7 of the Arduino.Example CodeThe code is also quite straightforward, as you can ...
Read MoreInterface proximity sensor with Arduino
There are various types of proximity sensors available. Ultrasound sensor, which we discussed in another article for measuring distance, can also be used as a proximity sensor. In this article however, we will consider IR proximity sensor.A typical IR proximity sensor looks like the one below −There is an IR Emitter LED and an IR Receiver (photodiode). As you can see, the sensor has 3 pins (VCC, GND and OUT). The OUT pin gives a LOW signal when the there is an obstacle which acts as a reflecting surface, and the light from the LED is reflected back to the ...
Read MoreUnderstanding memory types in Arduino Uno
Arduino Uno, or any other microcontroller for that matter, generally has 3 types of memory −FlashThis is where Arduino sketch is stored.Any variable defined using PROGMEM or the F() macro is also stored here. Note that such variables are immutable by default, i.e., their values can't be changed at runtime.Flash memory is non-volatile (i.e., the stored content is not lost even after power is turned off)It is slower to access than SRAM, but since it is much larger in size than SRAM, some immutable strings/ arrays can be stored here to avoid overflow of SRAM.It generally has 10, 000 read/write ...
Read MoreHow to use F() macro in Arduino?
Often, you may have a lot of print statements in your Arduino code. These are generally stored in the SRAM.However, if your sketch has too many of these print statements, they can fill up the SRAM very quickly. In such a scenario, it may be wise to store these print statements within flash memory (flash memory is generally much larger in size than SRAM). This is assuming that your sketch doesn't occupy the entire flash memory (which it generally doesn't).ExampleA print statement like −Serial.print("A typical constant string to be printed");Can be replaced with the following −Serial.print(F("A typical constant string to ...
Read MoreHow to use PROGMEM in Arduino to store large immutable data?
PROGMEM is the keyword you use when you wish to store data in the program memory (flash) instead of the SRAM. While you can use PROGMEM for a single variable, it won't make much sense to do so. After all, the SRAM would have more than enough space to accommodate your single variable, and it will be faster to access the variable stored in SRAM.PROGMEM is primarily used for large chunks of data (an array mostly), which can overwhelm the SRAM (which is generally much smaller in size than the flash memory, but faster to access). The implication of storing ...
Read MoreAVR libraries in Arduino – Introduction
AVR libraries are developed by Atmel. You might be knowing that the microcontrollers used in most Arduino boards are Atmel microcontrollers (ATmega328P, ATmega2560, etc.). AVR libraries for several specific operations (sleep, time, etc.) already exist, and therefore, we may greatly benefit if we are able to import AVR libraries within Arduino. The good news is that we can!As per Arduino's website, "AVR libraries have the potential to greatly extend the Arduino language. The Arduino system is based on the avr-gcc compiler and makes use of the standard AVR libc libraries, which are open-source C libraries, specifically written for Atmel hardware, ...
Read MoreWatchdog timer in Arduino
A watchdog timer is an essential part of any microcontroller. It resets the program if the program gets stuck anywhere. Very briefly, this is how the watchdog timer works −The timer keeps incrementing.The program has to ensure that it keeps resetting the timer, i.e. does not allow it to overflow.If the timer overflows, it means that the program was stuck somewhere and therefore was unable to reset the timer. An interrupt is generated on timer overflow which resets the microcontroller.To implement watchdog timer in Arduino, we use the avr wdt library.The code is given below −#include void setup() { ...
Read MoreWhat are Symbolic Microinstructions?
The microinstructions can be determined by symbols. It is interpreted to its binary format with an assembler. The symbols should be represented for each field in the microinstruction. The users should be enabled to represent their symbolic addresses. Each line in an assembly language represents symbolic instruction. These instructions are divided into five fields such as label, micro-operations, CD, BR, and AD.The fields that specify the following information are as follows −The label field may be empty or it may specify a symbolic address. A label is terminated with a colon (:).The micro-operations field consists of one, two, or three ...
Read MoreWhat is the Format of Microinstruction in Computer Architecture?
A microinstruction format includes 20 bits in total. They are divided into four elements as displayed in the figure.F1, F2, F3 are the micro-operation fields. They determine micro-operations for the computer.CD is the condition for branching. They choose the status bit conditions.BR is the branch field. It determines the type of branch.AD is the address field. It includes the address field whose length is 7 bits.The micro-operations are divided into three fields of three bits each. These three bits can define seven different micro-operations. In total there are 21 operations as displayed in the table.Symbols with their Binary Code for ...
Read More