If you need to interface a 3.3V logic unit to a 5V logic CPU board you may be tempted to use the traditional two resistor voltage divider. This will work, however there is an alternative solution that uses one 1N4148 (or similar) diode. When the 5V output (right side) is high, the diode blocks but the 3.3V input is still pulled up by an internal pull up. When the 5V output (right side) is low, the diode conducts and pulls down the input on the left side: 3V input –>|– 5v “output”
The illustration is snipped from stackexchange.com
Category: Electronics design and development
How to convert binary fractions to decimal ( fixed point arithmetics )
Example for n = 110.101 Step 1: Conversion of 110 to decimal => 1102 = (1*22) + (1*21) + (0*20) => 1102 = 4 + 2 + 0 => 1102 = 6 So equivalent decimal of binary integral is 6. Step 2: Conversion of .101 to decimal => 0.1012 = (1*1/2) + (0*1/22) + (1*1/23) => 0.1012 = 1*0.5 + 0*0.25 + 1*0.125 => 0.1012 = 0.625 So equivalent decimal of binary fractional is 0.625 Step 3: Add result of step 1 and 2. => 6 + 0.625 = 6.625
Example for n = 4.47 k = 3 Step 1: Conversion of 4 to binary 1. 4/2 : Remainder = 0 : Quotient = 2 2. 2/2 : Remainder = 0 : Quotient = 1 3. 1/2 : Remainder = 1 : Quotient = 0 So equivalent binary of integral part of decimal is 100. Step 2: Conversion of .47 to binary 1. 0.47 * 2 = 0.94, Integral part: 0 2. 0.94 * 2 = 1.88, Integral part: 1 3. 0.88 * 2 = 1.76, Integral part: 1 So equivalent binary of fractional part of decimal is .011 Step 3: Combined the result of step 1 and 2. Final answer can be written as: 100 + .011 = 100.011
Arduino not visible on COM port. Cannot upload a sketch even if you have flashed a fresh booloader. Solution.
If your Arduino does not show up on any USB COM ports even if you flashed a fresh bootloader, it may be because the sketch you flashed has messed up your USB serial settings on the Arduino. This sketch will prevent the Arduino showing up as a com port in Windows because the flashed sketch starts immediately upon reset and “blocks” the normal USB COM operation.
Solution:
1) re flash the bootloader with an ISP connected to the 6 pin header. I use a USBasp (cheap ISP clone).
2) Just so you KNOW the bootloader is installed. You can check that the bootloader is operational by plugging in the board thru the USB COM port (when you already have an open hardware manager windows in Windows).
You should see briefly a new COM device named “Arduino [name of board] bootloader”. This COM device will quickly disappear again if you have a sketch messing up the serial settings.At least you know the bootloader should be OK.
3) Upload a completely empty sketch WITH THE ISP device. Important!:Do that upload with the ISP and NOT via the USB serial cable.
This is a completely empty sketch you can use:
void setup() {}
void loop() {}
I have fixed several dead Arduino boards that I suspected had hw problems this way. In fact the boards were OK. The problem was that a sketch already installed messed up the serial settings. The bootloader and hw was completely ok.
Single supply OPAMP circuit cookbook
Here is a good and basic single supply OPAMP circuit cookbook from Texas Instruments.
Download the PDF HERE :Single-supply-op-amp-circuits
RTOS on Arduino
Professional software developers of time critical code often use a real time operating system (RTOS) in their work. The reason is that the OS is taking care of timing and scheduling tasks with higher priority. Now you can easily use an RTOS on your Arduino as well! Read Jain Risbah’s article over at circuitdigest: https://circuitdigest.com/microcontroller-projects/arduino-freertos-tutorial1-creating-freertos-task-to-blink-led-in-arduino-uno