ertuncozbay.dev/midi-breadboard-instrument.html

172 lines
7.7 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>MIDI Breadboard Instrument — Projects — Ertunç Özbay</title>
<meta name="description" content="Project notes for the MIDI Breadboard Instrument by Ertunç Özbay: playing MIDI melodies via C code on a breadboard with buzzers, a 1.3-inch AMOLED display, and rotary encoder.">
<link rel="icon" type="image/svg+xml" href="../assets/images/favicon.svg">
<link rel="stylesheet" href="../assets/css/style.css">
</head>
<body>
<a class="skip-link" href="#main-content">Skip to main content</a>
<header class="site-header">
<div class="container header-inner">
<a class="site-brand" href="../index.html">
<span class="brand-mark" aria-hidden="true">EÖ</span>
<span>
Ertunç Özbay
<span class="brand-subtitle">workshop // notebook // lab</span>
</span>
</a>
<button class="nav-toggle" type="button" data-nav-toggle aria-expanded="false" aria-controls="primary-navigation">
<span aria-hidden="true">☰</span>
<span data-nav-label>Menu</span>
</button>
<nav id="primary-navigation" class="site-nav" data-site-nav aria-label="Main navigation">
<ul class="nav-list">
<li><a class="nav-link" href="../index.html">Home</a></li>
<li><a class="nav-link" href="../about.html">About</a></li>
<li><a class="nav-link" href="../projects/index.html" aria-current="page">Projects</a></li>
<li><a class="nav-link" href="../blog/index.html">Blog</a></li>
<li><a class="nav-link" href="../lab.html">Lab</a></li>
<li><a class="nav-link" href="../contact.html">Contact</a></li>
</ul>
</nav>
</div>
</header>
<main id="main-content">
<div class="container">
<nav class="breadcrumb" aria-label="Breadcrumb">
<a href="index.html">← Back to Projects</a>
</nav>
<article>
<header class="workshop-hero">
<div class="card-meta">
<span class="badge badge-experimental">Status: In progress / Experimental</span>
<span>Project 03 // Breadboard Hardware, C Code &amp; Music</span>
</div>
<h1>MIDI Breadboard Instrument</h1>
<p class="hero-lead">
A breadboard-based project that plays MIDI melodies by converting MIDI data into C code for the device.
</p>
<p class="reading-width">
The hardware currently includes two active buzzers, one passive buzzer, a rotary encoder, a 1.3-inch AMOLED display, two buttons, and two LEDs.
</p>
<div class="button-row">
<a class="btn btn-secondary" href="index.html">All Projects</a>
<a class="btn btn-secondary" href="../lab.html">See Lab Experiments</a>
</div>
</header>
<figure class="schematic-frame" aria-label="MIDI Breadboard Instrument Component Diagram">
<img src="../assets/images/midi-breadboard-layout.svg" alt="Block diagram of the MIDI Breadboard Instrument showing the MIDI conversion script producing C code for the breadboard system, connected to two active buzzers, one passive buzzer, a 1.3-inch AMOLED screen, one rotary encoder, two buttons, and two LEDs." width="760" height="320">
<figcaption class="schematic-caption">
Confirmed software-to-hardware workflow and component list for the MIDI Breadboard Instrument.
</figcaption>
</figure>
<section class="section-block reading-width" aria-labelledby="p3-overview">
<span class="section-label">01 // Overview</span>
<h2 id="p3-overview">Combining Hardware, Software, and Creativity</h2>
<p>
This project represents the kind of work I enjoy most: combining hardware, software, music, experimentation, and creativity in a practical and unusual system on a breadboard.
</p>
<p>
To get melodies onto the hardware, I wrote a script that converts MIDI data into C code for the device. That generated C code drives the breadboard setup to play MIDI sounds while providing physical controls and visual feedback.
</p>
</section>
<section class="section-block reading-width" aria-labelledby="p3-components">
<span class="section-label">02 // Confirmed Hardware &amp; Software</span>
<h2 id="p3-components">Confirmed Components on the Breadboard</h2>
<table class="spec-table">
<thead>
<tr>
<th scope="col">Component / Layer</th>
<th scope="col">Confirmed Specification</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Conversion Workflow</strong></td>
<td>Custom script that converts MIDI data into C code for the device</td>
</tr>
<tr>
<td><strong>Device Code Output</strong></td>
<td>C code</td>
</tr>
<tr>
<td><strong>Active Sound Components</strong></td>
<td>2 × Active buzzers</td>
</tr>
<tr>
<td><strong>Passive Sound Component</strong></td>
<td>1 × Passive buzzer</td>
</tr>
<tr>
<td><strong>Display</strong></td>
<td>1 × 1.3-inch AMOLED screen</td>
</tr>
<tr>
<td><strong>Rotational Input</strong></td>
<td>1 × Rotary encoder</td>
</tr>
<tr>
<td><strong>Push Inputs</strong></td>
<td>2 × Buttons</td>
</tr>
<tr>
<td><strong>Visual Indicators</strong></td>
<td>2 × LEDs</td>
</tr>
<tr>
<td><strong>Additional Circuit Details</strong></td>
<td>Details will be documented as the project develops.</td>
</tr>
</tbody>
</table>
</section>
<section class="section-block reading-width" aria-labelledby="p3-learning">
<span class="section-label">03 // Workshop Notes</span>
<h2 id="p3-learning">What I Am Currently Learning &amp; Next Steps</h2>
<div class="callout-box">
<span class="callout-title">What I Am Currently Learning</span>
<p>
How data conversion scripts bridge file formats (like MIDI) into low-level C structures, and how multiple physical outputs (two active buzzers, one passive buzzer, two LEDs, and a 1.3-inch AMOLED screen) can be coordinated alongside user inputs (a rotary encoder and two buttons).
</p>
<span class="callout-title">Next Step</span>
<p style="margin-bottom:0;">
Documenting how the MIDI-to-C conversion script formats note events and adding further hardware notes as the breadboard prototype evolves.
</p>
</div>
</section>
</article>
</div>
</main>
<footer class="site-footer">
<div class="container footer-inner">
<div>
<strong>Ertunç Özbay</strong> — Personal workshop, project lab, and learning notebook.
</div>
<ul class="footer-links" aria-label="Footer links">
<li><a href="../projects/index.html">Projects</a></li>
<li><a href="../blog/index.html">Blog</a></li>
<li><a href="../lab.html">Lab</a></li>
<li><a href="../contact.html">Contact</a></li>
<li><a href="https://github.com/ertunc-ozbay" rel="noopener noreferrer">GitHub</a></li>
</ul>
</div>
</footer>
<script src="../assets/js/main.js"></script>
</body>
</html>