NAVEZ Projekt: Rozdiel medzi revíziami
Zo stránky SensorWiki
Riadok 69: | Riadok 69: | ||
... | ... | ||
Teda napríklad takto: | |||
30981;11 | |||
30875;3 | |||
30785;2 | |||
30848;6 | |||
8037;1 | |||
A takto NIE: | |||
30981,11 | |||
30875;3ks | |||
30785-2ks | |||
6ks Displej obj. č. 3084 | |||
Zoznam súčiastok pošlete priamo v maili, prípadne ako textový súbor bez formátovania. | |||
NIE súbor .doc, .docx, .xls, .xlsx, .pdf a pod. | |||
== Výroba plošných spojov == | == Výroba plošných spojov == |
Verzia z 08:34, 1. december 2015
Na tejto stránke nájdete informácie k semestrálnemu projektu z predmetu NAVEZ
Zadanie
Navrhnite elektronické zariadenie s minimálnym počtom 10 komponentov, vypracujte výrobnú dokumentáciu, objednajte komponenty, vyrobte plošný spoj, zariadenie postavte a oživte, predveďte funkciu a odovzdajte dokumentáciu k nemu.
Termíny
Smrteľné dedlajny:
- 25. 11. Schéma zapojenia a zoznam súčiastok (kupujeme súčiastky).
- 02. 12. Navrhnutý plošný spoj a vygenerované gerber súbory (dps do výroby).
- 16. 12. Zariadenie oživené a predvádzanie, dokumentácia. Odovzdávanie, zápočet.
Spoločný projekt (ak nemáte lepší)
Použité komponenty:
- 4-miestny 7-segmentový displej
- Product page http://www.gme.sk/hd-m324rd-p512-924
- Datasheet http://www.gme.sk/img/cache/doc/512/924/hd-m324rd-datasheet-1.pdf
- Animácia k 7seg displeju: http://www.uize.com/examples/seven-segment-display.html
- Mikroprocesor ATmega328P
- Product page http://www.atmel.com/devices/atmega328p.aspx
- Datasheet http://www.atmel.com/images/doc8161.pdf
- Schéma zapojenia Arduino https://www.arduino.cc/en/uploads/Main/Arduino-Pro-schematic.pdf
- Schéma zapojenia Acrob http://ap.urpi.fei.stuba.sk/sensorwiki/images/2/20/AcrobSchematic18.png
- Vstupný konektor
- Zapojenie
- Konektor http://www.sos.sk/?str=371&artnum=20074&name=-wws36a#tabs-6
- Programovací konektor
- Zapojenie
- Konektor http://www.sos.sk/?str=371&artnum=20074&name=-wws36a#tabs-6
- USB prevodník 1 https://www.sparkfun.com/products/9716
- USB prevodník 2 https://www.alza.sk/arduino-usb-2-serial-converter-usb-mini-d2426301.htm?o=1
- USB prevodník 3 http://www.ftdichip.com/Products/Cables/USBTTLSerial.htm
- Ochrana vstupov
- Shridhar Atmaram More: 'ADC Input Protection.' Application Report SLAA593. Texas Instruments, September 2013.
- http://www.thebox.myzen.co.uk/Tutorial/Protection.html
- http://www.digikey.com/en/articles/techzone/2012/apr/protecting-inputs-in-digital-electronics
- http://www.rugged-circuits.com/10-ways-to-destroy-an-arduino
- http://www.kevinmfodor.com/home/My-Blog/microcontrollerinputprotectiontechniques
Limity
- Cena 10 Eur / komponenty
- Rozmer DPS 30x45 mm
Všetko nad tieto limity si musíte uhradiť sami.
Objednávanie súčiastok
Nakupovať budeme v obchode sos.sk
Formát objednávky:
Obj.číslo;Počet Obj.číslo;Počet ...
Teda napríklad takto:
30981;11 30875;3 30785;2 30848;6 8037;1
A takto NIE:
30981,11 30875;3ks 30785-2ks 6ks Displej obj. č. 3084
Zoznam súčiastok pošlete priamo v maili, prípadne ako textový súbor bez formátovania. NIE súbor .doc, .docx, .xls, .xlsx, .pdf a pod.
Výroba plošných spojov
DPS nám vyrobí firma PRINTED s.r.o.
Technologické požiadavky a obmedzenia: http://www.printed.cz/konstrukcni-a-zadavaci-podminky
Programovanie
Z tejto časti nemusíte mať obavy, programovanie je jednoduché a budeme využívať existujúce programy s knižnicami, ktoré si len zľahka modifikujete pre svoje potreby.
- Programovací jazyk aj prostredie: Arduino
- Knižnica SevSeg: https://github.com/sparkfun/SevSeg
Ukážkové programy:
#include <SevSeg.h>
SevSeg MyDisp; //Instantiate a seven segment controller object
void setup()
{
byte numDigits = 4;
byte digitPins[] = {2, 3, 4, 5}; // Digits: 1,2,3,4
byte segmentPins[] = {6, 7, 8, 11, 12, 13, 14, 15}; // Segments: A,B,C,D,E,F,G,Period
MyDisp.begin(COMMON_ANODE, numDigits, digitPins, segmentPins);
MyDisp.setBrightness(80);
}
void loop()
{
MyDisp.setNumber(1234,9); // Second argument is decimal place
MyDisp.refreshDisplay(); // Must run repeatedly
}
#include "SevSeg.h"
SevSeg myDisplay;
#define FOUR_DIGITS 4
#define A1 2
#define A2 3
#define A3 4
#define A4 5
#define SegA 6
#define SegB 7
#define SegC 8
int value;
int oldvalue;
char tempString[5];
//-------------------------------------------------------------------------------------------
void setup()
{
value = 0;
oldvalue = 0;
myDisplay.Begin(COMMON_ANODE, FOUR_DIGITS, A1, A2, A3, A4, SegA, SegB, SegC, 11, 12, 13, 14, 15);
myDisplay.SetBrightness(100); //Set the display to 100% brightness level
}
//-------------------------------------------------------------------------------------------
void loop()
{
value = analogRead(5); // measurement
value = (15*oldvalue + value)/16; // simple filter
sprintf(tempString, "%4d", (long)value, DEC); // create output string
myDisplay.DisplayString(tempString, 0); // display value on disp
oldvalue = value;
}
//-------------------------------------------------------------------------------------------