Wednesday 23 September 2020

13 Reasons Apple Cider Vinegar Is the Magic Potion You Need in Your Life

 

13 Reasons Apple Cider Vinegar Is the Magic Potion You Need in Your Life

Science says the grocery store staple can be crazy effective — once you separate the facts from fiction.

by 

The internet is full of bogus health claims about apple cider vinegar, but few actually check out. Try to use apple cider vinegar to, say, clean a cut or clear up acne, and you could end up worse off than when you started.

That's not to say that apple cider vinegar is useless. Science says it *does* work some pretty spectacular miracles, according to Carol Johnston, PhD, a registered dietitian and professor at the School of Nutrition and Health Promotion at Arizona State University in Phoenix, who's been studying the actual effects of vinegar for years. (Her motto: "Anecdotal remedies might have some merit, but you don't know until you do the science.")

First things first: All vinegars contain an active ingredient known as acetic acid, which means all varieties (including pasteurized, unpasteurized, organic, and different flavors) are pretty much the same, according to Johnston, who personally prefers red wine vinegar over apple cider vinegar because it has a smoother taste. The only difference is that darker-colored vinegars may contain trace amounts of antioxidants found in dark colored fruits (like red grapes, pomegranate, etc.), she says.

If you want to experiment with drinking vinegar to soak up any of the benefits listed below, the safest and most effective way is to add 1 to 2 tablespoons of vinegar to one glass of water and drink it on an empty stomach immediately before eating. (Researchers don't know which foods could cancel out acetic acid's effects, so you want to make sure it beats any food into your stomach and avoid combining it with other compounds such as salt.)

Don't even think about shooting it straight up (or applying it topically) without first diluting it in at least 1 cup of water per tablespoon. Your esophagus isn't designed to withstand all that acid, so it's all too easy to inadvertently inhale trace amounts of it while trying to swallow. This could send acid into your lungs, where it can cause pain that Johnston likens to sunburn in your lungs.

And don't overdo it. In large amounts, "acetic acid is a poison and can have toxic effects," Johnston says. "You'll see some benefits with one tablespoon, and significant effects with two, but there's never a time when more than that is better."

13 Real Benefits of Vinegar

1. It reduces bloating. Vinegar increases the acidity in the stomach, which allows it to digest the food you've eaten and helps propel it into the small intestine, according to Raphael Kellman, MD, founder of the Kellman Center for Integrative and Functional Medicine in New York City. Because slow digestion can cause acid reflux, a burning sensation that occurs when food in your stomach backs up all the way into your esophagus and triggers feelings of fullness, consuming vinegar to move things along can stop you from feeling like the Pillsbury Dough Boy.

2. It increases the benefits of the vitamins and minerals in your food. "When your stomach isn't producing enough acid, this impairs the absorption of nutrients as well as B6, folate, calcium, and iron," Dr. Kellman explains. Help your body by ingesting a bit more acid in the form of vinegar, and you'll actually be able to use all the good stuff you consumed by ordering the side salad instead of fries.

3. It cancels out some of the carbs you eat. The acetic acid found in vinegar interferes with the enzymes in your stomach responsible for digesting starch so you can't absorb the calories from carbs you've eaten.

In theory, this means that vinegar should help with weight loss, and existing research supports the notion. But before you go buying bagels by the dozen and vinegar by the gallon: Johnston warns that vinegar will not necessarily promote weight loss (no matter how much you consume) — particularly if you double down on carbs thinking you're immune to calories. No one knows exactly how many calories vinegar can block because no research has been done on the topic. Because undigested starch could be fermented in the colon, and your body could end up absorbing the starch calories after all, Johnston doubts vinegar can cause rapid weight loss after all.

4. It softens your energy crash after eating lots of sugar or carbs. Consuming vinegar before a meal can help by slowing the rush of sugar to your blood stream, so your blood sugar spike resembles a hill instead of a mountain and you don't crash quite as hard.

5. It keeps you full longer. In a small but thorough study, researchers found that people who consumed vinegar before eating a breakfast of white bread felt more satisfied 90 minutes after eating compared to people who only ate the bread. (Worth noting: Two hours after eating, both groups were equally hungry. It just goes to show why white bread doesn't make a stellar breakfast food — with or without vinegar.)

6. It can help your muscles produce energy more efficiently before a major push. Endurance athletes sometimes drink diluted vinegar before they carb-load the night before competing because acetic acid can helps the muscles turn carbs into energy to fuel intense exercise, according to well-regarded research conducted on animals.

7. It could lower your blood pressure. Animal studies suggest that drinking vinegar can lower your blood pressure by a few points. Researchers don't understand exactly how this works or whether it is equally effective among humans, but Johnston is pretty confident it can make at least a modest difference.

8. It cleans fruits and veggies. The best way to clean produce, according to Johnston, is with diluted vinegar: Research suggests its antibacterial properties can significantly reduce pathogens such as Salmonella. Just fill an empty spray bottle with diluted vinegar and spritz your produce (salad stuff, fruits, etc.) then rinse in regular water before serving.

And don't rely on a vinegar-based salad dressing to redeem a dirty deli's salad bar fare: Johnston worries that mixing vinegar with ingredients found in salad dressings (like salt or olive oil) or with actual salad could render acetic acid inactive, and says that more research is needed on the topic.

9. It kills bad breath. You might have heard that the antibacterial properties of vinegar can kill microorganisms responsible for bad breath — and in theory, this is true. However, Johnston warns, "it's no more effective than any other antibacterial agents, and there are better products designed for this purpose."

10. It deodorizes smelly feet. Just wipe down your clompers with a paper towel dipped in diluted vinegar. The antibacterial properties of vinegar will kill the smelly stuff.

11. It relieves jellyfish stings. In case you're ever stung by a jellyfish and just so happen to have diluted vinegar on hand, you'll be awfully lucky: Vinegar deactivates the jellyfish's sting better than many other remedies — even though hot water still works best, according to a study that compared both techniques.

12. It balances your body's pH levels, which could mean better bone health. Although vinegar is obviously acidic, it actually has a neutralizing effect once it's inside of you. Meaning: It makes your body's pH more basic (i.e., alkaline).

Because studies show that people who eat more alkaline diets (more veggies and less meat) tend to have greater bone mineral density — something you might not think twice about now, but will definitely appreciate as an Old — vinegar could, in theory, strengthen your bones. (It's a hypothesis that makes lots of sense of paper, even though no one has proven it yet, says Johnston.)

13. It alleviates heartburn — sometimes, according to Johnston, who just wrapped up a study on using vinegar to treat this condition. Vinegar's effectiveness depends on the source of your heartburn: If you have erosive heartburn caused by lesions in your esophagus or stomach ulcers, a dose of vinegar will only aggravate the problem. But if your heartburn stems from something you ate, adding acetic acid to your stomach can help neutralize the acid in there and help fix the problem, providing you with at least a little bit of comfort.

It could be why some folklore suggests vinegar can sooth an upset stomach triggered by a bacterial infection — which has never been studied, but may check out, according to Johnston.

 

7 Bogus Health Claims About Apple Cider Vinegar

"Anecdotal remedies might have some merit — if it's been around for centuries, it's probably working," says Johnston, who's fact-checked many homeopathic benefits of vinegar by conducting controlled experiments. "But you don't know until you do the science," she adds, so don't fall for these unfounded claims that can do more harm than good:

1. It cures acne. Despite what you might have read about vinegar's antibacterial benefits and ability to clear up breakouts, the acid in the vinegar can irritate your skin and aggravate skin lesions, according to Johnston. Not good!

2. It suppresses your appetite. A small study found that drinking vinegar could reduce your appetite — but the amount you'd have to drink to reap the greatest effects is so unpalatable and nauseating on an empty stomach that it's actually intolerable. (It's why the study authors blatantly recommend against using vinegar as an appetite suppressant.)

3. It cleans wounds. Without a doubt, vinegar will kill bacteria — but because acid will irritate the shit out of skin surrounding an open wound, you definitely don't want to apply it to broken skin. Antibacterial soap will kill the germs without causing undo pain, according to Johnston.

4. It whitens teeth. "I've heard of this, but would be careful before trying it because vinegar is an acid that can erode enamel off your teeth or stain it like red wine," Johnston says.

6. It soothes sunburn. "Vinegar is an acid, so it will only irritate your skin more," Johnston says. (Duh.)

7. It detoxifies your system. Some naturopathic sources claim vinegar can improve circulation, clear out your liver, and generally clean you out. But Johnston is pretty skeptical: "It might have merit in a trial, but there's no scientific evidence," she says.

Follow Elizabeth on Twitter and Instagram.

For More Information Visit: https://versatilevinegar.org/

------------------------------------------------------------------------

Balsamic Vinegar

Cider Vinegar

Malt Vinegar

Other Wine Vinegar

Red Wine Vinegar

Seasoned Vinegar from your Kitchen

White Distilled Vinegar

White Wine Vinegar

Wine Vinegar

 

 

Saturday 9 May 2020

Attiny25/45/85 Low Power Led Flasher

Connect Led Pin to PB0 of Attiny25/45/85 (Pin 5)

CODE:

//ATTINY25/45/85
#include <avr/sleep.h>
#include <avr/wdt.h>

#ifndef cbi
#define cbi(sfr, bit) (_SFR_BYTE(sfr) &= ~_BV(bit))
#endif
#ifndef sbi
#define sbi(sfr, bit) (_SFR_BYTE(sfr) |= _BV(bit))
#endif

int pinLed = 0;
volatile boolean f_wdt = 1;
void setup() {
  pinMode(pinLed, OUTPUT);

  // 0=16ms, 1=32ms,2=64ms,3=128ms,4=250ms,5=500ms
  // 6=1 sec,7=2 sec, 8=4 sec, 9= 8sec

  setup_watchdog(9);    // Set Sleep Time (approximately 8 seconds sleep)
}

void loop() {
  if (f_wdt == 1) { // wait for timed out watchdog / flag is set when a watchdog timeout occurs
    f_wdt = 0;     // reset flag

    digitalWrite(pinLed, HIGH); // let led blink
    delay(70);                               //Set Led On Time
    digitalWrite(pinLed, LOW);

    pinMode(pinLed, INPUT); // set all used port to intput to save power
    system_sleep();
    pinMode(pinLed, OUTPUT); // set all ports into state before sleep
  }
}

// set system into the sleep state
// system wakes up when wtchdog is timed out
void system_sleep() {
  cbi(ADCSRA, ADEN);                   // switch Analog to Digitalconverter OFF

  set_sleep_mode(SLEEP_MODE_PWR_DOWN); // sleep mode is set here
  sleep_enable();

  sleep_mode();                        // System sleeps here

  sleep_disable();                     // System continues execution here when watchdog timed out
  sbi(ADCSRA, ADEN);                   // switch Analog to Digitalconverter ON
}

void setup_watchdog(int ii) {
  byte bb;
  int ww;
  if (ii > 9 ) ii = 9;
  bb = ii & 7;
  if (ii > 7) bb |= (1 << 5);
  bb |= (1 << WDCE);
  ww = bb;

  MCUSR &= ~(1 << WDRF);
  // start timed sequence
  WDTCR |= (1 << WDCE) | (1 << WDE);
  // set new watchdog timeout value
  WDTCR = bb;
  WDTCR |= _BV(WDIE);
}

// Watchdog Interrupt Service / is executed when watchdog timed out

ISR(WDT_vect) {
  f_wdt = 1;        // set global flag
}

//-------------------------------------------------------------------------------------------//

Attiny13 Low Power Led Flasher

Connect Led to Pin PB0 of Attiny13 (Pin No 5)


CODE:

//ATTINY13A

#define F_CPU 1200000UL       // MCU frequency in hertz

#include <avr/io.h>
#include <avr/wdt.h>         
#include <avr/sleep.h>       
#include <avr/power.h>
#include <avr/interrupt.h>   
#include <util/delay.h>

#define led 0                 // PB0

int main( void )              // similar to void setup ()
{
  wdt_reset();                // first you need to reset the Wachdog
  // otherwise there may be a reboot
  pinMode(led, OUTPUT);
 
while (1) {                 // perpetual loop, analog of void loop ()
    digitalWrite(led, HIGH);
    _delay_ms(50);            // On Time
    digitalWrite(led, LOW);
    sleepFewSeconds();        // sleep for 8 sec.
  }
}

void sleepFewSeconds() {
  wdt_reset();                // reset the watchdog
  PORTB = 0x00;               // submit the log. 0 to all ports
  DDRB = 0x00;
  ADCSRA &= ~(1 << ADEN);     // disable ADC
 
// otherwise there will be excess current consumption in sleep mode
  MCUSR &= ~(1 << WDRF);

 /* Start the WDT Config change sequence. */
  WDTCR |= (1 << WDCE) | (1 << WDE);
  /* Configure

the prescaler and the WDT for interrupt mode only*/
  // Uncomment the interval you need
  WDTCR = (1 << WDP0) | (1 << WDP3) | (1 << WDTIE); // 8sec
  //WDTCR = (1<<WDP3) | (1<<WDTIE); // 4sec
  //WDTCR = (1<<WDP2) | (1<<WDP1) | (1<<WDP0) | (1<<WDTIE); // 2sec
  //WDTCR = (1<<WDP2) | (1<<WDP1) | (1<<WDTIE); // 1sec
  //WDTCR = (1<<WDP2) | (1<<WDP0) | (1<<WDTIE); // 0.5sec
 
WDTCR |= (1 << WDTIE);
  sei();      // Enable global interrupts
  set_sleep_mode(SLEEP_MODE_PWR_DOWN);
  while (1) {
    sleep_enable();   // allow sleep
    sleep_cpu();      // sleep!
    sleep_disable();
  }
}

Monday 9 March 2020

ATtiny85 Powered High Voltage AVR Programmer



ATtiny85 Powered High Voltage AVR Programmer
This very simple and inexpensive circuit will reset the fuses on a bricked ATtiny chip. Once programmed, no Arduino is required!



Story

This simple and inexpensive high voltage AVR programmer for ATtiny chips requires only an ATtiny85 and a few components to build. Using Wayne Holder’s excellent ATtiny Fuse Reset posts as a starting point, this little device is able to reset the fuses on many ATtiny devices. With the correct (8-pin or 14-pin) wiring, it should be able to reset ATtiny13, 24, 25, 44, 45, 84, and 85 chips.
The fuse reset process requires a 12v reset signal and 5v to power the chip being reset. Wayne’s projects use a 5v power source, and either a separate 12v battery or an Arduino powered charge pump as the 12v source. To keep things simple, this project starts with a 12v power source and uses a 5v voltage regulator to provide 5v to power the ATtiny chips.

Using the Programmer

Hold the momentary switch down for a second or so. In most cases, the LED will light up very briefly (programming mode) and then turn off to indicate the reset has completed successfully.
Error Indications
If the LED stays on or begins flashing slowly, this indicates that the programmer could not read the signature of the target chip. Check the connections, and make sure both chips are plugged in completely and in the correct orientation.
If the LED flashes quickly, this indicates that the fuse reset failed – the programmer recognized the device signature and attempted to reset the fuses, but the fuse values read from the device after the reset were not as expected. In my experience, this is pretty rare.

How to Make

The circuit is so simple that it can be breadboarded in a matter of minutes. You’ll need to use an Arduino (Arduino as AVR) to load the sketch into the master ATtiny85. This must be done only once; the master chip can then be used to reset the fuses on an unlimited number of target devices.

Connections

8-pin
Master   Target (8-pin)
2        2
4 GND    4 GND
5        5
6        6
7        7
8 5v     8 5v
14-pin
Master   Target (14-pin)
2        2
4 GND    11, 12, 13, 14 GND
5        7
6        8
7        9
8 5v     1 5v
In both cases, Master pin 3 goes to the base of the NPN transistor. The emitter goes to ground, and the collector goes to pin 1 of the target chip. The collector is also connected to 12v through the 1KΩ resistor.
Master pin 2 is also connected (through a 330Ω resistor) to the status LED.
Note: To keep the circuit simple, the capacitors normally surrounding the voltage regulator have been omitted. In most cases, the circuit will work fine (especially with the 7805 regulator). If you experience stability problems, a 10µF and 0.1µF capacitor connecting the input and output (respectively) to ground might be necessary.








 CODE:

// AVR High-voltage Serial Fuse Reprogrammer
// Adapted from code and design by Paul Willoughby 03/20/2010
//   http://www.rickety.us/2010/03/arduino-avr-high-voltage-serial-programmer/
// and Wayne Holder
//   https://sites.google.com/site/wayneholder/attiny-fuse-reset
//
// Fuse Calc:
//   http://www.engbedded.com/fusecalc/

#define  LED      3    // Status indicator LED
#define  RST      4    // (13) Output to level shifter for !RESET from transistor
#define  SCI      3    // (12) Target Clock Input
#define  SDO      2    // (11) Target Data Output
#define  SII      1    // (10) Target Instruction Input
#define  SDI      0    // ( 9) Target Data Input

#define  HFUSE  0x747C
#define  LFUSE  0x646C
#define  EFUSE  0x666E

// ATTiny series signatures
#define  ATTINY13   0x9007  // L: 0x6A, H: 0xFF             8 pin
#define  ATTINY24   0x910B  // L: 0x62, H: 0xDF, E: 0xFF   14 pin
#define  ATTINY25   0x9108  // L: 0x62, H: 0xDF, E: 0xFF    8 pin
#define  ATTINY44   0x9207  // L: 0x62, H: 0xDF, E: 0xFFF  14 pin
#define  ATTINY45   0x9206  // L: 0x62, H: 0xDF, E: 0xFF    8 pin
#define  ATTINY84   0x930C  // L: 0x62, H: 0xDF, E: 0xFFF  14 pin
#define  ATTINY85   0x930B  // L: 0x62, H: 0xDF, E: 0xFF    8 pin

int error = 0;
byte FuseH = 0;
byte FuseL = 0;
byte FuseX = 0;

void setup() {
  pinMode(RST, OUTPUT);
  digitalWrite(RST, HIGH);  // Level shifter is inverting, this shuts off 12V
  pinMode(SDI, OUTPUT);
  pinMode(SII, OUTPUT);
  pinMode(SCI, OUTPUT);
  pinMode(SDO, OUTPUT);     // Configured as input when in programming mode

  digitalWrite(SDI, LOW);
  digitalWrite(SII, LOW);
  digitalWrite(SDO, LOW);

  delayMicroseconds(30);  // wait long enough for target chip to see rising edge
  digitalWrite(RST, LOW);  // 12v On
  delayMicroseconds(10);
  pinMode(SDO, INPUT);      // Set SDO to input
  delayMicroseconds(300);
  unsigned int sig = readSignature();

  if (sig == ATTINY13) {
    writeFuse(LFUSE, 0x6A);
    writeFuse(HFUSE, 0xFF);
    readFuses();    // check to make sure fuses were set properly
    if (FuseL != 0x6A || FuseH != 0xFF) {
      error = 5;    // fast flash if fuses don't match expected
    }
  } else if (sig == ATTINY24 || sig == ATTINY44 || sig == ATTINY84 ||
             sig == ATTINY25 || sig == ATTINY45 || sig == ATTINY85) {
    writeFuse(LFUSE, 0x62);
    writeFuse(HFUSE, 0xDF);
    writeFuse(EFUSE, 0xFF);
    readFuses();    // check to make sure fuses were set properly   
    if (FuseL != 0x62 || FuseH != 0xDF || FuseX != 0xFF) {
      error = 5;    // fast flash if fuses don't match expected
    }
  } else {   
    error = 1;      // slow flash if device signature is invalid
  }

  digitalWrite(SCI, LOW);
  digitalWrite(RST, HIGH);   // 12v Off
  digitalWrite(LED, LOW);    // LED off for succerss
}

void loop() {
  // Flash LED if there was an error
  while (error > 0) {
    int d = 500 / error;
    digitalWrite(LED, HIGH);
    delay(d);
    digitalWrite(LED, LOW);
    delay(d);
  }
}

byte shiftOut (byte val1, byte val2) {
  int inBits = 0;
  //Wait until SDO goes high
  while (!digitalRead(SDO))
    ;
  unsigned int dout = (unsigned int) val1 << 2;
  unsigned int iout = (unsigned int) val2 << 2;
  for (int ii = 10; ii >= 0; ii--)  {
    digitalWrite(SDI, !!(dout & (1 << ii)));
    digitalWrite(SII, !!(iout & (1 << ii)));
    inBits <<= 1;
    inBits |= digitalRead(SDO);
    digitalWrite(SCI, HIGH);
    digitalWrite(SCI, LOW);
  }
  return inBits >> 2;
}

void writeFuse (unsigned int fuse, byte val) {
  shiftOut(0x40, 0x4C);
  shiftOut( val, 0x2C);
  shiftOut(0x00, (byte) (fuse >> 8));
  shiftOut(0x00, (byte) fuse);
}

void readFuses () {
  shiftOut(0x04, 0x4C);  // LFuse
  shiftOut(0x00, 0x68);
  FuseL = shiftOut(0x00, 0x6C);

  shiftOut(0x04, 0x4C);  // HFuse
  shiftOut(0x00, 0x7A);
  FuseH = shiftOut(0x00, 0x7E);

  shiftOut(0x04, 0x4C);  // EFuse
  shiftOut(0x00, 0x6A);
  FuseX = shiftOut(0x00, 0x6E);
}

unsigned int readSignature () {
  unsigned int sig = 0;
  byte val;
  for (int ii = 1; ii < 3; ii++) {
    shiftOut(0x08, 0x4C);
    shiftOut(  ii, 0x0C);
    shiftOut(0x00, 0x68);
    val = shiftOut(0x00, 0x6C);
    sig = (sig << 8) + val;
  }
  return sig;
}

 

 

Credits

sbinder