Introducere

Ideea principala a fost crearea unui senzor de presiune, dar dupa ce m-am documentat, am gasit niste exemple mai interesante de la care m-am inspirat. Astfel, tinand cont ca un senzor de presiune ar fi costat in jur de 300 RON, am preferat sa folosesc un FSR (force sensitive resistor) care masoara presiunea de apasare, iar in functie de valorile intoarse de acesta, voi aprinde 1-2-…-7 leduri.

Utilitate… nu-mi pot imagina o utilitate pentru proiect, alta decat amuzament si demosntrarea functionarii FSR-ului.

Descriere generală

Schema bloc a proiectului este:

Module hardware :

  1. microcontrolerul AtMega16 (și plăcuța de bază);
  2. linie de LED-uri
  3. FSR Interlink 402

Module software :

  1. program .hex

Hardware Design

Aici puneţi tot ce ţine de hardware design:

Piesele achiziționate sunt urmatoarele:

  1. placă de test;
  2. 8 rezistențe 10kohmi (căte una pentru fiecare LED si pt FSR);
  3. FSR Interlink 402;
  4. convertor analog-digital;
  5. barete de diverse mărimi (resturi de la prima parte a proiectului) pentru soclu matrice;
  6. baretă pentru conectarea plăcuțelor;
  7. 1m x cablu UTP.

Schema placii de baza:

Conectarea FSR si a ledurilor se va face dupa schema urmatoare:

LED-urile vor fi conectate fiecare la cate un pin de pe portul A al microcontroller-ului.

FSR-ul va fi conectat la pinul A0 al microcontroller-ului si va fi prelucrat convertor de semnal, care va prelua semnalul analog de la dispozitiv, si-l va transforma in digital, trimitandu-l apoi la microcontroller.

OBSERVATII. Valorile tensiunii analogice aproximative a FSR-ului sunt dupa cum se vede in tabel:

Software Design

In continuare voi prezenta codul implementat pana acum, si anume, testarea FSR-ului pe un singur LED. Practic, in functie de forta inregistrata de FSR, intensitatea acestui LED va fi mai mare sau mai mica.

      int fsrAnalogPin = 40; // FSR is connected to analog 0
      int LEDpin = 41;      // connect Red LED to pin 40 (PA1 - PWM pin)
      int fsrReading;      // the analog reading from the FSR resistor divider
      int LEDbrightness;
      void setup(void) {
         Serial.begin(9600);   // We'll send debugging information via the Serial monitor
         pinMode(LEDpin, OUTPUT);
      }
      void loop(void) {
         fsrReading = analogRead(fsrAnalogPin);
         Serial.print("Analog reading = ");
         Serial.println(fsrReading);
         // we'll need to change the range from the analog reading (0-1023) down to the range
         // used by analogWrite (0-255) with map!
         LEDbrightness = map(fsrReading, 0, 1023, 0, 255);
         // LED gets brighter the harder you press
         analogWrite(LEDpin, LEDbrightness);

         delay(100);
     }

In continuare ramane de modificat codul, astfel incat, in loc sa se schimbe intensitatea unui singur LED, va trebui sa se aprinda mai multe sau mai putine LED-uri din cele 8 conectate pe portul A al microcontroller-ului.

Rezultate Obţinute

Pana acum am conectat doar un singur LED si am reusit sa-i schimb intensitatea in functie de forta inregistrata de FSR.

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.

scheme.zip

Jurnal

Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului.

Bibliografie/Resurse

Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe Resurse Software şi Resurse Hardware.

http://protolab.pbworks.com/TutorialSensors

http://www.instructables.com - tutoriale pt FSR

pm/prj2010/dloghin/fsr_controled_leds.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