Kuva Vasemmalla - Zoom

In my code for the multimeter I used switch case, to make a menu of sorts, with the pressing of the button driving the change of the value and through that it would change the different function being used.

Of the different features I designed for the board, I got Voltage measurement, current measurement and short circuit check to work.

I was also looking into using the standby features in the ATmega32 chip I had, After all the idea the was to have a multimeter similar to current ones, so it would have to nod off unless it is being used actively. But it proved to be a complicated feature to use in the time I had to solve it.

Also turns out I made my solution too integrated, and the different features interfered with eachother to some degree. I would need to develope further variants of the board trying to find more effective solution for switching the feature being used. But the goal still should be to produce a multimeter that one could just solder together and push in the program.

In writing the program for the board there was a good deal of math involved. For the voltage measurement I needed the values of the resistors I used in soldering the board, and the chip doesnt directly give you the voltage value it sees, instead you get a analog value in range of 0-1023 and you need to convert that to volts.

For the ACS712 chip the math was bit more complicated, but the page I used to help me figure it out had a good example I was able to use.

ATmega32

Since I am using a barebones chip, I need to use a custom library for the arduino IDE to properly program it, I have explained the way to add custom libraries to Arduino IDE in week 15 For this chip the necessary library was the Mighty core Meaning you would need to add https://mcudude.github.io/MightyCore/package_MCUdude_MightyCore_index.json to the Arduino IDE boards manager.

Also the routine for programming the board with AVR dude has been covered in the week 15 page.

Kuva Vasemmalla - Zoom

ACS712 sensor

For programming the use of the ACS712 sensor, I found an excellent tutorial online. Henry's Bench - ACS712 tutorial While he is using a dedicated breakout board for the purpose, the code is identical to what I needed for using the chip on my board.

The LCD display

After seeing how troublesome the LCD could be to get to work during the course I was pleased that I got it to work in short order and did not need to use excessive amount of time to utilize it. It took a while to figure out how the use of the cursor worked The arduino tutorial for the display helped a good deal.

The paperwork

  • Assesment
    • Have you, made your slide: 1280 x 1024 pixels with your name, project name, Fab Lab name, a photo/render/sketch of your project, a brief description of what your project is/does?
    • Have you, made a ~1 minute (10MB/1080p/720p) video of you explaining your project?
    • Have you, made a separate Final Project page that briefly summarises your project and?
    • Have you, included the BOM (Bill of Materials) for your project?
    • Have you, linked from this page to any weeks that you worked on your final project?
    • Have you, linked to your presentation.png and presentation.mp4?
    • Have you, included all of your original design files in the archive (2D & 3D, board files & code) No external hosting of final project files - discuss file sizes with your instructor?
    • Have you, included the licence you chose?
    • Have you, acknowledged work done by others?
  • Lecture Details
  • Final Presentations 1
  • Final Presentations 2
  • Final Presentations 3
  • Final Presentations 4
  • Final Presentations 5
  • Final Presentations 6
  • Final Presentations 7
  • The Files

Sub-pages

Learning Outcomes