Next iteration: some LEDs & beeper

This commit is contained in:
eddyem 2015-09-14 18:47:30 +03:00
parent 5c9cf855af
commit 05fe707864
19 changed files with 12752 additions and 131 deletions

View File

@ -1,11 +1,12 @@
BINARY = timelaps
BINARY = timelapse
BOOTPORT ?= /dev/ttyUSB0
BOOTSPEED ?= 115200
# change this linking script depending on particular MCU model,
# for example, if you have STM32F103VBT6, you should write:
LDSCRIPT = ld/stm32f103x8.ld
LIBNAME = opencm3_stm32f1
DEFS = -DSTM32F1 -DKBD_3BY4 -DEBUG
# add -DULTRASONIC to compile with ultrasonic distance-meter support
DEFS = -DSTM32F1 -DEBUG
OBJDIR = mk
INDEPENDENT_HEADERS=

View File

@ -23,11 +23,11 @@
#include "main.h"
uint16_t ADC_value[ADC_CHANNEL_NUMBER]; // Values of ADC
uint16_t ADC_trig_val[ADC_CHANNEL_NUMBER]; // -//- at trigger time
uint16_t ADC_trig_val[2]; // -//- at trigger time
void init_adc_sensor(){
// we will use ADC1 channel 0 for IR sensor & ADC1 channel 1 for laser's photoresistor
uint8_t adc_channel_array[ADC_CHANNEL_NUMBER] = {0,1};
uint8_t adc_channel_array[ADC_CHANNEL_NUMBER] = {0,1,6};
// Make sure the ADC doesn't run during config
adc_off(ADC1);
// enable ADC & PA0/PA1 clocking
@ -54,66 +54,24 @@ void init_adc_sensor(){
while(ADC1_CR2 & ADC_CR2_RSTCAL); // wait for registers reset
ADC1_CR2 |= ADC_CR2_CAL;
while(ADC1_CR2 & ADC_CR2_CAL); // wait for calibration ends
// set threshold limits
// ADC1_HTR = ADC_WDG_HIGH;
// ADC1_LTR = ADC_WDG_LOW;
// enable analog watchdog on single regular channel 0 & enable interrupt
//ADC1_CR1 = ADC_CR1_AWDEN | ADC_CR1_AWDSGL | ADC_CR1_AWDIE;
// enable analog watchdog on all regular channels & enable interrupt
// ADC1_CR1 |= ADC_CR1_AWDEN | ADC_CR1_AWDIE;
nvic_enable_irq(NVIC_ADC1_2_IRQ);
ADC1_CR2 |= ADC_CR2_SWSTART;
// turn on ADC - to do it we need set ADC_CR2_ADON again!
ADC1_CR2 |= ADC_CR2_ADON;
}
adwd_stat adc_status[ADC_CHANNEL_NUMBER] = {ADWD_MID, ADWD_MID};
adwd_stat adc_status[ADC_CHANNEL_NUMBER] = {ADWD_MID, ADWD_MID, ADWD_MID};
/**
* watchdog works on both channels, so we need to save status of WD events
* to prevent repeated events on constant signal level
*
void adc1_2_isr(){
int i;
if(ADC1_SR & ADC_SR_AWD){ // analog watchdog event
for(i = 0; i < ADC_CHANNEL_NUMBER; ++i){
uint16_t val = ADC_value[i];
adwd_stat st = adc_status[i];
// if(adc_ms[i] == DIDNT_TRIGGERED){
if(val > ADC_WDG_HIGH){ // watchdog event on high level
if(st != ADWD_HI){
adc_ms[i] = Timer;
memcpy(&adc_time, &current_time, sizeof(curtime));
adc_status[i] = ADWD_HI;
ADC_trig_val[i] = val;
}
}else if(val < ADC_WDG_LOW){ // watchdog event on low level
if(st != ADWD_LOW){
adc_ms[i] = Timer;
memcpy(&adc_time, &current_time, sizeof(curtime));
adc_status[i] = ADWD_LOW;
ADC_trig_val[i] = val;
}
}else if(val > ADC_WDG_LOW+ADC_WDG_THRES && val < ADC_WDG_HIGH-ADC_WDG_THRES){
adc_status[i] = ADWD_MID;
if(adc_ms[i] == Timer) // remove noice
adc_ms[i] = DIDNT_TRIGGERED;
}
// }
}
}
ADC1_SR = 0;
}
*/
// levels for thresholding
const uint16_t ADC_lowlevel[2] = {900, 2700}; // signal if ADC value < lowlevel
const uint16_t ADC_lowlevel[2] = {1800, 2700}; // signal if ADC value < lowlevel
const uint16_t ADC_midlevel[2] = {2000, 3000}; // when transit through midlevel set status as ADWD_MID
const uint16_t ADC_highlevel[2]= {2200, 5000}; // signal if ADC value > highlevel
const uint16_t ADC_midlevel[2] = {1400, 3000}; // when transit through midlevel set status as ADWD_MID
void poll_ADC(){
int i;
for(i = 0; i < ADC_CHANNEL_NUMBER; ++i){
for(i = 0; i < 2; ++i){
if(adc_ms[i] != DIDNT_TRIGGERED) continue;
uint16_t val = ADC_value[i];
adwd_stat st = adc_status[i];
if(val > ADC_highlevel[i]){ // watchdog event on high level

View File

@ -36,15 +36,12 @@ typedef enum{
extern adwd_stat adc_status[];
#define ADC_CHANNEL_NUMBER (2)
// something near
#define ADC_WDG_HIGH ((uint16_t)1500)
// nothing in front of sensor
#define ADC_WDG_LOW ((uint16_t)700)
// threshold above levels
#define ADC_WDG_THRES ((uint16_t)200)
// channels: 0 - IR, 1 - laser's photoresistor, 6 - 12V
#define ADC_CHANNEL_NUMBER (3)
// 10.8V - power alarm (resistor divider: 10kOhm : 3.0kOhm, U/100=7/20*ADC_value)
#define POWER_ALRM_LEVEL (3086)
// 11.5V - power OK
#define GOOD_POWER_LEVEL (3286)
void init_adc_sensor();
void poll_ADC();

View File

@ -27,14 +27,63 @@
#include "main.h"
#include "hardware_ini.h"
#include <libopencm3/stm32/timer.h>
/**
* Init timer4 channel 4 (beeper)
*
void tim4_init(){
// setup PB9 - push/pull
gpio_set_mode(GPIO_BANK_TIM4_CH4, GPIO_MODE_OUTPUT_2_MHZ,
GPIO_CNF_OUTPUT_ALTFN_PUSHPULL, GPIO_TIM4_CH4);
rcc_periph_clock_enable(RCC_TIM4);
timer_reset(TIM4);
// timer have frequency of 1MHz to have ability of period changing with 1us discrete
// 36MHz of APB1
timer_set_mode(TIM4, TIM_CR1_CKD_CK_INT, TIM_CR1_CMS_EDGE, TIM_CR1_DIR_UP);
// 72MHz div 72 = 1MHz
TIM4_PSC = 71; // prescaler is (div - 1)
TIM4_ARR = BEEPER_PERIOD - 1;
TIM4_CCR4 = BEEPER_PERIOD/2; // PWM 50/50%
TIM4_DIER = TIM_DIER_UIE;
// PWM_OUT for TIM4_CH4
TIM4_CCMR2 = TIM_CCMR2_CC4S_OUT | TIM_CCMR2_OC4M_PWM1;
nvic_enable_irq(NVIC_TIM4_IRQ);
}
uint32_t beeper_counter = 1;
*/
/**
* Run beeper for BEEPER_AMOUNT pulses
*
void beep(){
TIM4_CR1 = 0; // stop timer if it was runned
beeper_counter = BEEPER_AMOUNT;
TIM4_SR = 0; // clear all flags
TIM4_CR1 = TIM_CR1_CEN;
}
void tim4_isr(){
// No signal
if(TIM4_SR & TIM_SR_UIF){ // update interrupt
TIM4_SR = 0;
if(--beeper_counter == 0){ // done! Turn off timer
TIM2_CR1 = 0;
}
}
}
*/
/**
* GPIO initialisaion: clocking + pins setup
*/
void GPIO_init(){
// enable clocking for all ports, APB2 & AFIO (we need AFIO to remap JTAG pins)
rcc_peripheral_enable_clock(&RCC_APB2ENR, RCC_APB2ENR_IOPAEN |
RCC_APB2ENR_IOPBEN | RCC_APB2ENR_IOPCEN | RCC_APB2ENR_IOPDEN |
RCC_APB2ENR_IOPEEN);
RCC_APB2ENR_IOPEEN | RCC_APB2ENR_AFIOEN);
// turn off SWJ/JTAG
AFIO_MAPR = AFIO_MAPR_SWJ_CFG_JTAG_OFF_SW_OFF;
/*
* Setup EXTI on PA4 (PPS input from GPS) - pull down
* EXTI on PA5 - also pull down (trigger for time measurement)
@ -46,17 +95,20 @@ void GPIO_init(){
exti_set_trigger(EXTI4 | EXTI5, EXTI_TRIGGER_RISING);
nvic_enable_irq(NVIC_EXTI4_IRQ);
nvic_enable_irq(NVIC_EXTI9_5_IRQ);
/*
// Buttons: pull-up input
gpio_set_mode(BTNS_PORT, GPIO_MODE_INPUT, GPIO_CNF_INPUT_PULL_UPDOWN,
BTN_S2_PIN | BTN_S3_PIN);
// turn on pull-up
gpio_set(BTNS_PORT, BTN_S2_PIN | BTN_S3_PIN);
// LEDS: opendrain output
gpio_set_mode(LEDS_PORT, GPIO_MODE_OUTPUT_2_MHZ, GPIO_CNF_OUTPUT_OPENDRAIN,
LED_D1_PIN | LED_D2_PIN);
// turn off LEDs
gpio_set(LEDS_PORT, LED_D1_PIN | LED_D2_PIN);*/
// LEDS: opendrain output (&turn all OFF)
gpio_set(LEDS_Y_PORT, LEDS_Y1_PIN | LEDS_Y2_PIN);
gpio_set_mode(LEDS_Y_PORT, GPIO_MODE_OUTPUT_2_MHZ, GPIO_CNF_OUTPUT_OPENDRAIN,
LEDS_Y1_PIN | LEDS_Y2_PIN);
gpio_set(LEDS_G_PORT, LEDS_G1_PIN | LEDS_G2_PIN);
gpio_set_mode(LEDS_G_PORT, GPIO_MODE_OUTPUT_2_MHZ, GPIO_CNF_OUTPUT_OPENDRAIN,
LEDS_G1_PIN | LEDS_G2_PIN);
gpio_set(LEDS_R_PORT, LEDS_R1_PIN | LEDS_R2_PIN);
gpio_set_mode(LEDS_R_PORT, GPIO_MODE_OUTPUT_2_MHZ, GPIO_CNF_OUTPUT_OPENDRAIN,
LEDS_R1_PIN | LEDS_R2_PIN);
// beeper pin: push-pull
gpio_set(BEEPER_PORT, BEEPER_PIN);
gpio_set_mode(BEEPER_PORT, GPIO_MODE_OUTPUT_2_MHZ,
GPIO_CNF_OUTPUT_PUSHPULL, BEEPER_PIN);
/*
// USB_DISC: push-pull
gpio_set_mode(USB_DISC_PORT, GPIO_MODE_OUTPUT_2_MHZ,

View File

@ -26,28 +26,37 @@
/*
* Timers:
* SysTick - system time
* Tim2 - ultrasonic
* Tim4 - beeper
*/
//void tim4_init();
//void beep();
void GPIO_init();
void SysTick_init();
/*
* Buttons on devboard
*/
#define BTNS_PORT GPIOC
// PCO -- S2
#define BTN_S2_PIN GPIO0
// PC1 -- S3
#define BTN_S3_PIN GPIO1
// yellow LEDs: PA11, PA12
#define LEDS_Y_PORT GPIOA
#define LEDS_Y1_PIN GPIO13
#define LEDS_Y2_PIN GPIO15
// green LEDs: PB7, PB8
#define LEDS_G_PORT GPIOB
#define LEDS_G1_PIN GPIO7
#define LEDS_G2_PIN GPIO8
// red LEDs: PB6, PB5
#define LEDS_R_PORT GPIOB
#define LEDS_R1_PIN GPIO6
#define LEDS_R2_PIN GPIO5
// beeper - PB9
#define BEEPER_PORT GPIOB
#define BEEPER_PIN GPIO9
/*
* LEDS: PB9 for D1, PB8 for D2
// beeper period (in microseconds) - approx 440 Hz
#define BEEPER_PERIOD (2273)
// amount of beeper pulses (after this walue it will be off) - near 2seconds
#define BEEPER_AMOUNT (880)
*/
#define LEDS_PORT GPIOB
#define LED_D1_PIN GPIO9
#define LED_D2_PIN GPIO8
/*
* USB interface
* connect boot1 jumper to gnd, boot0 to gnd; and reconnect boot0 to +3.3 to boot flash
@ -71,6 +80,5 @@ void SysTick_init();
#define usb_disconnect()
#define usb_connect()
void check_btns();
#endif // __HARDWARE_INI_H__

View File

@ -0,0 +1,94 @@
Cmp-Mod V01 Created by CvPcb (2013-feb-26)-stable date = Чт 10 сен 2015 12:17:33
BeginCmp
TimeStamp = /55F14513;
Reference = D1;
ValeurCmp = LED;
IdModule = LED-3MM;
EndCmp
BeginCmp
TimeStamp = /55F14969;
Reference = D2;
ValeurCmp = LED;
IdModule = LED-3MM;
EndCmp
BeginCmp
TimeStamp = /55F14976;
Reference = D3;
ValeurCmp = LED;
IdModule = LED-3MM;
EndCmp
BeginCmp
TimeStamp = /55F14983;
Reference = D4;
ValeurCmp = LED;
IdModule = LED-3MM;
EndCmp
BeginCmp
TimeStamp = /55F14990;
Reference = D5;
ValeurCmp = LED;
IdModule = LED-3MM;
EndCmp
BeginCmp
TimeStamp = /55F1499D;
Reference = D6;
ValeurCmp = LED;
IdModule = LED-3MM;
EndCmp
BeginCmp
TimeStamp = /55F149BB;
Reference = P1;
ValeurCmp = CONN_7;
IdModule = SIL-7;
EndCmp
BeginCmp
TimeStamp = /55F14522;
Reference = R1;
ValeurCmp = 100;
IdModule = SM0603;
EndCmp
BeginCmp
TimeStamp = /55F1496F;
Reference = R2;
ValeurCmp = 100;
IdModule = SM0603;
EndCmp
BeginCmp
TimeStamp = /55F1497C;
Reference = R3;
ValeurCmp = 100;
IdModule = SM0603;
EndCmp
BeginCmp
TimeStamp = /55F14989;
Reference = R4;
ValeurCmp = 100;
IdModule = SM0603;
EndCmp
BeginCmp
TimeStamp = /55F14996;
Reference = R5;
ValeurCmp = 100;
IdModule = SM0603;
EndCmp
BeginCmp
TimeStamp = /55F149A3;
Reference = R6;
ValeurCmp = 100;
IdModule = SM0603;
EndCmp
EndListe

View File

@ -0,0 +1,174 @@
(export (version D)
(design
(source /home/eddy/Docs/SAO/ELECTRONICS/STM32/c8t6/Timelapse_keyboard/kicad/LEDs.sch)
(date "Чт 10 сен 2015 12:15:21")
(tool "eeschema (2013-feb-26)-stable"))
(components
(comp (ref D1)
(value LED)
(libsource (lib device) (part LED))
(sheetpath (names /) (tstamps /))
(tstamp 55F14513))
(comp (ref R1)
(value 100)
(footprint SM0603)
(libsource (lib device) (part R))
(sheetpath (names /) (tstamps /))
(tstamp 55F14522))
(comp (ref D2)
(value LED)
(libsource (lib device) (part LED))
(sheetpath (names /) (tstamps /))
(tstamp 55F14969))
(comp (ref R2)
(value 100)
(footprint SM0603)
(libsource (lib device) (part R))
(sheetpath (names /) (tstamps /))
(tstamp 55F1496F))
(comp (ref D3)
(value LED)
(libsource (lib device) (part LED))
(sheetpath (names /) (tstamps /))
(tstamp 55F14976))
(comp (ref R3)
(value 100)
(footprint SM0603)
(libsource (lib device) (part R))
(sheetpath (names /) (tstamps /))
(tstamp 55F1497C))
(comp (ref D4)
(value LED)
(libsource (lib device) (part LED))
(sheetpath (names /) (tstamps /))
(tstamp 55F14983))
(comp (ref R4)
(value 100)
(footprint SM0603)
(libsource (lib device) (part R))
(sheetpath (names /) (tstamps /))
(tstamp 55F14989))
(comp (ref D5)
(value LED)
(libsource (lib device) (part LED))
(sheetpath (names /) (tstamps /))
(tstamp 55F14990))
(comp (ref R5)
(value 100)
(footprint SM0603)
(libsource (lib device) (part R))
(sheetpath (names /) (tstamps /))
(tstamp 55F14996))
(comp (ref D6)
(value LED)
(libsource (lib device) (part LED))
(sheetpath (names /) (tstamps /))
(tstamp 55F1499D))
(comp (ref R6)
(value 100)
(footprint SM0603)
(libsource (lib device) (part R))
(sheetpath (names /) (tstamps /))
(tstamp 55F149A3))
(comp (ref P1)
(value CONN_7)
(libsource (lib conn) (part CONN_7))
(sheetpath (names /) (tstamps /))
(tstamp 55F149BB)))
(libparts
(libpart (lib device) (part LED)
(footprints
(fp LED-3MM)
(fp LED-5MM)
(fp LED-10MM)
(fp LED-0603)
(fp LED-0805)
(fp LED-1206)
(fp LEDV))
(fields
(field (name Reference) D)
(field (name Value) LED)
(field (name Footprint) ~)
(field (name Datasheet) ~))
(pins
(pin (num 1) (name A) (type passive))
(pin (num 2) (name K) (type passive))))
(libpart (lib device) (part R)
(description Resistance)
(footprints
(fp R?)
(fp SM0603)
(fp SM0805)
(fp R?-*)
(fp SM1206))
(fields
(field (name Reference) R)
(field (name Value) R)
(field (name Footprint) ~)
(field (name Datasheet) ~))
(pins
(pin (num 1) (name ~) (type passive))
(pin (num 2) (name ~) (type passive))))
(libpart (lib conn) (part CONN_7)
(description "Symbole general pour connexions")
(fields
(field (name Reference) P)
(field (name Value) CONN_7))
(pins
(pin (num 1) (name P1) (type passive))
(pin (num 2) (name P2) (type passive))
(pin (num 3) (name P3) (type passive))
(pin (num 4) (name P4) (type passive))
(pin (num 5) (name P5) (type passive))
(pin (num 6) (name P6) (type passive))
(pin (num 7) (name P7) (type passive)))))
(libraries
(library (logical device)
(uri /usr/share/kicad/library/device.lib))
(library (logical conn)
(uri /usr/share/kicad/library/conn.lib)))
(nets
(net (code 1) (name /G2)
(node (ref D6) (pin 2))
(node (ref P1) (pin 6)))
(net (code 2) (name /R2)
(node (ref P1) (pin 4))
(node (ref D4) (pin 2)))
(net (code 3) (name /R1)
(node (ref D3) (pin 2))
(node (ref P1) (pin 3)))
(net (code 4) (name /Y2)
(node (ref D2) (pin 2))
(node (ref P1) (pin 2)))
(net (code 5) (name /Y1)
(node (ref D1) (pin 2))
(node (ref P1) (pin 1)))
(net (code 6) (name /G1)
(node (ref D5) (pin 2))
(node (ref P1) (pin 5)))
(net (code 7) (name "")
(node (ref D2) (pin 1))
(node (ref R2) (pin 2)))
(net (code 8) (name "")
(node (ref D3) (pin 1))
(node (ref R3) (pin 2)))
(net (code 9) (name /+3.3V)
(node (ref P1) (pin 7))
(node (ref R1) (pin 1))
(node (ref R6) (pin 1))
(node (ref R5) (pin 1))
(node (ref R2) (pin 1))
(node (ref R3) (pin 1))
(node (ref R4) (pin 1)))
(net (code 10) (name "")
(node (ref D1) (pin 1))
(node (ref R1) (pin 2)))
(net (code 11) (name "")
(node (ref D4) (pin 1))
(node (ref R4) (pin 2)))
(net (code 12) (name "")
(node (ref D5) (pin 1))
(node (ref R5) (pin 2)))
(net (code 13) (name "")
(node (ref D6) (pin 1))
(node (ref R6) (pin 2)))))

View File

@ -0,0 +1,256 @@
EESchema Schematic File Version 2 date Чт 10 сен 2015 12:15:08
LIBS:power
LIBS:device
LIBS:transistors
LIBS:conn
LIBS:linear
LIBS:regul
LIBS:74xx
LIBS:cmos4000
LIBS:adc-dac
LIBS:memory
LIBS:xilinx
LIBS:special
LIBS:microcontrollers
LIBS:dsp
LIBS:microchip
LIBS:analog_switches
LIBS:motorola
LIBS:texas
LIBS:intel
LIBS:audio
LIBS:interface
LIBS:digital-audio
LIBS:philips
LIBS:display
LIBS:cypress
LIBS:siliconi
LIBS:opto
LIBS:atmel
LIBS:contrib
LIBS:valves
EELAYER 27 0
EELAYER END
$Descr A4 11693 8268
encoding utf-8
Sheet 1 1
Title ""
Date "10 sep 2015"
Rev ""
Comp ""
Comment1 ""
Comment2 ""
Comment3 ""
Comment4 ""
$EndDescr
$Comp
L LED D1
U 1 1 55F14513
P 2350 1300
F 0 "D1" H 2350 1400 50 0000 C CNN
F 1 "LED" H 2350 1200 50 0000 C CNN
F 2 "~" H 2350 1300 60 0000 C CNN
F 3 "~" H 2350 1300 60 0000 C CNN
1 2350 1300
1 0 0 -1
$EndComp
$Comp
L R R1
U 1 1 55F14522
P 1850 1300
F 0 "R1" V 1930 1300 40 0000 C CNN
F 1 "100" V 1857 1301 40 0000 C CNN
F 2 "SM0603" V 1780 1300 30 0001 C CNN
F 3 "~" H 1850 1300 30 0000 C CNN
1 1850 1300
0 -1 -1 0
$EndComp
Wire Wire Line
2100 1300 2150 1300
$Comp
L LED D2
U 1 1 55F14969
P 2350 1650
F 0 "D2" H 2350 1750 50 0000 C CNN
F 1 "LED" H 2350 1550 50 0000 C CNN
F 2 "~" H 2350 1650 60 0000 C CNN
F 3 "~" H 2350 1650 60 0000 C CNN
1 2350 1650
1 0 0 -1
$EndComp
$Comp
L R R2
U 1 1 55F1496F
P 1850 1650
F 0 "R2" V 1930 1650 40 0000 C CNN
F 1 "100" V 1857 1651 40 0000 C CNN
F 2 "SM0603" V 1780 1650 30 0001 C CNN
F 3 "~" H 1850 1650 30 0000 C CNN
1 1850 1650
0 -1 -1 0
$EndComp
Wire Wire Line
2100 1650 2150 1650
$Comp
L LED D3
U 1 1 55F14976
P 2350 2050
F 0 "D3" H 2350 2150 50 0000 C CNN
F 1 "LED" H 2350 1950 50 0000 C CNN
F 2 "~" H 2350 2050 60 0000 C CNN
F 3 "~" H 2350 2050 60 0000 C CNN
1 2350 2050
1 0 0 -1
$EndComp
$Comp
L R R3
U 1 1 55F1497C
P 1850 2050
F 0 "R3" V 1930 2050 40 0000 C CNN
F 1 "100" V 1857 2051 40 0000 C CNN
F 2 "SM0603" V 1780 2050 30 0001 C CNN
F 3 "~" H 1850 2050 30 0000 C CNN
1 1850 2050
0 -1 -1 0
$EndComp
Wire Wire Line
2100 2050 2150 2050
$Comp
L LED D4
U 1 1 55F14983
P 2350 2400
F 0 "D4" H 2350 2500 50 0000 C CNN
F 1 "LED" H 2350 2300 50 0000 C CNN
F 2 "~" H 2350 2400 60 0000 C CNN
F 3 "~" H 2350 2400 60 0000 C CNN
1 2350 2400
1 0 0 -1
$EndComp
$Comp
L R R4
U 1 1 55F14989
P 1850 2400
F 0 "R4" V 1930 2400 40 0000 C CNN
F 1 "100" V 1857 2401 40 0000 C CNN
F 2 "SM0603" V 1780 2400 30 0001 C CNN
F 3 "~" H 1850 2400 30 0000 C CNN
1 1850 2400
0 -1 -1 0
$EndComp
Wire Wire Line
2100 2400 2150 2400
$Comp
L LED D5
U 1 1 55F14990
P 2350 2750
F 0 "D5" H 2350 2850 50 0000 C CNN
F 1 "LED" H 2350 2650 50 0000 C CNN
F 2 "~" H 2350 2750 60 0000 C CNN
F 3 "~" H 2350 2750 60 0000 C CNN
1 2350 2750
1 0 0 -1
$EndComp
$Comp
L R R5
U 1 1 55F14996
P 1850 2750
F 0 "R5" V 1930 2750 40 0000 C CNN
F 1 "100" V 1857 2751 40 0000 C CNN
F 2 "SM0603" V 1780 2750 30 0001 C CNN
F 3 "~" H 1850 2750 30 0000 C CNN
1 1850 2750
0 -1 -1 0
$EndComp
Wire Wire Line
2100 2750 2150 2750
$Comp
L LED D6
U 1 1 55F1499D
P 2350 3100
F 0 "D6" H 2350 3200 50 0000 C CNN
F 1 "LED" H 2350 3000 50 0000 C CNN
F 2 "~" H 2350 3100 60 0000 C CNN
F 3 "~" H 2350 3100 60 0000 C CNN
1 2350 3100
1 0 0 -1
$EndComp
$Comp
L R R6
U 1 1 55F149A3
P 1850 3100
F 0 "R6" V 1930 3100 40 0000 C CNN
F 1 "100" V 1857 3101 40 0000 C CNN
F 2 "SM0603" V 1780 3100 30 0001 C CNN
F 3 "~" H 1850 3100 30 0000 C CNN
1 1850 3100
0 -1 -1 0
$EndComp
Wire Wire Line
2100 3100 2150 3100
Wire Wire Line
1600 1300 1600 3300
Connection ~ 1600 1650
Connection ~ 1600 2050
Connection ~ 1600 2400
Connection ~ 1600 2750
$Comp
L CONN_7 P1
U 1 1 55F149BB
P 3350 1600
F 0 "P1" V 3320 1600 60 0000 C CNN
F 1 "CONN_7" V 3420 1600 60 0000 C CNN
F 2 "" H 3350 1600 60 0000 C CNN
F 3 "" H 3350 1600 60 0000 C CNN
1 3350 1600
1 0 0 -1
$EndComp
Wire Wire Line
3000 1300 2550 1300
Wire Wire Line
2550 1650 2550 1400
Wire Wire Line
2550 1400 3000 1400
Wire Wire Line
2550 2050 2600 2050
Wire Wire Line
2600 2050 2600 1500
Wire Wire Line
2600 1500 3000 1500
Wire Wire Line
2550 2400 2650 2400
Wire Wire Line
2650 2400 2650 1600
Wire Wire Line
2650 1600 3000 1600
Wire Wire Line
3000 1700 2700 1700
Wire Wire Line
2700 1700 2700 2750
Wire Wire Line
2700 2750 2550 2750
Wire Wire Line
2550 3100 2750 3100
Wire Wire Line
2750 3100 2750 1800
Wire Wire Line
2750 1800 3000 1800
Wire Wire Line
1600 3300 3000 3300
Wire Wire Line
3000 3300 3000 1900
Connection ~ 1600 3100
Text Label 3000 2150 0 60 ~ 0
+3.3V
Text Label 2850 1300 2 60 ~ 0
Y1
Text Label 2850 1400 2 60 ~ 0
Y2
Text Label 2850 1500 2 60 ~ 0
R1
Text Label 2850 1600 2 60 ~ 0
R2
Text Label 2850 1700 2 60 ~ 0
G1
Text Label 2850 1800 2 60 ~ 0
G2
$EndSCHEMATC

File diff suppressed because it is too large Load Diff

After

Width:  |  Height:  |  Size: 339 KiB

View File

@ -0,0 +1,847 @@
(kicad_pcb (version 3) (host pcbnew "(2013-feb-26)-stable")
(general
(links 18)
(no_connects 0)
(area 55.730227 47.18873 83.841401 74.414001)
(thickness 1.6)
(drawings 20)
(tracks 75)
(zones 0)
(modules 17)
(nets 14)
)
(page A3)
(layers
(15 F.Cu signal)
(0 B.Cu signal)
(16 B.Adhes user)
(17 F.Adhes user)
(18 B.Paste user)
(19 F.Paste user)
(20 B.SilkS user)
(21 F.SilkS user)
(22 B.Mask user)
(23 F.Mask user)
(24 Dwgs.User user)
(25 Cmts.User user)
(26 Eco1.User user)
(27 Eco2.User user)
(28 Edge.Cuts user)
)
(setup
(last_trace_width 0.5)
(trace_clearance 0.254)
(zone_clearance 0.508)
(zone_45_only no)
(trace_min 0.5)
(segment_width 0.2)
(edge_width 0.15)
(via_size 0.889)
(via_drill 0.635)
(via_min_size 0.889)
(via_min_drill 0.508)
(uvia_size 0.508)
(uvia_drill 0.127)
(uvias_allowed no)
(uvia_min_size 0.508)
(uvia_min_drill 0.127)
(pcb_text_width 0.3)
(pcb_text_size 1 1)
(mod_edge_width 0.15)
(mod_text_size 1 1)
(mod_text_width 0.15)
(pad_size 1 1)
(pad_drill 0.6)
(pad_to_mask_clearance 0)
(aux_axis_origin 0 0)
(visible_elements FFFFFFBF)
(pcbplotparams
(layerselection 3178497)
(usegerberextensions true)
(excludeedgelayer true)
(linewidth 152400)
(plotframeref false)
(viasonmask false)
(mode 1)
(useauxorigin false)
(hpglpennumber 1)
(hpglpenspeed 20)
(hpglpendiameter 15)
(hpglpenoverlay 2)
(psnegative false)
(psa4output false)
(plotreference true)
(plotvalue true)
(plotothertext true)
(plotinvisibletext false)
(padsonsilk false)
(subtractmaskfromsilk false)
(outputformat 1)
(mirror false)
(drillshape 1)
(scaleselection 1)
(outputdirectory ""))
)
(net 0 "")
(net 1 /+3.3V)
(net 2 /G1)
(net 3 /G2)
(net 4 /R1)
(net 5 /R2)
(net 6 /Y1)
(net 7 /Y2)
(net 8 N-0000010)
(net 9 N-0000011)
(net 10 N-0000012)
(net 11 N-0000013)
(net 12 N-000007)
(net 13 N-000008)
(net_class Default "This is the default net class."
(clearance 0.254)
(trace_width 0.5)
(via_dia 0.889)
(via_drill 0.635)
(uvia_dia 0.508)
(uvia_drill 0.127)
(add_net "")
(add_net /G1)
(add_net /G2)
(add_net /R1)
(add_net /R2)
(add_net /Y1)
(add_net /Y2)
(add_net N-0000010)
(add_net N-0000011)
(add_net N-0000012)
(add_net N-0000013)
(add_net N-000007)
(add_net N-000008)
)
(net_class WIDE ""
(clearance 0.254)
(trace_width 1)
(via_dia 0.889)
(via_drill 0.635)
(uvia_dia 0.508)
(uvia_drill 0.127)
(add_net /+3.3V)
)
(module SM0603 (layer B.Cu) (tedit 4E43A3D1) (tstamp 55F14ADA)
(at 57.4 56.6)
(path /55F14522)
(attr smd)
(fp_text reference R1 (at 0 0) (layer B.SilkS)
(effects (font (size 0.508 0.4572) (thickness 0.1143)) (justify mirror))
)
(fp_text value 100 (at 0 0) (layer B.SilkS) hide
(effects (font (size 0.508 0.4572) (thickness 0.1143)) (justify mirror))
)
(fp_line (start -1.143 0.635) (end 1.143 0.635) (layer B.SilkS) (width 0.127))
(fp_line (start 1.143 0.635) (end 1.143 -0.635) (layer B.SilkS) (width 0.127))
(fp_line (start 1.143 -0.635) (end -1.143 -0.635) (layer B.SilkS) (width 0.127))
(fp_line (start -1.143 -0.635) (end -1.143 0.635) (layer B.SilkS) (width 0.127))
(pad 1 smd rect (at -0.762 0) (size 0.635 1.143)
(layers B.Cu B.Paste B.Mask)
(net 1 /+3.3V)
)
(pad 2 smd rect (at 0.762 0) (size 0.635 1.143)
(layers B.Cu B.Paste B.Mask)
(net 8 N-0000010)
)
(model smd\resistors\R0603.wrl
(at (xyz 0 0 0.001))
(scale (xyz 0.5 0.5 0.5))
(rotate (xyz 0 0 0))
)
)
(module SM0603 (layer B.Cu) (tedit 4E43A3D1) (tstamp 55F14AE4)
(at 57.4 66.6)
(path /55F1496F)
(attr smd)
(fp_text reference R2 (at 0 0) (layer B.SilkS)
(effects (font (size 0.508 0.4572) (thickness 0.1143)) (justify mirror))
)
(fp_text value 100 (at 0 0) (layer B.SilkS) hide
(effects (font (size 0.508 0.4572) (thickness 0.1143)) (justify mirror))
)
(fp_line (start -1.143 0.635) (end 1.143 0.635) (layer B.SilkS) (width 0.127))
(fp_line (start 1.143 0.635) (end 1.143 -0.635) (layer B.SilkS) (width 0.127))
(fp_line (start 1.143 -0.635) (end -1.143 -0.635) (layer B.SilkS) (width 0.127))
(fp_line (start -1.143 -0.635) (end -1.143 0.635) (layer B.SilkS) (width 0.127))
(pad 1 smd rect (at -0.762 0) (size 0.635 1.143)
(layers B.Cu B.Paste B.Mask)
(net 1 /+3.3V)
)
(pad 2 smd rect (at 0.762 0) (size 0.635 1.143)
(layers B.Cu B.Paste B.Mask)
(net 12 N-000007)
)
(model smd\resistors\R0603.wrl
(at (xyz 0 0 0.001))
(scale (xyz 0.5 0.5 0.5))
(rotate (xyz 0 0 0))
)
)
(module SM0603 (layer B.Cu) (tedit 4E43A3D1) (tstamp 55F14AEE)
(at 67.8 56.6)
(path /55F1497C)
(attr smd)
(fp_text reference R3 (at 0 0) (layer B.SilkS)
(effects (font (size 0.508 0.4572) (thickness 0.1143)) (justify mirror))
)
(fp_text value 100 (at 0 0) (layer B.SilkS) hide
(effects (font (size 0.508 0.4572) (thickness 0.1143)) (justify mirror))
)
(fp_line (start -1.143 0.635) (end 1.143 0.635) (layer B.SilkS) (width 0.127))
(fp_line (start 1.143 0.635) (end 1.143 -0.635) (layer B.SilkS) (width 0.127))
(fp_line (start 1.143 -0.635) (end -1.143 -0.635) (layer B.SilkS) (width 0.127))
(fp_line (start -1.143 -0.635) (end -1.143 0.635) (layer B.SilkS) (width 0.127))
(pad 1 smd rect (at -0.762 0) (size 0.635 1.143)
(layers B.Cu B.Paste B.Mask)
(net 1 /+3.3V)
)
(pad 2 smd rect (at 0.762 0) (size 0.635 1.143)
(layers B.Cu B.Paste B.Mask)
(net 13 N-000008)
)
(model smd\resistors\R0603.wrl
(at (xyz 0 0 0.001))
(scale (xyz 0.5 0.5 0.5))
(rotate (xyz 0 0 0))
)
)
(module SM0603 (layer B.Cu) (tedit 4E43A3D1) (tstamp 55F14AF8)
(at 67.8 66.6)
(path /55F14989)
(attr smd)
(fp_text reference R4 (at 0 0) (layer B.SilkS)
(effects (font (size 0.508 0.4572) (thickness 0.1143)) (justify mirror))
)
(fp_text value 100 (at 0 0) (layer B.SilkS) hide
(effects (font (size 0.508 0.4572) (thickness 0.1143)) (justify mirror))
)
(fp_line (start -1.143 0.635) (end 1.143 0.635) (layer B.SilkS) (width 0.127))
(fp_line (start 1.143 0.635) (end 1.143 -0.635) (layer B.SilkS) (width 0.127))
(fp_line (start 1.143 -0.635) (end -1.143 -0.635) (layer B.SilkS) (width 0.127))
(fp_line (start -1.143 -0.635) (end -1.143 0.635) (layer B.SilkS) (width 0.127))
(pad 1 smd rect (at -0.762 0) (size 0.635 1.143)
(layers B.Cu B.Paste B.Mask)
(net 1 /+3.3V)
)
(pad 2 smd rect (at 0.762 0) (size 0.635 1.143)
(layers B.Cu B.Paste B.Mask)
(net 9 N-0000011)
)
(model smd\resistors\R0603.wrl
(at (xyz 0 0 0.001))
(scale (xyz 0.5 0.5 0.5))
(rotate (xyz 0 0 0))
)
)
(module SM0603 (layer B.Cu) (tedit 4E43A3D1) (tstamp 55F14B02)
(at 77.3 56.6)
(path /55F14996)
(attr smd)
(fp_text reference R5 (at 0 0) (layer B.SilkS)
(effects (font (size 0.508 0.4572) (thickness 0.1143)) (justify mirror))
)
(fp_text value 100 (at 0 0) (layer B.SilkS) hide
(effects (font (size 0.508 0.4572) (thickness 0.1143)) (justify mirror))
)
(fp_line (start -1.143 0.635) (end 1.143 0.635) (layer B.SilkS) (width 0.127))
(fp_line (start 1.143 0.635) (end 1.143 -0.635) (layer B.SilkS) (width 0.127))
(fp_line (start 1.143 -0.635) (end -1.143 -0.635) (layer B.SilkS) (width 0.127))
(fp_line (start -1.143 -0.635) (end -1.143 0.635) (layer B.SilkS) (width 0.127))
(pad 1 smd rect (at -0.762 0) (size 0.635 1.143)
(layers B.Cu B.Paste B.Mask)
(net 1 /+3.3V)
)
(pad 2 smd rect (at 0.762 0) (size 0.635 1.143)
(layers B.Cu B.Paste B.Mask)
(net 10 N-0000012)
)
(model smd\resistors\R0603.wrl
(at (xyz 0 0 0.001))
(scale (xyz 0.5 0.5 0.5))
(rotate (xyz 0 0 0))
)
)
(module SM0603 (layer B.Cu) (tedit 4E43A3D1) (tstamp 55F14B0C)
(at 77.3 66.6)
(path /55F149A3)
(attr smd)
(fp_text reference R6 (at 0 0) (layer B.SilkS)
(effects (font (size 0.508 0.4572) (thickness 0.1143)) (justify mirror))
)
(fp_text value 100 (at 0 0) (layer B.SilkS) hide
(effects (font (size 0.508 0.4572) (thickness 0.1143)) (justify mirror))
)
(fp_line (start -1.143 0.635) (end 1.143 0.635) (layer B.SilkS) (width 0.127))
(fp_line (start 1.143 0.635) (end 1.143 -0.635) (layer B.SilkS) (width 0.127))
(fp_line (start 1.143 -0.635) (end -1.143 -0.635) (layer B.SilkS) (width 0.127))
(fp_line (start -1.143 -0.635) (end -1.143 0.635) (layer B.SilkS) (width 0.127))
(pad 1 smd rect (at -0.762 0) (size 0.635 1.143)
(layers B.Cu B.Paste B.Mask)
(net 1 /+3.3V)
)
(pad 2 smd rect (at 0.762 0) (size 0.635 1.143)
(layers B.Cu B.Paste B.Mask)
(net 11 N-0000013)
)
(model smd\resistors\R0603.wrl
(at (xyz 0 0 0.001))
(scale (xyz 0.5 0.5 0.5))
(rotate (xyz 0 0 0))
)
)
(module SIL-7 (layer F.Cu) (tedit 200000) (tstamp 55F14B1E)
(at 70.5 51)
(descr "Connecteur 7 pins")
(tags "CONN DEV")
(path /55F149BB)
(fp_text reference P1 (at 0 -2.54) (layer F.SilkS)
(effects (font (size 1.72974 1.08712) (thickness 0.3048)))
)
(fp_text value CONN_7 (at 0 -2.54) (layer F.SilkS) hide
(effects (font (size 1.524 1.016) (thickness 0.3048)))
)
(fp_line (start -8.89 -1.27) (end -8.89 -1.27) (layer F.SilkS) (width 0.3048))
(fp_line (start -8.89 -1.27) (end 8.89 -1.27) (layer F.SilkS) (width 0.3048))
(fp_line (start 8.89 -1.27) (end 8.89 1.27) (layer F.SilkS) (width 0.3048))
(fp_line (start 8.89 1.27) (end -8.89 1.27) (layer F.SilkS) (width 0.3048))
(fp_line (start -8.89 1.27) (end -8.89 -1.27) (layer F.SilkS) (width 0.3048))
(fp_line (start -6.35 1.27) (end -6.35 1.27) (layer F.SilkS) (width 0.3048))
(fp_line (start -6.35 1.27) (end -6.35 -1.27) (layer F.SilkS) (width 0.3048))
(pad 1 thru_hole rect (at -7.62 0) (size 1.397 1.397) (drill 0.8128)
(layers *.Cu *.Mask F.SilkS)
(net 6 /Y1)
)
(pad 2 thru_hole circle (at -5.08 0) (size 1.397 1.397) (drill 0.8128)
(layers *.Cu *.SilkS *.Mask)
(net 7 /Y2)
)
(pad 3 thru_hole circle (at -2.54 0) (size 1.397 1.397) (drill 0.8128)
(layers *.Cu *.SilkS *.Mask)
(net 4 /R1)
)
(pad 4 thru_hole circle (at 0 0) (size 1.397 1.397) (drill 0.8128)
(layers *.Cu *.SilkS *.Mask)
(net 5 /R2)
)
(pad 5 thru_hole circle (at 2.54 0) (size 1.397 1.397) (drill 0.8128)
(layers *.Cu *.SilkS *.Mask)
(net 2 /G1)
)
(pad 6 thru_hole circle (at 5.08 0) (size 1.397 1.397) (drill 0.8128)
(layers *.Cu *.SilkS *.Mask)
(net 3 /G2)
)
(pad 7 thru_hole circle (at 7.62 0) (size 1.397 1.397) (drill 0.8128)
(layers *.Cu *.SilkS *.Mask)
(net 1 /+3.3V)
)
)
(module LED-3MM (layer F.Cu) (tedit 49BFA23B) (tstamp 55F14B37)
(at 60 60)
(descr "LED 3mm - Lead pitch 100mil (2,54mm)")
(tags "LED led 3mm 3MM 100mil 2,54mm")
(path /55F14513)
(fp_text reference D1 (at 1.778 -2.794) (layer F.SilkS)
(effects (font (size 0.762 0.762) (thickness 0.0889)))
)
(fp_text value LED (at 0 2.54) (layer F.SilkS)
(effects (font (size 0.762 0.762) (thickness 0.0889)))
)
(fp_line (start 1.8288 1.27) (end 1.8288 -1.27) (layer F.SilkS) (width 0.254))
(fp_arc (start 0.254 0) (end -1.27 0) (angle 39.8) (layer F.SilkS) (width 0.1524))
(fp_arc (start 0.254 0) (end -0.88392 1.01092) (angle 41.6) (layer F.SilkS) (width 0.1524))
(fp_arc (start 0.254 0) (end 1.4097 -0.9906) (angle 40.6) (layer F.SilkS) (width 0.1524))
(fp_arc (start 0.254 0) (end 1.778 0) (angle 39.8) (layer F.SilkS) (width 0.1524))
(fp_arc (start 0.254 0) (end 0.254 -1.524) (angle 54.4) (layer F.SilkS) (width 0.1524))
(fp_arc (start 0.254 0) (end -0.9652 -0.9144) (angle 53.1) (layer F.SilkS) (width 0.1524))
(fp_arc (start 0.254 0) (end 1.45542 0.93472) (angle 52.1) (layer F.SilkS) (width 0.1524))
(fp_arc (start 0.254 0) (end 0.254 1.524) (angle 52.1) (layer F.SilkS) (width 0.1524))
(fp_arc (start 0.254 0) (end -0.381 0) (angle 90) (layer F.SilkS) (width 0.1524))
(fp_arc (start 0.254 0) (end -0.762 0) (angle 90) (layer F.SilkS) (width 0.1524))
(fp_arc (start 0.254 0) (end 0.889 0) (angle 90) (layer F.SilkS) (width 0.1524))
(fp_arc (start 0.254 0) (end 1.27 0) (angle 90) (layer F.SilkS) (width 0.1524))
(fp_arc (start 0.254 0) (end 0.254 -2.032) (angle 50.1) (layer F.SilkS) (width 0.254))
(fp_arc (start 0.254 0) (end -1.5367 -0.95504) (angle 61.9) (layer F.SilkS) (width 0.254))
(fp_arc (start 0.254 0) (end 1.8034 1.31064) (angle 49.7) (layer F.SilkS) (width 0.254))
(fp_arc (start 0.254 0) (end 0.254 2.032) (angle 60.2) (layer F.SilkS) (width 0.254))
(fp_arc (start 0.254 0) (end -1.778 0) (angle 28.3) (layer F.SilkS) (width 0.254))
(fp_arc (start 0.254 0) (end -1.47574 1.06426) (angle 31.6) (layer F.SilkS) (width 0.254))
(pad 1 thru_hole circle (at -1.27 0) (size 1.6764 1.6764) (drill 0.8128)
(layers *.Cu F.Paste F.SilkS F.Mask)
(net 8 N-0000010)
)
(pad 2 thru_hole circle (at 1.27 0) (size 1.6764 1.6764) (drill 0.8128)
(layers *.Cu F.Paste F.SilkS F.Mask)
(net 6 /Y1)
)
(model discret/leds/led3_vertical_verde.wrl
(at (xyz 0 0 0))
(scale (xyz 1 1 1))
(rotate (xyz 0 0 0))
)
)
(module LED-3MM (layer F.Cu) (tedit 49BFA23B) (tstamp 55F14B50)
(at 60 70)
(descr "LED 3mm - Lead pitch 100mil (2,54mm)")
(tags "LED led 3mm 3MM 100mil 2,54mm")
(path /55F14969)
(fp_text reference D2 (at 1.778 -2.794) (layer F.SilkS)
(effects (font (size 0.762 0.762) (thickness 0.0889)))
)
(fp_text value LED (at 0 2.54) (layer F.SilkS)
(effects (font (size 0.762 0.762) (thickness 0.0889)))
)
(fp_line (start 1.8288 1.27) (end 1.8288 -1.27) (layer F.SilkS) (width 0.254))
(fp_arc (start 0.254 0) (end -1.27 0) (angle 39.8) (layer F.SilkS) (width 0.1524))
(fp_arc (start 0.254 0) (end -0.88392 1.01092) (angle 41.6) (layer F.SilkS) (width 0.1524))
(fp_arc (start 0.254 0) (end 1.4097 -0.9906) (angle 40.6) (layer F.SilkS) (width 0.1524))
(fp_arc (start 0.254 0) (end 1.778 0) (angle 39.8) (layer F.SilkS) (width 0.1524))
(fp_arc (start 0.254 0) (end 0.254 -1.524) (angle 54.4) (layer F.SilkS) (width 0.1524))
(fp_arc (start 0.254 0) (end -0.9652 -0.9144) (angle 53.1) (layer F.SilkS) (width 0.1524))
(fp_arc (start 0.254 0) (end 1.45542 0.93472) (angle 52.1) (layer F.SilkS) (width 0.1524))
(fp_arc (start 0.254 0) (end 0.254 1.524) (angle 52.1) (layer F.SilkS) (width 0.1524))
(fp_arc (start 0.254 0) (end -0.381 0) (angle 90) (layer F.SilkS) (width 0.1524))
(fp_arc (start 0.254 0) (end -0.762 0) (angle 90) (layer F.SilkS) (width 0.1524))
(fp_arc (start 0.254 0) (end 0.889 0) (angle 90) (layer F.SilkS) (width 0.1524))
(fp_arc (start 0.254 0) (end 1.27 0) (angle 90) (layer F.SilkS) (width 0.1524))
(fp_arc (start 0.254 0) (end 0.254 -2.032) (angle 50.1) (layer F.SilkS) (width 0.254))
(fp_arc (start 0.254 0) (end -1.5367 -0.95504) (angle 61.9) (layer F.SilkS) (width 0.254))
(fp_arc (start 0.254 0) (end 1.8034 1.31064) (angle 49.7) (layer F.SilkS) (width 0.254))
(fp_arc (start 0.254 0) (end 0.254 2.032) (angle 60.2) (layer F.SilkS) (width 0.254))
(fp_arc (start 0.254 0) (end -1.778 0) (angle 28.3) (layer F.SilkS) (width 0.254))
(fp_arc (start 0.254 0) (end -1.47574 1.06426) (angle 31.6) (layer F.SilkS) (width 0.254))
(pad 1 thru_hole circle (at -1.27 0) (size 1.6764 1.6764) (drill 0.8128)
(layers *.Cu F.Paste F.SilkS F.Mask)
(net 12 N-000007)
)
(pad 2 thru_hole circle (at 1.27 0) (size 1.6764 1.6764) (drill 0.8128)
(layers *.Cu F.Paste F.SilkS F.Mask)
(net 7 /Y2)
)
(model discret/leds/led3_vertical_verde.wrl
(at (xyz 0 0 0))
(scale (xyz 1 1 1))
(rotate (xyz 0 0 0))
)
)
(module LED-3MM (layer F.Cu) (tedit 49BFA23B) (tstamp 55F14B69)
(at 70 60)
(descr "LED 3mm - Lead pitch 100mil (2,54mm)")
(tags "LED led 3mm 3MM 100mil 2,54mm")
(path /55F14976)
(fp_text reference D3 (at 1.778 -2.794) (layer F.SilkS)
(effects (font (size 0.762 0.762) (thickness 0.0889)))
)
(fp_text value LED (at 0 2.54) (layer F.SilkS)
(effects (font (size 0.762 0.762) (thickness 0.0889)))
)
(fp_line (start 1.8288 1.27) (end 1.8288 -1.27) (layer F.SilkS) (width 0.254))
(fp_arc (start 0.254 0) (end -1.27 0) (angle 39.8) (layer F.SilkS) (width 0.1524))
(fp_arc (start 0.254 0) (end -0.88392 1.01092) (angle 41.6) (layer F.SilkS) (width 0.1524))
(fp_arc (start 0.254 0) (end 1.4097 -0.9906) (angle 40.6) (layer F.SilkS) (width 0.1524))
(fp_arc (start 0.254 0) (end 1.778 0) (angle 39.8) (layer F.SilkS) (width 0.1524))
(fp_arc (start 0.254 0) (end 0.254 -1.524) (angle 54.4) (layer F.SilkS) (width 0.1524))
(fp_arc (start 0.254 0) (end -0.9652 -0.9144) (angle 53.1) (layer F.SilkS) (width 0.1524))
(fp_arc (start 0.254 0) (end 1.45542 0.93472) (angle 52.1) (layer F.SilkS) (width 0.1524))
(fp_arc (start 0.254 0) (end 0.254 1.524) (angle 52.1) (layer F.SilkS) (width 0.1524))
(fp_arc (start 0.254 0) (end -0.381 0) (angle 90) (layer F.SilkS) (width 0.1524))
(fp_arc (start 0.254 0) (end -0.762 0) (angle 90) (layer F.SilkS) (width 0.1524))
(fp_arc (start 0.254 0) (end 0.889 0) (angle 90) (layer F.SilkS) (width 0.1524))
(fp_arc (start 0.254 0) (end 1.27 0) (angle 90) (layer F.SilkS) (width 0.1524))
(fp_arc (start 0.254 0) (end 0.254 -2.032) (angle 50.1) (layer F.SilkS) (width 0.254))
(fp_arc (start 0.254 0) (end -1.5367 -0.95504) (angle 61.9) (layer F.SilkS) (width 0.254))
(fp_arc (start 0.254 0) (end 1.8034 1.31064) (angle 49.7) (layer F.SilkS) (width 0.254))
(fp_arc (start 0.254 0) (end 0.254 2.032) (angle 60.2) (layer F.SilkS) (width 0.254))
(fp_arc (start 0.254 0) (end -1.778 0) (angle 28.3) (layer F.SilkS) (width 0.254))
(fp_arc (start 0.254 0) (end -1.47574 1.06426) (angle 31.6) (layer F.SilkS) (width 0.254))
(pad 1 thru_hole circle (at -1.27 0) (size 1.6764 1.6764) (drill 0.8128)
(layers *.Cu F.Paste F.SilkS F.Mask)
(net 13 N-000008)
)
(pad 2 thru_hole circle (at 1.27 0) (size 1.6764 1.6764) (drill 0.8128)
(layers *.Cu F.Paste F.SilkS F.Mask)
(net 4 /R1)
)
(model discret/leds/led3_vertical_verde.wrl
(at (xyz 0 0 0))
(scale (xyz 1 1 1))
(rotate (xyz 0 0 0))
)
)
(module LED-3MM (layer F.Cu) (tedit 49BFA23B) (tstamp 55F14B82)
(at 70 70)
(descr "LED 3mm - Lead pitch 100mil (2,54mm)")
(tags "LED led 3mm 3MM 100mil 2,54mm")
(path /55F14983)
(fp_text reference D4 (at 1.778 -2.794) (layer F.SilkS)
(effects (font (size 0.762 0.762) (thickness 0.0889)))
)
(fp_text value LED (at 0 2.54) (layer F.SilkS)
(effects (font (size 0.762 0.762) (thickness 0.0889)))
)
(fp_line (start 1.8288 1.27) (end 1.8288 -1.27) (layer F.SilkS) (width 0.254))
(fp_arc (start 0.254 0) (end -1.27 0) (angle 39.8) (layer F.SilkS) (width 0.1524))
(fp_arc (start 0.254 0) (end -0.88392 1.01092) (angle 41.6) (layer F.SilkS) (width 0.1524))
(fp_arc (start 0.254 0) (end 1.4097 -0.9906) (angle 40.6) (layer F.SilkS) (width 0.1524))
(fp_arc (start 0.254 0) (end 1.778 0) (angle 39.8) (layer F.SilkS) (width 0.1524))
(fp_arc (start 0.254 0) (end 0.254 -1.524) (angle 54.4) (layer F.SilkS) (width 0.1524))
(fp_arc (start 0.254 0) (end -0.9652 -0.9144) (angle 53.1) (layer F.SilkS) (width 0.1524))
(fp_arc (start 0.254 0) (end 1.45542 0.93472) (angle 52.1) (layer F.SilkS) (width 0.1524))
(fp_arc (start 0.254 0) (end 0.254 1.524) (angle 52.1) (layer F.SilkS) (width 0.1524))
(fp_arc (start 0.254 0) (end -0.381 0) (angle 90) (layer F.SilkS) (width 0.1524))
(fp_arc (start 0.254 0) (end -0.762 0) (angle 90) (layer F.SilkS) (width 0.1524))
(fp_arc (start 0.254 0) (end 0.889 0) (angle 90) (layer F.SilkS) (width 0.1524))
(fp_arc (start 0.254 0) (end 1.27 0) (angle 90) (layer F.SilkS) (width 0.1524))
(fp_arc (start 0.254 0) (end 0.254 -2.032) (angle 50.1) (layer F.SilkS) (width 0.254))
(fp_arc (start 0.254 0) (end -1.5367 -0.95504) (angle 61.9) (layer F.SilkS) (width 0.254))
(fp_arc (start 0.254 0) (end 1.8034 1.31064) (angle 49.7) (layer F.SilkS) (width 0.254))
(fp_arc (start 0.254 0) (end 0.254 2.032) (angle 60.2) (layer F.SilkS) (width 0.254))
(fp_arc (start 0.254 0) (end -1.778 0) (angle 28.3) (layer F.SilkS) (width 0.254))
(fp_arc (start 0.254 0) (end -1.47574 1.06426) (angle 31.6) (layer F.SilkS) (width 0.254))
(pad 1 thru_hole circle (at -1.27 0) (size 1.6764 1.6764) (drill 0.8128)
(layers *.Cu F.Paste F.SilkS F.Mask)
(net 9 N-0000011)
)
(pad 2 thru_hole circle (at 1.27 0) (size 1.6764 1.6764) (drill 0.8128)
(layers *.Cu F.Paste F.SilkS F.Mask)
(net 5 /R2)
)
(model discret/leds/led3_vertical_verde.wrl
(at (xyz 0 0 0))
(scale (xyz 1 1 1))
(rotate (xyz 0 0 0))
)
)
(module LED-3MM (layer F.Cu) (tedit 49BFA23B) (tstamp 55F14B9B)
(at 80 60)
(descr "LED 3mm - Lead pitch 100mil (2,54mm)")
(tags "LED led 3mm 3MM 100mil 2,54mm")
(path /55F14990)
(fp_text reference D5 (at 1.778 -2.794) (layer F.SilkS)
(effects (font (size 0.762 0.762) (thickness 0.0889)))
)
(fp_text value LED (at 0 2.54) (layer F.SilkS)
(effects (font (size 0.762 0.762) (thickness 0.0889)))
)
(fp_line (start 1.8288 1.27) (end 1.8288 -1.27) (layer F.SilkS) (width 0.254))
(fp_arc (start 0.254 0) (end -1.27 0) (angle 39.8) (layer F.SilkS) (width 0.1524))
(fp_arc (start 0.254 0) (end -0.88392 1.01092) (angle 41.6) (layer F.SilkS) (width 0.1524))
(fp_arc (start 0.254 0) (end 1.4097 -0.9906) (angle 40.6) (layer F.SilkS) (width 0.1524))
(fp_arc (start 0.254 0) (end 1.778 0) (angle 39.8) (layer F.SilkS) (width 0.1524))
(fp_arc (start 0.254 0) (end 0.254 -1.524) (angle 54.4) (layer F.SilkS) (width 0.1524))
(fp_arc (start 0.254 0) (end -0.9652 -0.9144) (angle 53.1) (layer F.SilkS) (width 0.1524))
(fp_arc (start 0.254 0) (end 1.45542 0.93472) (angle 52.1) (layer F.SilkS) (width 0.1524))
(fp_arc (start 0.254 0) (end 0.254 1.524) (angle 52.1) (layer F.SilkS) (width 0.1524))
(fp_arc (start 0.254 0) (end -0.381 0) (angle 90) (layer F.SilkS) (width 0.1524))
(fp_arc (start 0.254 0) (end -0.762 0) (angle 90) (layer F.SilkS) (width 0.1524))
(fp_arc (start 0.254 0) (end 0.889 0) (angle 90) (layer F.SilkS) (width 0.1524))
(fp_arc (start 0.254 0) (end 1.27 0) (angle 90) (layer F.SilkS) (width 0.1524))
(fp_arc (start 0.254 0) (end 0.254 -2.032) (angle 50.1) (layer F.SilkS) (width 0.254))
(fp_arc (start 0.254 0) (end -1.5367 -0.95504) (angle 61.9) (layer F.SilkS) (width 0.254))
(fp_arc (start 0.254 0) (end 1.8034 1.31064) (angle 49.7) (layer F.SilkS) (width 0.254))
(fp_arc (start 0.254 0) (end 0.254 2.032) (angle 60.2) (layer F.SilkS) (width 0.254))
(fp_arc (start 0.254 0) (end -1.778 0) (angle 28.3) (layer F.SilkS) (width 0.254))
(fp_arc (start 0.254 0) (end -1.47574 1.06426) (angle 31.6) (layer F.SilkS) (width 0.254))
(pad 1 thru_hole circle (at -1.27 0) (size 1.6764 1.6764) (drill 0.8128)
(layers *.Cu F.Paste F.SilkS F.Mask)
(net 10 N-0000012)
)
(pad 2 thru_hole circle (at 1.27 0) (size 1.6764 1.6764) (drill 0.8128)
(layers *.Cu F.Paste F.SilkS F.Mask)
(net 2 /G1)
)
(model discret/leds/led3_vertical_verde.wrl
(at (xyz 0 0 0))
(scale (xyz 1 1 1))
(rotate (xyz 0 0 0))
)
)
(module LED-3MM (layer F.Cu) (tedit 49BFA23B) (tstamp 55F14BB4)
(at 80 70)
(descr "LED 3mm - Lead pitch 100mil (2,54mm)")
(tags "LED led 3mm 3MM 100mil 2,54mm")
(path /55F1499D)
(fp_text reference D6 (at 1.778 -2.794) (layer F.SilkS)
(effects (font (size 0.762 0.762) (thickness 0.0889)))
)
(fp_text value LED (at 0 2.54) (layer F.SilkS)
(effects (font (size 0.762 0.762) (thickness 0.0889)))
)
(fp_line (start 1.8288 1.27) (end 1.8288 -1.27) (layer F.SilkS) (width 0.254))
(fp_arc (start 0.254 0) (end -1.27 0) (angle 39.8) (layer F.SilkS) (width 0.1524))
(fp_arc (start 0.254 0) (end -0.88392 1.01092) (angle 41.6) (layer F.SilkS) (width 0.1524))
(fp_arc (start 0.254 0) (end 1.4097 -0.9906) (angle 40.6) (layer F.SilkS) (width 0.1524))
(fp_arc (start 0.254 0) (end 1.778 0) (angle 39.8) (layer F.SilkS) (width 0.1524))
(fp_arc (start 0.254 0) (end 0.254 -1.524) (angle 54.4) (layer F.SilkS) (width 0.1524))
(fp_arc (start 0.254 0) (end -0.9652 -0.9144) (angle 53.1) (layer F.SilkS) (width 0.1524))
(fp_arc (start 0.254 0) (end 1.45542 0.93472) (angle 52.1) (layer F.SilkS) (width 0.1524))
(fp_arc (start 0.254 0) (end 0.254 1.524) (angle 52.1) (layer F.SilkS) (width 0.1524))
(fp_arc (start 0.254 0) (end -0.381 0) (angle 90) (layer F.SilkS) (width 0.1524))
(fp_arc (start 0.254 0) (end -0.762 0) (angle 90) (layer F.SilkS) (width 0.1524))
(fp_arc (start 0.254 0) (end 0.889 0) (angle 90) (layer F.SilkS) (width 0.1524))
(fp_arc (start 0.254 0) (end 1.27 0) (angle 90) (layer F.SilkS) (width 0.1524))
(fp_arc (start 0.254 0) (end 0.254 -2.032) (angle 50.1) (layer F.SilkS) (width 0.254))
(fp_arc (start 0.254 0) (end -1.5367 -0.95504) (angle 61.9) (layer F.SilkS) (width 0.254))
(fp_arc (start 0.254 0) (end 1.8034 1.31064) (angle 49.7) (layer F.SilkS) (width 0.254))
(fp_arc (start 0.254 0) (end 0.254 2.032) (angle 60.2) (layer F.SilkS) (width 0.254))
(fp_arc (start 0.254 0) (end -1.778 0) (angle 28.3) (layer F.SilkS) (width 0.254))
(fp_arc (start 0.254 0) (end -1.47574 1.06426) (angle 31.6) (layer F.SilkS) (width 0.254))
(pad 1 thru_hole circle (at -1.27 0) (size 1.6764 1.6764) (drill 0.8128)
(layers *.Cu F.Paste F.SilkS F.Mask)
(net 11 N-0000013)
)
(pad 2 thru_hole circle (at 1.27 0) (size 1.6764 1.6764) (drill 0.8128)
(layers *.Cu F.Paste F.SilkS F.Mask)
(net 3 /G2)
)
(model discret/leds/led3_vertical_verde.wrl
(at (xyz 0 0 0))
(scale (xyz 1 1 1))
(rotate (xyz 0 0 0))
)
)
(module hole_3mm (layer F.Cu) (tedit 547491FA) (tstamp 55F15D5E)
(at 90 65)
(fp_text reference hole_3mm (at 0 -2.54) (layer F.SilkS) hide
(effects (font (size 1.5 1.5) (thickness 0.3)))
)
(fp_text value Val** (at 0 3.175) (layer F.SilkS)
(effects (font (size 1.5 1.5) (thickness 0.3)))
)
(fp_line (start 0 2.5) (end 0 1.5) (layer F.SilkS) (width 0.3))
(fp_line (start -2.5 0) (end -1.5 0) (layer F.SilkS) (width 0.3))
(fp_line (start 2.5 0) (end 1.5 0) (layer F.SilkS) (width 0.3))
(fp_line (start 0 -1.5) (end 0 -2.5) (layer F.SilkS) (width 0.3))
(fp_circle (center 0 0) (end 2.5 0) (layer F.SilkS) (width 0.3))
(pad "" thru_hole circle (at 0 0) (size 3 3) (drill 3)
(layers *.Cu F.SilkS)
)
)
(module hole_3mm (layer F.Cu) (tedit 547491FA) (tstamp 55F15D75)
(at 50 65)
(fp_text reference hole_3mm (at 0 -2.54) (layer F.SilkS) hide
(effects (font (size 1.5 1.5) (thickness 0.3)))
)
(fp_text value Val** (at 0 3.175) (layer F.SilkS)
(effects (font (size 1.5 1.5) (thickness 0.3)))
)
(fp_line (start 0 2.5) (end 0 1.5) (layer F.SilkS) (width 0.3))
(fp_line (start -2.5 0) (end -1.5 0) (layer F.SilkS) (width 0.3))
(fp_line (start 2.5 0) (end 1.5 0) (layer F.SilkS) (width 0.3))
(fp_line (start 0 -1.5) (end 0 -2.5) (layer F.SilkS) (width 0.3))
(fp_circle (center 0 0) (end 2.5 0) (layer F.SilkS) (width 0.3))
(pad "" thru_hole circle (at 0 0) (size 3 3) (drill 3)
(layers *.Cu F.SilkS)
)
)
(module hole_3mm (layer F.Cu) (tedit 547491FA) (tstamp 55F15D88)
(at 50 50)
(fp_text reference hole_3mm (at 0 -2.54) (layer F.SilkS) hide
(effects (font (size 1.5 1.5) (thickness 0.3)))
)
(fp_text value Val** (at 0 3.175) (layer F.SilkS)
(effects (font (size 1.5 1.5) (thickness 0.3)))
)
(fp_line (start 0 2.5) (end 0 1.5) (layer F.SilkS) (width 0.3))
(fp_line (start -2.5 0) (end -1.5 0) (layer F.SilkS) (width 0.3))
(fp_line (start 2.5 0) (end 1.5 0) (layer F.SilkS) (width 0.3))
(fp_line (start 0 -1.5) (end 0 -2.5) (layer F.SilkS) (width 0.3))
(fp_circle (center 0 0) (end 2.5 0) (layer F.SilkS) (width 0.3))
(pad "" thru_hole circle (at 0 0) (size 3 3) (drill 3)
(layers *.Cu F.SilkS)
)
)
(module hole_3mm (layer F.Cu) (tedit 547491FA) (tstamp 55F15D9B)
(at 90 50)
(fp_text reference hole_3mm (at 0 -2.54) (layer F.SilkS) hide
(effects (font (size 1.5 1.5) (thickness 0.3)))
)
(fp_text value Val** (at 0 3.175) (layer F.SilkS)
(effects (font (size 1.5 1.5) (thickness 0.3)))
)
(fp_line (start 0 2.5) (end 0 1.5) (layer F.SilkS) (width 0.3))
(fp_line (start -2.5 0) (end -1.5 0) (layer F.SilkS) (width 0.3))
(fp_line (start 2.5 0) (end 1.5 0) (layer F.SilkS) (width 0.3))
(fp_line (start 0 -1.5) (end 0 -2.5) (layer F.SilkS) (width 0.3))
(fp_circle (center 0 0) (end 2.5 0) (layer F.SilkS) (width 0.3))
(pad "" thru_hole circle (at 0 0) (size 3 3) (drill 3)
(layers *.Cu F.SilkS)
)
)
(dimension 35 (width 0.25) (layer Dwgs.User)
(gr_text "35.000 mm" (at 39.000001 62.5 270) (layer Dwgs.User)
(effects (font (size 1 1) (thickness 0.25)))
)
(feature1 (pts (xy 45 80) (xy 38.000001 80)))
(feature2 (pts (xy 45 45) (xy 38.000001 45)))
(crossbar (pts (xy 40.000001 45) (xy 40.000001 80)))
(arrow1a (pts (xy 40.000001 80) (xy 39.413581 78.873497)))
(arrow1b (pts (xy 40.000001 80) (xy 40.586421 78.873497)))
(arrow2a (pts (xy 40.000001 45) (xy 39.413581 46.126503)))
(arrow2b (pts (xy 40.000001 45) (xy 40.586421 46.126503)))
)
(dimension 50 (width 0.25) (layer Dwgs.User)
(gr_text "50.000 mm" (at 70 39.000001) (layer Dwgs.User)
(effects (font (size 1 1) (thickness 0.25)))
)
(feature1 (pts (xy 95 45) (xy 95 38.000001)))
(feature2 (pts (xy 45 45) (xy 45 38.000001)))
(crossbar (pts (xy 45 40.000001) (xy 95 40.000001)))
(arrow1a (pts (xy 95 40.000001) (xy 93.873497 40.586421)))
(arrow1b (pts (xy 95 40.000001) (xy 93.873497 39.413581)))
(arrow2a (pts (xy 45 40.000001) (xy 46.126503 40.586421)))
(arrow2b (pts (xy 45 40.000001) (xy 46.126503 39.413581)))
)
(gr_line (start 45 80) (end 45 45) (angle 90) (layer Edge.Cuts) (width 0.15))
(gr_line (start 95 80) (end 45 80) (angle 90) (layer Edge.Cuts) (width 0.15))
(gr_line (start 95 45) (end 95 80) (angle 90) (layer Edge.Cuts) (width 0.15))
(gr_line (start 45 45) (end 95 45) (angle 90) (layer Edge.Cuts) (width 0.15))
(gr_text "Timelapse tool LEDs board" (at 70.358 76.327) (layer B.Cu)
(effects (font (size 2 2) (thickness 0.3)) (justify mirror))
)
(gr_text + (at 58.039 71.882) (layer B.Cu)
(effects (font (size 1 1) (thickness 0.25)) (justify mirror))
)
(gr_text + (at 58.166 61.976) (layer B.Cu)
(effects (font (size 1 1) (thickness 0.25)) (justify mirror))
)
(gr_text + (at 68.453 61.849) (layer B.Cu)
(effects (font (size 1 1) (thickness 0.25)) (justify mirror))
)
(gr_text + (at 68.453 71.882) (layer B.Cu)
(effects (font (size 1 1) (thickness 0.25)) (justify mirror))
)
(gr_text + (at 78.359 72.009) (layer B.Cu)
(effects (font (size 1 1) (thickness 0.25)) (justify mirror))
)
(gr_text + (at 78.359 62.103) (layer B.Cu)
(effects (font (size 1 1) (thickness 0.25)) (justify mirror))
)
(gr_text +3.3V (at 82.042 51.181) (layer B.Cu)
(effects (font (size 1 1) (thickness 0.25)) (justify mirror))
)
(gr_text G2 (at 80.391 65.659) (layer B.Cu)
(effects (font (size 1 1) (thickness 0.25)) (justify mirror))
)
(gr_text G1 (at 80.391 63.627) (layer B.Cu)
(effects (font (size 1 1) (thickness 0.25)) (justify mirror))
)
(gr_text R1 (at 70.358 63.627) (layer B.Cu)
(effects (font (size 1 1) (thickness 0.25)) (justify mirror))
)
(gr_text R2 (at 70.485 65.659) (layer B.Cu)
(effects (font (size 1 1) (thickness 0.25)) (justify mirror))
)
(gr_text Y2 (at 60.325 65.532) (layer B.Cu)
(effects (font (size 1 1) (thickness 0.25)) (justify mirror))
)
(gr_text Y1 (at 60.325 63.5) (layer B.Cu)
(effects (font (size 1 1) (thickness 0.25)) (justify mirror))
)
(segment (start 66.929 73.914) (end 66.929 66.709) (width 1) (layer B.Cu) (net 1))
(segment (start 66.929 66.709) (end 67.038 66.6) (width 1) (layer B.Cu) (net 1) (tstamp 55F14EC4))
(segment (start 67.038 66.6) (end 67.038 56.6) (width 1) (layer B.Cu) (net 1) (tstamp 55F14EC5))
(segment (start 78.12 51) (end 78.12 49.418) (width 1) (layer B.Cu) (net 1))
(segment (start 78.12 49.418) (end 77.216 48.514) (width 1) (layer B.Cu) (net 1) (tstamp 55F14EB6))
(segment (start 77.216 48.514) (end 60.071 48.514) (width 1) (layer B.Cu) (net 1) (tstamp 55F14EB7))
(segment (start 60.071 48.514) (end 56.638 51.947) (width 1) (layer B.Cu) (net 1) (tstamp 55F14EB8))
(segment (start 56.638 51.947) (end 56.638 66.6) (width 1) (layer B.Cu) (net 1) (tstamp 55F14EB9))
(segment (start 56.638 66.6) (end 56.638 72.767) (width 1) (layer B.Cu) (net 1) (tstamp 55F14EBA))
(segment (start 56.638 72.767) (end 57.785 73.914) (width 1) (layer B.Cu) (net 1) (tstamp 55F14EBB))
(segment (start 57.785 73.914) (end 66.929 73.914) (width 1) (layer B.Cu) (net 1) (tstamp 55F14EBC))
(segment (start 66.929 73.914) (end 74.295 73.914) (width 1) (layer B.Cu) (net 1) (tstamp 55F14EC2))
(segment (start 74.295 73.914) (end 76.538 71.671) (width 1) (layer B.Cu) (net 1) (tstamp 55F14EBD))
(segment (start 76.538 71.671) (end 76.538 66.6) (width 1) (layer B.Cu) (net 1) (tstamp 55F14EBE))
(segment (start 76.538 66.6) (end 76.538 56.6) (width 1) (layer B.Cu) (net 1) (tstamp 55F14EBF))
(segment (start 56.638 56.6) (end 56.638 51.947) (width 0.5) (layer B.Cu) (net 1))
(segment (start 77.216 48.514) (end 78.12 49.418) (width 0.5) (layer B.Cu) (net 1) (tstamp 55F14EAB))
(segment (start 60.071 48.514) (end 77.216 48.514) (width 0.5) (layer B.Cu) (net 1) (tstamp 55F14EA9))
(segment (start 56.638 51.947) (end 60.071 48.514) (width 0.5) (layer B.Cu) (net 1) (tstamp 55F14EA7))
(segment (start 67.038 66.6) (end 67.038 73.914) (width 0.5) (layer B.Cu) (net 1))
(segment (start 56.638 66.6) (end 56.638 72.767) (width 0.5) (layer B.Cu) (net 1))
(segment (start 56.638 72.767) (end 57.785 73.914) (width 0.5) (layer B.Cu) (net 1) (tstamp 55F14E9C))
(segment (start 57.785 73.914) (end 67.038 73.914) (width 0.5) (layer B.Cu) (net 1) (tstamp 55F14E9D))
(segment (start 76.538 71.544) (end 76.538 66.6) (width 0.5) (layer B.Cu) (net 1) (tstamp 55F14E9F))
(segment (start 67.038 73.914) (end 74.168 73.914) (width 0.5) (layer B.Cu) (net 1) (tstamp 55F14EA5))
(segment (start 74.168 73.914) (end 76.538 71.544) (width 0.5) (layer B.Cu) (net 1) (tstamp 55F14E9E))
(segment (start 56.638 66.6) (end 56.638 56.6) (width 0.5) (layer B.Cu) (net 1))
(segment (start 67.038 66.6) (end 67.038 56.6) (width 0.5) (layer B.Cu) (net 1))
(segment (start 76.538 66.6) (end 76.538 56.6) (width 0.5) (layer B.Cu) (net 1))
(segment (start 73.04 51) (end 73.04 52.0596) (width 0.5) (layer B.Cu) (net 2))
(segment (start 82.3468 58.9232) (end 81.27 60) (width 0.5) (layer B.Cu) (net 2) (tstamp 55F14E12))
(segment (start 82.3468 55.4228) (end 82.3468 58.9232) (width 0.5) (layer B.Cu) (net 2) (tstamp 55F14E11))
(segment (start 81.1022 54.1782) (end 82.3468 55.4228) (width 0.5) (layer B.Cu) (net 2) (tstamp 55F14E10))
(segment (start 75.1586 54.1782) (end 81.1022 54.1782) (width 0.5) (layer B.Cu) (net 2) (tstamp 55F14E0F))
(segment (start 73.04 52.0596) (end 75.1586 54.1782) (width 0.5) (layer B.Cu) (net 2) (tstamp 55F14E0E))
(segment (start 75.58 51) (end 75.58 52.2628) (width 0.5) (layer B.Cu) (net 3))
(segment (start 83.5914 67.6786) (end 81.27 70) (width 0.5) (layer B.Cu) (net 3) (tstamp 55F14E1A))
(segment (start 83.5914 55.0164) (end 83.5914 67.6786) (width 0.5) (layer B.Cu) (net 3) (tstamp 55F14E19))
(segment (start 81.6356 53.0606) (end 83.5914 55.0164) (width 0.5) (layer B.Cu) (net 3) (tstamp 55F14E17))
(segment (start 76.3778 53.0606) (end 81.6356 53.0606) (width 0.5) (layer B.Cu) (net 3) (tstamp 55F14E16))
(segment (start 75.58 52.2628) (end 76.3778 53.0606) (width 0.5) (layer B.Cu) (net 3) (tstamp 55F14E15))
(segment (start 71.27 60) (end 71.27 59.9464) (width 0.5) (layer B.Cu) (net 4))
(segment (start 67.96 52.3136) (end 67.96 51) (width 0.5) (layer B.Cu) (net 4) (tstamp 55F14DF9))
(segment (start 69.8754 54.229) (end 67.96 52.3136) (width 0.5) (layer B.Cu) (net 4) (tstamp 55F14DF8))
(segment (start 71.0184 54.229) (end 69.8754 54.229) (width 0.5) (layer B.Cu) (net 4) (tstamp 55F14DF7))
(segment (start 72.0344 55.245) (end 71.0184 54.229) (width 0.5) (layer B.Cu) (net 4) (tstamp 55F14DF6))
(segment (start 72.0344 59.182) (end 72.0344 55.245) (width 0.5) (layer B.Cu) (net 4) (tstamp 55F14DF5))
(segment (start 71.27 59.9464) (end 72.0344 59.182) (width 0.5) (layer B.Cu) (net 4) (tstamp 55F14DF4))
(segment (start 71.27 70) (end 72.1638 70) (width 0.5) (layer B.Cu) (net 5))
(segment (start 70.5 52.1358) (end 70.5 51) (width 0.5) (layer B.Cu) (net 5) (tstamp 55F14DF1))
(segment (start 71.7804 53.4162) (end 70.5 52.1358) (width 0.5) (layer B.Cu) (net 5) (tstamp 55F14DF0))
(segment (start 72.263 53.4162) (end 71.7804 53.4162) (width 0.5) (layer B.Cu) (net 5) (tstamp 55F14DEF))
(segment (start 73.7616 54.9148) (end 72.263 53.4162) (width 0.5) (layer B.Cu) (net 5) (tstamp 55F14DEE))
(segment (start 73.7616 68.4022) (end 73.7616 54.9148) (width 0.5) (layer B.Cu) (net 5) (tstamp 55F14DED))
(segment (start 72.1638 70) (end 73.7616 68.4022) (width 0.5) (layer B.Cu) (net 5) (tstamp 55F14DEC))
(segment (start 61.27 60) (end 61.9454 60) (width 0.5) (layer B.Cu) (net 6))
(segment (start 61.9454 60) (end 62.88 59.0654) (width 0.5) (layer B.Cu) (net 6) (tstamp 55F14DCD))
(segment (start 62.88 59.0654) (end 62.88 51) (width 0.5) (layer B.Cu) (net 6) (tstamp 55F14DCE))
(segment (start 62.88 59.0654) (end 62.88 51) (width 0.254) (layer B.Cu) (net 6) (tstamp 55F14DB4))
(segment (start 61.9454 60) (end 62.88 59.0654) (width 0.254) (layer B.Cu) (net 6) (tstamp 55F14DB3))
(segment (start 61.27 70) (end 61.6736 70) (width 0.5) (layer B.Cu) (net 7))
(segment (start 65.42 66.2536) (end 65.42 51) (width 0.5) (layer B.Cu) (net 7) (tstamp 55F14DDE))
(segment (start 61.6736 70) (end 65.42 66.2536) (width 0.5) (layer B.Cu) (net 7) (tstamp 55F14DDD))
(segment (start 58.73 60) (end 58.73 57.168) (width 0.5) (layer B.Cu) (net 8))
(segment (start 58.73 57.168) (end 58.162 56.6) (width 0.5) (layer B.Cu) (net 8) (tstamp 55F14E8B))
(segment (start 68.73 70) (end 68.73 66.768) (width 0.5) (layer B.Cu) (net 9))
(segment (start 68.73 66.768) (end 68.562 66.6) (width 0.5) (layer B.Cu) (net 9) (tstamp 55F14E93))
(segment (start 78.73 60) (end 78.73 57.268) (width 0.5) (layer B.Cu) (net 10))
(segment (start 78.73 57.268) (end 78.062 56.6) (width 0.5) (layer B.Cu) (net 10) (tstamp 55F14E78))
(segment (start 78.73 70) (end 78.73 67.268) (width 0.5) (layer B.Cu) (net 11))
(segment (start 78.73 67.268) (end 78.062 66.6) (width 0.5) (layer B.Cu) (net 11) (tstamp 55F14E7B))
(segment (start 58.73 70) (end 58.73 67.168) (width 0.5) (layer B.Cu) (net 12))
(segment (start 58.73 67.168) (end 58.162 66.6) (width 0.5) (layer B.Cu) (net 12) (tstamp 55F14E88))
(segment (start 68.73 60) (end 68.73 56.768) (width 0.5) (layer B.Cu) (net 13))
(segment (start 68.73 56.768) (end 68.562 56.6) (width 0.5) (layer B.Cu) (net 13) (tstamp 55F14E84))
)

View File

@ -0,0 +1,81 @@
update=Чт 10 сен 2015 12:39:36
version=1
last_client=pcbnew
[cvpcb]
version=1
NetIExt=net
[cvpcb/libraries]
EquName1=devcms
[eeschema]
version=1
LibDir=
NetFmtName=
RptD_X=0
RptD_Y=100
RptLab=1
LabSize=60
[eeschema/libraries]
LibName1=power
LibName2=device
LibName3=transistors
LibName4=conn
LibName5=linear
LibName6=regul
LibName7=74xx
LibName8=cmos4000
LibName9=adc-dac
LibName10=memory
LibName11=xilinx
LibName12=special
LibName13=microcontrollers
LibName14=dsp
LibName15=microchip
LibName16=analog_switches
LibName17=motorola
LibName18=texas
LibName19=intel
LibName20=audio
LibName21=interface
LibName22=digital-audio
LibName23=philips
LibName24=display
LibName25=cypress
LibName26=siliconi
LibName27=opto
LibName28=atmel
LibName29=contrib
LibName30=valves
[general]
version=1
[pcbnew]
version=1
LastNetListRead=LEDs.net
UseCmpFile=1
PadDrill=0.6
PadSizeH=1
PadSizeV=1
PcbTextSizeV=1
PcbTextSizeH=1
PcbTextThickness=0.3
ModuleTextSizeV=1
ModuleTextSizeH=1
ModuleTextSizeThickness=0.15
SolderMaskClearance=0
SolderMaskMinWidth=0
DrawSegmentWidth=0.2
BoardOutlineThickness=0.15
ModuleOutlineThickness=0.15
[pcbnew/libraries]
LibDir=
LibName1=sockets
LibName2=connect
LibName3=discret
LibName4=pin_array
LibName5=divers
LibName6=libcms
LibName7=display
LibName8=led
LibName9=dip_sockets
LibName10=pga_sockets
LibName11=valves
LibName12=my_modules

File diff suppressed because it is too large Load Diff

View File

@ -24,7 +24,9 @@
#include "hardware_ini.h"
#include "uart.h"
#include "GPS.h"
#ifdef ULTRASONIC
#include "ultrasonic.h"
#endif
#include "adc.h"
volatile uint32_t Timer = 0; // global timer (milliseconds)
@ -41,10 +43,13 @@ curtime current_time = {25,61,61};
curtime trigger_time = {25, 61, 61};
curtime adc_time[ADC_CHANNEL_NUMBER] = {{25, 61, 61}, {25, 61, 61}};
#ifdef ULTRASONIC
curtime ultrasonic_time = {25, 61, 61};
uint32_t trigger_ms = DIDNT_TRIGGERED, adc_ms[ADC_CHANNEL_NUMBER] = {DIDNT_TRIGGERED, DIDNT_TRIGGERED},
ultrasonic_ms = DIDNT_TRIGGERED;
#endif
uint32_t trigger_ms = DIDNT_TRIGGERED, adc_ms[ADC_CHANNEL_NUMBER] = {DIDNT_TRIGGERED, DIDNT_TRIGGERED};
#ifdef ULTRASONIC
uint32_t ultrasonic_ms = DIDNT_TRIGGERED;
#endif
void time_increment(){
Timer = 0;
if(current_time.H == 25) return; // Time not initialized
@ -79,58 +84,135 @@ int main(void){
usb_disconnect(); // turn off USB while initializing all
usbkeybrd_setup();
UART_init(USART2); // init GPS UART
#ifdef ULTRASONIC
tim2_init(); // ultrasonic timer
//tim4_init(); // beeper timer
#endif
/*
int i;
for (i = 0; i < 0x80000; i++)
__asm__("nop");
*/
usb_connect(); // turn on USB
GPS_send_start_seq();
init_adc_sensor();
uint32_t trigrtm = 0, adctm[2] = {0, 0}, ultrasonictm = 0;
// time (in milliseconds from MCU start) for trigger, adc & power LED status; power LED blink interval
// blink time: (1000ms - powerLEDblink) - LED ON
// GPSstatus_tm - timer for blinking by GPS LED if there's no GPS after timer is good
// powerLEDblink - LED blinking time (depends on power level)
uint32_t usbkbrdtm = 0, trigrtm = 0, powerLEDtm = 0, GPSstatus_tm = 0, powerLEDblink = 1;
// istriggered == 1 after ANY trigger's event (set it to 1 at start to prevent false events)
// GPSLEDblink - GPS LED blinking
uint8_t istriggered = 1, GPSLEDblink = 0;
while(1){
poll_usbkeybrd();
if(usbkbrdtm != msctr){ // process USB not frequently than once per 1ms
process_usbkbrd();
usbkbrdtm = msctr;
}
#ifdef ULTRASONIC
poll_ultrasonic();
#endif
poll_ADC();
if((string = check_UART2())){
GPS_parse_answer(string);
}
if(trigger_ms != DIDNT_TRIGGERED && trigger_ms != Timer){
if(msctr - trigrtm > TRIGGER_DEBOUNCE_DELAY || trigrtm > msctr){
if(istriggered){ // there was any trigger event
if(msctr - trigrtm > TRIGGER_DELAY || trigrtm > msctr){ // turn off LED & beeper
istriggered = 0;
gpio_set(LEDS_Y_PORT, LEDS_Y1_PIN);
gpio_set(BEEPER_PORT, BEEPER_PIN);
trigger_ms = DIDNT_TRIGGERED;
adc_ms[0] = DIDNT_TRIGGERED;
adc_ms[1] = DIDNT_TRIGGERED;
#ifdef ULTRASONIC
ultrasonic_ms = DIDNT_TRIGGERED;
#endif
}
}else{
if(trigger_ms != DIDNT_TRIGGERED){
trigrtm = msctr;
P("Trigger time: ");
istriggered = 1;
P("Button time: ");
print_time(&trigger_time, trigger_ms);
}
trigger_ms = DIDNT_TRIGGERED;
}
for(i = 0; i < ADC_CHANNEL_NUMBER; ++i){
if(adc_ms[i] != DIDNT_TRIGGERED && adc_ms[i] != Timer){
if(msctr - adctm[i] > ADC_DEBOUNCE_DELAY || adctm[i] > msctr){
adctm[i] = msctr;
P("ADC");
put_char_to_buf('0'+i);
if(adc_status[i] == ADWD_HI) P("hi");
else if(adc_status[i] == ADWD_LOW) P("lo");
P(": value = ");
print_int(ADC_trig_val[i]);
P(" (now: ");
print_int(ADC_value[i]);
P("), time = ");
//#if 0
for(i = 0; i < 2; ++i){
if(adc_ms[i] != DIDNT_TRIGGERED && !istriggered){
trigrtm = msctr;
istriggered = 1;
if(i == 0) P("Infrared");
else P("Laser");
P(" time: ");
print_time(&adc_time[i], adc_ms[i]);
//}
}
adc_ms[i] = DIDNT_TRIGGERED;
}
}
if(ultrasonic_ms != DIDNT_TRIGGERED && ultrasonic_ms != Timer){
if(msctr - ultrasonictm > ULTRASONIC_DEBOUNCE_DELAY || ultrasonictm > msctr){
ultrasonictm = msctr;
//#endif
#ifdef ULTRASONIC
if(ultrasonic_ms != DIDNT_TRIGGERED){
trigrtm = msctr;
istriggered = 1;
P("Ultrasonic time: ");
print_time(&ultrasonic_time, ultrasonic_ms);
}
ultrasonic_ms = DIDNT_TRIGGERED;
#endif
if(istriggered){ // turn on Y1 LED
gpio_clear(LEDS_Y_PORT, LEDS_Y1_PIN);
//beep(); // turn on beeper
gpio_clear(BEEPER_PORT, BEEPER_PIN);
}
}
// check 12V power level (once per 1ms)
if(powerLEDtm != msctr){
uint16_t _12V = ADC_value[2];
if(_12V < GOOD_POWER_LEVEL){ // insufficient power? - blink LED R2
// calculate blink time only if there's [was] too low level
if(_12V < POWER_ALRM_LEVEL || powerLEDblink){
powerLEDblink = GOOD_POWER_LEVEL - _12V;
if(powerLEDblink > 900) powerLEDblink = 900; // shadow LED not more than 0.9s
}
}else{ // power restored - LED R2 shines
if(powerLEDblink){
gpio_clear(LEDS_R_PORT, LEDS_R2_PIN);
powerLEDblink = 0;
}
powerLEDtm = msctr;
}
if(powerLEDblink){
if(GPIO_ODR(LEDS_R_PORT) & LEDS_R2_PIN){ // LED is OFF
if(msctr - powerLEDtm > powerLEDblink || msctr < powerLEDtm){ // turn LED ON
powerLEDtm = msctr;
gpio_clear(LEDS_R_PORT, LEDS_R2_PIN);
}
}else{
if(msctr - powerLEDtm > (1000 - powerLEDblink) || msctr < powerLEDtm){ // turn LED OFF
powerLEDtm = msctr;
gpio_set(LEDS_R_PORT, LEDS_R2_PIN);
}
}
}
}
// check GPS status to turn on/off GPS LED
if(current_time.H < 24){ // timer OK
if(GPS_status != GPS_VALID || need_sync)
GPSLEDblink = 1;
else if(GPSLEDblink){
GPSLEDblink = 0;
gpio_clear(LEDS_G_PORT, LEDS_G1_PIN); // turn ON G1 LED
}
if(GPSLEDblink){
if(msctr - GPSstatus_tm > 500 || msctr < GPSstatus_tm){
GPSstatus_tm = msctr;
if(GPIO_ODR(LEDS_G_PORT) & LEDS_G1_PIN){ // LED is OFF
gpio_clear(LEDS_G_PORT, LEDS_G1_PIN);
}else{
gpio_set(LEDS_G_PORT, LEDS_G1_PIN);
}
}
}
}else{ // something bad with timer - turn OFF G1 LED
if(!(GPIO_ODR(LEDS_G_PORT) & LEDS_G1_PIN)){
gpio_set(LEDS_G_PORT, LEDS_G1_PIN);
}
}
}
}
@ -148,7 +230,6 @@ void sys_tick_handler(){
STK_RVR = RVR0;
time_increment();
}
process_usbkbrd();
}
// STK_CVR - current systick val
// STK_RVR - ticks till interrupt - 1
@ -224,11 +305,18 @@ void print_time(curtime *Tm, uint32_t T){
if(T < 100) put_char_to_buf('0');
if(T < 10) put_char_to_buf('0');
print_int(T);
P(", ");
S += H*3600 + M*60;
print_int(S);
put_char_to_buf('.');
if(T < 100) put_char_to_buf('0');
if(T < 10) put_char_to_buf('0');
print_int(T);
if(GPS_status == GPS_NOT_VALID) P(" (not valid)");
if(need_sync) P(" need synchronisation");
newline();
}
/*
void print_curtime(){
uint32_t T = Timer;
if(current_time.H < 24 && GPS_status != GPS_WAIT){
@ -237,3 +325,4 @@ void print_curtime(){
}else
P("Waiting for satellites\n");
}
*/

View File

@ -50,13 +50,8 @@ extern void *memcpy(void *dest, const void *src, int n);
#define DIDNT_TRIGGERED (2000)
// debounce delays:
// Trigger (button) - 500ms
#define TRIGGER_DEBOUNCE_DELAY (500)
// ADC debounce - 1000ms
#define ADC_DEBOUNCE_DELAY (1000)
// ultrasonic - 1500ms
#define ULTRASONIC_DEBOUNCE_DELAY (1500)
// debounce delay: 1.5s
#define TRIGGER_DELAY (1500)
typedef struct{
uint8_t H;
@ -75,7 +70,7 @@ extern volatile int need_sync;
void set_time(uint8_t *buf);
void print_time(curtime *T, uint32_t m);
void print_curtime();
//void print_curtime();
#endif // __MAIN_H__

Binary file not shown.

BIN
Timelapse_keyboard/timelapse.bin Executable file

Binary file not shown.

View File

@ -19,6 +19,8 @@
* MA 02110-1301, USA.
*/
#ifdef ULTRASONIC
#include <libopencm3/stm32/timer.h>
#include <libopencm3/stm32/gpio.h>
#include <libopencm3/stm32/rcc.h>
@ -194,3 +196,5 @@ void poll_ultrasonic(){
start_ultrasonic();
}
}
#endif // ULTRASONIC

View File

@ -18,6 +18,7 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
* MA 02110-1301, USA.
*/
#ifdef ULTRASONIC
#pragma once
#ifndef __ULTRASONIC_H__
@ -51,3 +52,4 @@ typedef enum{
// minimal length of signal in ms
#define ULTRASONIC_TIMEOUT (10)
#endif // __ULTRASONIC_H__
#endif // ULTRASONIC

View File

@ -22,7 +22,7 @@
#include "usbkeybrd.h"
#include "keycodes.h"
#define BUFLEN 512
#define BUFLEN (1024)
static char sendbuf[BUFLEN];
static char *msg_start = sendbuf, *msg_end = sendbuf;
static const char *buf_end = sendbuf+BUFLEN;