In our first lesson (/start-working-with-atmel-avr-microcontrollers/), we got acquainted with the working principle of microcontrollers. But, of course, it's not very convenient to simply write numbers in binary or hexadecimal form in registers. What if you need to change only one bit on a port, without touching the others? Change its value from 0 to 1 or vice versa? We'll answer that question a little later.
Microcontroller - a device, a microchip, designed to control other devices. The microcontroller contains a processor, memory, as well as peripheral devices. In fact, the controller "toggles its pins" - sends pulses of different duration to the pins.
If you want to surprise someone dear to you, you can make them a homemade gift. For example, embroider a cross-stitched napkin. Or grow a cactus. Or throw away a cactus (well, who knows what they expect from you :)). Or finally throw away some trash.
Once I had to create a three-channel thermometer with ds18b20. I can't help but share with those in need.... However, in fairness, it should be noted that the firmware was written overnight, so it's not very readable.... But the device works - that's the main thing :).