This is an old revision of the document!


Potato Tiles 🎹

Nume: Moroiu Alexandra-Maria
Grupa: 331CA

Introducere

Proiectul consta in realizarea unui pian ale carui clape sunt formate din cartofi. In total vor fi 8 cartofi, alcatuind o octava (do re mi fa sol la si do). Ideea a pornit de la un proiect mai vechi din “Room of inspiration”, pe care il gasiti aici, si un laborator de electronica analogica in care am aprins led-uri folosind cartofi si lamai.

Descriere generală

Cum am mentionat mai sus, proiectul va fi alcatuit din 8 cartofi. Cartofii vor fi conectati la placuta Arduino Uno impreuna cu un buzzer pentru a emite notele. Voi adauga de asemenea:

  • un LCD pentru afisarea notelor apasate, volumul si gama (doar game majore si minore)
  • un potentiometru pentru controlul volumului
  • un buton pentru modificarea gamei (initial fiind Do Major)
  • led-uri pentru codificarea gamelor

Schema bloc:

Hardware Design

Componente necesare:

  • Arduino Uno
  • breadboard
  • speaker
  • LCD cu interfata I2C
  • potentiometru
  • buton
  • led-uri
  • wires
  • rezistente
  • cartofi

Hardware Schematic:

Software Design

Mediu dezvoltare: Arduino IDE
Biblioteci utilizate:

  • Wire
  • LiquidCrystal_I2C
  • toneAC - pentru emiterea sunetelor si controlul volumului
  • log2 - pentru formula conversiei frecventelor in note muzicale
  • CapacitiveSensor - pentru detectia capacitatii electrice a corpului uman

Documentatiile bibliotecilor de mai sus pot fi accesate in sectiunea de bibliografie.

Cum functioneaza CapacitiveSensor



Clasa CapacitiveSensor are rolul de a transforma pinii microcontroler-ului in senzori capacitivi ce pot detecta capacitatea electrica a corpului uman. Alegerea rezistentei se face in functie de cat de puternica se doreste a fi atingerea foliei. O rezistenta de 1M presupune ca folia sa fie atinsa complet, insa daca am alege o rezistenta mai mare, de 10M, atunci e suficient sa fim la o distanta mica de folie, nu sa o si atingem. In cadrul acestui proiect am ales rezistente de 2M, iar folia este inlocuita de cartofi🥔

Functii Principale

<code> void setup() {

  initializeaza led-urile, potentiometrul, butonul, lcd-ul si senzorii capacitivi

}

int getVolume(int value) {

 calculeaza volumul bazandu-se pe valoarea citita de potentiometru
 volumul va fi afisat pe lcd

}

String getScale() {

 returneaza un string cu gama curenta, bazandu-se pe un counter global
 string-ul va fi afisat pe lcd

}

void setLeds() {

 tot pe baza counter-ului de gama se vor aprinde cele 3 led-uri
 in total sunt 8 game

}

String freqToNote(double freq) {

 returneaza nota corespunatoare frecventei
 ca referinta se considera frecventa notei A4

}

double playNote(int volume, double freq[]) {

 verifica daca a fost atins vreun cartof si emite sunetul respectiv

}

void loop() {

 1. citeste valoarea data de potentiometru
 2. calculeaza si afiseaza volumul
 3. verifica daca a fost apasat butonul de schimbare a gamei
 4. afiseaza gama curenta
 5. 

}

Rezultate Obţinute

Coming soon

Concluzii

Download

O arhivă (sau mai multe dacă este cazul) cu fişierele obţinute în urma realizării proiectului: surse, scheme, etc. Un fişier README, un ChangeLog, un script de compilare şi copiere automată pe uC crează întotdeauna o impresie bună ;-).

Fişierele se încarcă pe wiki folosind facilitatea Add Images or other files. Namespace-ul în care se încarcă fişierele este de tipul :pm:prj20??:c? sau :pm:prj20??:c?:nume_student (dacă este cazul). Exemplu: Dumitru Alin, 331CC → :pm:prj2009:cc:dumitru_alin.

Jurnal

  • 29/05/23 - Software Design, Bibliografie
  • 20/05/23 - Hardware Schematic
  • 06/05/23 - Descriere generala, componente si schema bloc
  • 06/05/23 - Creare pagina wiki

Bibliografie

Biblioteci

Alte Resurse (prietenii mei)

pm/prj2023/apredescu/potato-tiles.1685385004.txt.gz · Last modified: 2023/05/29 21:30 by alexandra.moroiu
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