Differences

This shows you the differences between two versions of the page.

Link to this comparison view

pm:prj2021:abirlica:perceptionofvision [2021/05/18 17:39]
alice.pirvulescu [Idee]
pm:prj2021:abirlica:perceptionofvision [2021/06/04 18:14] (current)
alice.pirvulescu
Line 1: Line 1:
-====== ​Perception ​of Vision ======+======= Persistence ​of Vision ​=======
  
 ===== Autor ===== ===== Autor =====
Line 7: Line 7:
 ===== Descriere ===== ===== Descriere =====
  
-Cu ajutorul ​unor LEDuri, un motor care le va roti si +Persistența viziunii (**POV**) este o parte curioasă a sistemului vizual uman.\\  
- ​faptul ca ochiul uman nu poate observa mai mult  +\\  
-de 10 imagini ​pe secunda ​voi crea iluzia +Acesta reprezinta efectul prin care percepția unei imagini persistă după ce lumina a încetat  
- ​persistentei unui cuvant.+să pătrundă în ochi.  
 +Este motivul pentru care o elice care se învârte apare ca un disc și de ce o scânteie  
 +aprinsă pare să lase o urmă în aer.\\  
 +\\  
 +Este, de asemenea, utilizat în mod obișnuit ca tehnologie de afișare, unde o serie de LED-uri  
 +intermitente pot fi utilizate pentru a crea mesaje care par să plutească în aer.\\  
 +\\  
 +Cu ajutorul ​unei benzi de leduri, un motor care le va roti si 
 +faptul ca imaginea persista timp de 1/25 secunde ​pe retina dupa momentul disparitiei ei, voi crea iluzia 
 +**persistentei unui cuvant**.
  
 ===== Componente ===== ===== Componente =====
Line 16: Line 25:
  * Arduino Uno  * Arduino Uno
  * DC Motor   * DC Motor 
- * +3.6V LI-ION ​battery + * +9V battery 
- ​* ​8 LEDs + ​* ​Led Band 
- ​* ​1KΩ resistors+ * 1KΩ resistors
  
 ===== Idee ===== ===== Idee =====
Line 24: Line 33:
 {{:​pm:​prj2021:​abirlica:​untitled.jpg?​600|}} {{:​pm:​prj2021:​abirlica:​untitled.jpg?​600|}}
  
-{{:​pm:​prj2021:​abirlica:​picture1.png?​200|}} ​       +{{:​pm:​prj2021:​abirlica:​picture1.png?​200|}} ​  
 + 
 +Cum functioneaza crearea literelor 
 + 
 +===== Schema =====  
 + 
 +{{:​pm:​prj2021:​abirlica:​unknown_1_.png?​600| }}   
 +{{:​pm:​prj2021:​abirlica:​unknown.png?​600|}} ​  
 +===== Schema fizica ===== 
 + 
 +{{ :​pm:​prj2021:​abirlica:​whatsapp_image_2021-06-03_at_23.13.45_1_.jpeg?​200|}} 
 + 
 +{{ :​pm:​prj2021:​abirlica:​whatsapp_image_2021-06-03_at_23.13.44.jpeg?​200 |}} 
 + 
 +===== Cod =====  
 +<​code>​  
 +#include <​FastLED.h>​ 
 + 
 +#define LED_PIN ​    7 
 +#define NUM_LEDS ​   8 
 + 
 +int ledPin =  13;     
 +int state = 0;   
 + 
 +CRGB leds[NUM_LEDS];​ 
 + 
 +double delayTime = 1;  
 +double charBreak = 2.5;  
 + 
 + 
 +void setup(){ 
 +  FastLED.addLeds<​WS2812,​ LED_PIN, GRB>​(leds,​ NUM_LEDS);​ 
 +  pinMode(ledPin,​ OUTPUT); ​    
 +
 +   
 +  int a[] = {1, 6, 26, 6, 1}; 
 +  int b[] = {31, 21, 21, 10, 0}; 
 +  int c[] = {14, 17, 17, 10, 0}; 
 +  int d[] = {31, 17, 17, 14, 0}; 
 +  int e[] = {31, 21, 21, 17, 0}; 
 +  int f[] = {31, 20, 20, 16, 0}; 
 +  int g[] = {14, 17, 19, 10, 0}; 
 +  int h[] = {31, 4, 4, 4, 31}; 
 +  int i[] = {0, 17, 31, 17, 0}; 
 +  int j[] = {0, 17, 30, 16, 0}; 
 +  int k[] = {31, 4, 10, 17, 0}; 
 +  int l[] = {31, 1, 1, 1, 0}; 
 +  int m[] = {31, 12, 3, 12, 31}; 
 +  int n[] = {31, 12, 3, 31, 0}; 
 +  int o[] = {14, 17, 17, 14, 0}; 
 +  int p[] = {31, 20, 20, 8, 0}; 
 +  int qQ[] = {14, 17, 19, 14, 2}; 
 +  int r[] = {31, 20, 22, 9, 0}; 
 +  int s[] = {8, 21, 21, 2, 0}; 
 +  int t[] = {16, 16, 31, 16, 16}; 
 +  int u[] = {30, 1, 1, 30, 0}; 
 +  int v[] = {24, 6, 1, 6, 24}; 
 +  int w[] = {28, 3, 12, 3, 28}; 
 +  int x[] = {17, 10, 4, 10, 17}; 
 +  int y[] = {17, 10, 4, 8, 16}; 
 +  int z[] = {19, 21, 21, 25, 0}; 
 +   
 +  int eos[] = {0, 1, 0, 0, 0}; 
 +  int excl[] = {0, 29, 0, 0, 0}; 
 +  int ques[] = {8, 19, 20, 8, 0}; 
 + 
 +void displayLine(int line){ 
 +  int myline; 
 +  myline = line; 
 +  if (myline>​=16) {leds[1] = CRGB(0, 0, 255); myline-=16;​} 
 +    else {leds[1] = CRGB::​Black;​} 
 +  if (myline>​=8) ​ {leds[2] = CRGB(0, 0, 255); myline-=8;}  
 +    else {leds[2] = CRGB::​Black;​} 
 +  if (myline>​=4) ​ {leds[3] = CRGB(0, 0, 255); myline-=4;​} ​  
 +    else {leds[3] = CRGB::​Black;​} 
 +  if (myline>​=2) ​ {leds[4] = CRGB(0, 0, 255); myline-=2;​} 
 +    else {leds[4] = CRGB::​Black;​} 
 +  if (myline>​=1) ​ {leds[5] = CRGB(0, 0, 255); myline-=1;}  
 +    else {leds[5] = CRGB::​Black;​} 
 +  leds[7] = CRGB(255, 0, 0); 
 +    FastLED.show();​ 
 + 
 +
 + 
 +void displayChar(char ch){ 
 +  if (ch == '​a'​){for (int i = 0; i <5; i++){displayLine(a[i]);​delay(delayTime);​}displayLine(0);​} 
 +  if (ch == '​b'​){for (int i = 0; i <5; i++){displayLine(b[i]);​delay(delayTime);​}displayLine(0);​} 
 +  if (ch == '​c'​){for (int i = 0; i <5; i++){displayLine(c[i]);​delay(delayTime);​}displayLine(0);​} 
 +  if (ch == '​d'​){for (int i = 0; i <5; i++){displayLine(d[i]);​delay(delayTime);​}displayLine(0);​} 
 +  if (ch == '​e'​){for (int i = 0; i <5; i++){displayLine(e[i]);​delay(delayTime);​}displayLine(0);​} 
 +  if (ch == '​f'​){for (int i = 0; i <5; i++){displayLine(f[i]);​delay(delayTime);​}displayLine(0);​} 
 +  if (ch == '​g'​){for (int i = 0; i <5; i++){displayLine(g[i]);​delay(delayTime);​}displayLine(0);​} 
 +  if (ch == '​h'​){for (int i = 0; i <5; i++){displayLine(h[i]);​delay(delayTime);​}displayLine(0);​} 
 +  if (ch == '​i'​){for (int it = 0; it <5; it++){displayLine(i[it]);​delay(delayTime);​}displayLine(0);​} 
 +  if (ch == '​j'​){for (int i = 0; i <5; i++){displayLine(j[i]);​delay(delayTime);​}displayLine(0);​} 
 +  if (ch == '​k'​){for (int i = 0; i <5; i++){displayLine(k[i]);​delay(delayTime);​}displayLine(0);​} 
 +  if (ch == '​l'​){for (int i = 0; i <5; i++){displayLine(l[i]);​delay(delayTime);​}displayLine(0);​} 
 +  if (ch == '​m'​){for (int i = 0; i <5; i++){displayLine(m[i]);​delay(delayTime);​}displayLine(0);​} 
 +  if (ch == '​n'​){for (int i = 0; i <5; i++){displayLine(n[i]);​delay(delayTime);​}displayLine(0);​} 
 +  if (ch == '​o'​){for (int i = 0; i <5; i++){displayLine(o[i]);​delay(delayTime);​}displayLine(0);​} 
 +  if (ch == '​p'​){for (int i = 0; i <5; i++){displayLine(p[i]);​delay(delayTime);​}displayLine(0);​} 
 +  if (ch == '​q'​){for (int i = 0; i <5; i++){displayLine(qQ[i]);​delay(delayTime);​}displayLine(0);​} 
 +  if (ch == '​r'​){for (int i = 0; i <5; i++){displayLine(r[i]);​delay(delayTime);​}displayLine(0);​} 
 +  if (ch == '​s'​){for (int i = 0; i <5; i++){displayLine(s[i]);​delay(delayTime);​}displayLine(0);​} 
 +  if (ch == '​t'​){for (int i = 0; i <5; i++){displayLine(t[i]);​delay(delayTime);​}displayLine(0);​} 
 +  if (ch == '​u'​){for (int i = 0; i <5; i++){displayLine(u[i]);​delay(delayTime);​}displayLine(0);​} 
 +  if (ch == '​v'​){for (int i = 0; i <5; i++){displayLine(v[i]);​delay(delayTime);​}displayLine(0);​} 
 +  if (ch == '​w'​){for (int i = 0; i <5; i++){displayLine(w[i]);​delay(delayTime);​}displayLine(0);​} 
 +  if (ch == '​x'​){for (int i = 0; i <5; i++){displayLine(x[i]);​delay(delayTime);​}displayLine(0);​} 
 +  if (ch == '​y'​){for (int i = 0; i <5; i++){displayLine(y[i]);​delay(delayTime);​}displayLine(0);​} 
 +  if (ch == '​z'​){for (int i = 0; i <5; i++){displayLine(z[i]);​delay(delayTime);​}displayLine(0);​} 
 +  if (ch == '​!'​){for (int i = 0; i <5; i++){displayLine(excl[i]);​delay(delayTime);​}displayLine(0);​} 
 +  if (ch == '?'​){for (int i = 0; i <5; i++){displayLine(ques[i]);​delay(delayTime);​}displayLine(0);​} 
 +  if (ch == '​.'​){for (int i = 0; i <5; i++){displayLine(eos[i]);​delay(delayTime);​}displayLine(0);​} 
 +  delay(charBreak);​ 
 +
 + 
 +  void displayString(char* s){ 
 +  for (int i = 0; i<​=strlen(s);​ i++){ 
 +  displayChar(s[i]);​ 
 +  } 
 +
 + 
 +void loop() 
 +
 +displayString("​hello"​);​ 
 +} </​code>​ 
 + 
 + 
 +=====Rezultat final===== 
 + 
 +{{:​pm:​prj2021:​abirlica:​whatsapp_image_2021-06-03_at_22.17.03_1_.jpeg?​200 |}} 
 + 
 +{{:​pm:​prj2021:​abirlica:​whatsapp_image_2021-06-03_at_22.17.03.jpeg?​200 |}} 
 + 
 +<note important>​Persistența imaginii este proprietatea ochiului nostru de a vedea în continuare (sau iluzia de a vedea) o forma a ceva, pentru o fracțiune de secundă chiar și după ce obiectul a fost mutat. Proiectul se bazeaza pe vederea umana. Nu am reusit sa fac videoclip deoarece aceasta iluzie nu se pastra, iar pentru a face pozele am folosit optiunea de fotografie continua a camerei.</​note>​ 
 + 
 +=====Mai multe despre Persistence of Vision===== 
 +[[https://​en.wikipedia.org/​wiki/​Persistence_of_vision]] 
 + 
 +[[https://​hackaday.com/​2019/​10/​29/​the-basics-of-persistence-of-vision-projects/​]] 
 + 
 +<​html><​a class="​media mediafile mf_pdf"​ href="?​do=export_pdf">​Export to PDF</​a></​html>​
  
  
pm/prj2021/abirlica/perceptionofvision.1621348773.txt.gz · Last modified: 2021/05/18 17:39 by alice.pirvulescu
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