Iulia-Alexandra NICULA (66944) - Cubul din LED-uri

Autorul poate fi contactat la adresa: Login pentru adresa

Introducere

Scurtă descriere

Proiectul constă în realizarea unui cub din LED-uri, de dimensiuni 4 × 4 × 4. Acesta va crea jocuri de lumini interesante, care vor putea fi alternate folosind un buton.
Cubul va putea fi folosit în scop decorativ.
Pentru mine, proiectul va fi util pentru aprofundarea noțiunilor însușite la această materie și îmi propun să fie o lecție despre cub ;-).

Ideea

Până cubul iese perfect
Uitându-mă pe proiectele din anii anteriori, cubul a fost cel care mi-a atras atenția, ducându-mă cu gândul la versurile lui Nichita Stănescu, Lecția despre cub
(fără a ne îndepărta, însă, de la scopul real al proiectului).

Descriere generală

Cubul va fi realizat din 64 de diode electroluminescente, dispuse pe 4 niveluri.
Conform schemei bloc din figura de mai jos:
Utilizatorul va putea să selecteze, prin intermediul unui buton, unul dintre jocurile de lumini ale cubului.
Microcontroller-ul va fi programat să controleze efectele luminoase ale cubului de LED-uri.
Modulul “Microcontroller ATMega324”, reprezintă, sub un nume generic, placa de bază a proiectului.


Schema bloc

<imgcaption image1 |>Schema bloc</imgcaption>

Hardware Design

Listă de piese

Componentă Nr. unități Achiziționat de la
Plăcuță PM 1
Pachet componente de bază 1
LED-uri 64+ Optimus Digital S.R.L
Rezistențe 220Ω 16 Optimus Digital S.R.L
Tranzistori BC337NPN 4 CONEX ELECTRONIC
Rezistențe 2k2Ω 4 Optimus Digital S.R.L
Fir conductor Optimus Digital S.R.L
Fire mamă-mamă Optimus Digital S.R.L
Baretă header tată Optimus Digital S.R.L
Plăcuță de test 1 CONEX ELECTRONIC
Push-button 1

Schema electrică

<imgcaption image2 |>Schema electrică</imgcaption>

Din cauza unor probleme cu un pin de pe PORTC, am ales să mut respectivele ieșiri pe portul B.

Software Design

Mediul de dezvoltare

  • Programmer's Notepad[WinAVR]
  • HIDBootFlash (pentru acesta a fost necesară instalarea Microsoft Visual C++ 2005 x86)

Biblioteci

  • <avr/io.h>
  • <util/delay.h>
  • <avr/interrupt.h>
  • <stdlib.h>

Aplicația

Aplicația a constat în realizarea unor efecte luminoase pentru cubul de LED-uri.
Animațiile implementate sunt:

  • Aprinderea succesivă a câte unui nivel
  • Aprinderea succesivă a câte unei secțiuni longitudinale
  • Aprinderea unui LED, în mod aleatoriu
  • Deplasarea unei “coloane” pe un traseu sinuos
  • Aprinderea LED-urilor de pe colțurile cubului
  • Aprinderea succesiva a fețelor laterale
  • Aprinderea LED-urilor de pe diagonala principală a cubului
  • Aprinderea integrală
  • Aprinderea celor 4 coloane care formează centrul, alternativ
  • Aprinderea a jumătate de cub
  • “Șarpe” care se deplasează pe fața superioară

Pentru a aprinde un led, este necesar să se selecteze nivelul, prin setarea bitului corespunzător pinului la care este legat catodul, respectiv scriere 1 pe pinul corespunzător poziției led-ului (practic: selecție rând + coloană).
Întrucât nu se poate să fie aprinse toate becurile simultan, se poate crea această iluzie prin alternarea lor cu rapiditate (persistence of vision).

Alternarea jocurilor de lumini se realizează prin apăsarea butonului de pe placa de bază.

Un punct de pornire foarte bun este Laboratorul 0.

Rezultate Obţinute

Cubul este complet funcțional și, pe cât posibil, am încercat să nu mă abat de la ideea de la care am pornit: Lecția despre cub.
O parte dintre efectele acestui cub se succed în ordinea sugerată de versuri ^_^.

Nu am luat “o bucată de piatră”, ci 64 de LED-uri din care am obținut un cub.

Pentru a ușura munca, este indicat să se realizeze un suport cu 16 perforații (eu am realizat suportul din capacul unei cutii de carton).
<imgcaption image3 |>Suportul realizat</imgcaption> <imgcaption image4 |> Nivel în lucru</imgcaption> <imgcaption image5 |>Testarea unui led</imgcaption>

Led-urile se lipesc între ele astfel încât catodul pe nivel să fie comun.
<imgcaption image6 |>Prima încercare</imgcaption> <imgcaption image7 |>Cele 4 niveluri ale cubului</imgcaption> <imgcaption image8 |> Cubul asamblat</imgcaption>

Pentru a preîntâmpina eventualele neplăceri, recomand testarea fiecărui LED, după lipire.
Se poate folosi o baterie CR2032 cu <fc #0000FF>-</fc> conectat la catod și<fc #FF0000> +</fc> la anodul LED-ului.

Nivelurile se lipsesc între ele, prin intermediul anodului (pe fiecare coloană). Această etapă necesită ajutor din partea cuiva binevoitor :-D.

Placa de bază:
<imgcaption image9 |>Placa de bază </imgcaption>

Rezultatul:
<imgcaption image10 |>Cubul conectat la placa de bază </imgcaption> <imgcaption image11 |>Placa de test - verso </imgcaption> <imgcaption image12 |>Cubul </imgcaption>


Pentru a vizualiza rezultatele obținute, accesați următorul link: CUBUL


Concluzii

A fost un proiect interesant, la care am lucrat cu mare drag. Partea cea mai dificilă a fost cea hardware (lipirea nivelurilor între ele și, în mod cu totul neașteptat, introducerea cubului asamblat în plăcuța de test). Pentru acest proiect, partea de software este facilă, nu este nevoie decât de puțină creativitate și atenție.
Proiectul a necesitat destul de multă minuțiozitate, dar a meritat și, zic eu, e o dovadă a faptului că un (viitor) inginer poate fi și un artist ;-).

Download

<WRAP center round download 60%> Arhiva cu sursele și schema electrică este disponibilă aici:
Descarcă arhiva </WRAP>

Jurnal

Etape:
Aprilie-Mai 2017:

  • Alegere Temă Proiect: Cubul
  • Realizare schemă bloc și listă de piese
  • Finalizare placă de bază
  • Schema electrică
  • Achiziționare componente necesare (link-uri adăugate în lista de piese)
  • Realizare parte hardware
  • Testare montaj
  • Implementare animații

Bibliografie/Resurse

Resurse Hardware
Resurse software
Tutoriale
Proiecte din anii anteriori
pm/prj2017/anitu/cubul.txt · Last modified: 2021/04/14 17:07 (external edit)
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0