Output Devices
Group assignment- Measure the power consumption of an output device
- Document your work (in a group or individually)
- Add an output device to a microcontroller board you've designed and program it to do something
Group assignment.
Individual assignment.
In my final project, I will use an OLED display so I decide to use the display in the output week.
I started with searching on the Output preferences and I found that Professor Neil already made an OLED pcb with the code so I started with replicating his design after I finished with the pcb I found a lethal, The OLED modules Aren't all the same, some of them the VCC and the GND are swapped Like my module.
Thank God I realized this fatal error before testing it can make permanent damage to my OLED. so I redesign the PCB and that was the final result.
So i didn't face any problems with the board fabrication followed the same steps as the "Electronics Production" assignment
The next step will be soldering the components, It was a very easy step the board have less than 10 components X"D  ;
in programming I use professor Neil code, you can found the code "here" so I used the Fab isp with Arduino IDE to Programming the ATtiny45 you can found more details at "Embedded programming" week.
so someone notified me that I can compile C in Arduino IDE instead of using Avrdude, just select the correct internal clock and that's it we are good to go.
Now for testing, I used the fab isp to power the board.
       Now for the big challenge, when I tried any Oled library, it was too big for the ATTINY memory, so now I have two options.
- Try to program it using C instead of Arduino c to save more memory space.
- use Arduino instead of ATTINY.
So I will go with the second option because to see how I'm going to make it in c that will consume a lot of time and I'm not sure from the final result, and anyway I'm going to use Arduino nano in my final project or at the worst case I will use Atmega 328.
Finally this week will help me in the development of my final project because it allowed me to explore and successfully implement the I2C protocol on my boards. I am now more familiar with master and slave communication which will enable me to create robust communications for other devices in my final projects.