Line 11... |
Line 11... |
11 |
** ADCmonoSPI/SDO - pin PD5 |
11 |
** ADCmonoSPI/SDO - pin PD5 |
12 |
** ADCmonoSPI/SCK - pin PD7 shared with LED4 |
12 |
** ADCmonoSPI/SCK - pin PD7 shared with LED4 |
13 |
*/ |
13 |
*/ |
14 |
|
14 |
|
15 |
#include <SD.h> |
15 |
#include <SD.h> |
16 |
//#include <SPI.h> |
- |
|
17 |
|
- |
|
18 |
|
16 |
|
19 |
const String filename = "log.csv "; // filename for logfile |
17 |
const String filename = "log.csv "; // filename for logfile |
20 |
|
18 |
|
21 |
const int detector=3; // PD3 |
19 |
const int detector=3; // PD3 |
22 |
const int eint=2; // PD2 |
20 |
const int eint=2; // PD2 |
Line 228... |
Line 226... |
228 |
//pinMode(SCK, OUTPUT); |
226 |
//pinMode(SCK, OUTPUT); |
229 |
|
227 |
|
230 |
Serial.print("#Initializing SD card..."); // inserting a SD Card always reset the processor and call setup |
228 |
Serial.print("#Initializing SD card..."); // inserting a SD Card always reset the processor and call setup |
231 |
// make sure that the default chip select pin is set to |
229 |
// make sure that the default chip select pin is set to |
232 |
// output, even if you don't use it: |
230 |
// output, even if you don't use it: |
233 |
//pinMode(10, OUTPUT); // PB2 |
- |
|
234 |
//pinMode(LED, OUTPUT); |
- |
|
235 |
|
231 |
|
236 |
// see if the card is present and can be initialized: |
232 |
// see if the card is present and can be initialized: |
237 |
if (!SD.begin(chipSelect)) |
233 |
if (!SD.begin(chipSelect)) |
238 |
{ |
234 |
{ |
239 |
Serial.println("Card failed, or not present"); |
235 |
Serial.println("Card failed, or not present"); |
Line 266... |
Line 262... |
266 |
unsigned int duration=0; // pulse duration counter |
262 |
unsigned int duration=0; // pulse duration counter |
267 |
|
263 |
|
268 |
while (!digitalRead(detector)) // waiting for pulse |
264 |
while (!digitalRead(detector)) // waiting for pulse |
269 |
{ |
265 |
{ |
270 |
if (rise) break; |
266 |
if (rise) break; |
271 |
//digitalWrite(CONV, LOW); |
- |
|
272 |
digitalWrite(CONV, HIGH); // start AD conversion |
267 |
digitalWrite(CONV, HIGH); // start AD conversion |
273 |
} |
268 |
} |
274 |
while (digitalRead(detector)) |
269 |
while (digitalRead(detector)) |
275 |
{ |
270 |
{ |
276 |
if (rise) break; |
271 |
if (rise) break; |
277 |
if (duration < (CHANNELS-1)) duration++; |
272 |
if (duration < (CHANNELS-1)) duration++; |
278 |
} |
273 |
} |
279 |
|
274 |
|
- |
|
275 |
digitalWrite(ADSCK, HIGH); |
280 |
digitalWrite(CONV, LOW); // start SPI |
276 |
digitalWrite(CONV, LOW); // start SPI |
281 |
val=0; |
277 |
val=0; |
282 |
for (int p=0;p<8;p++) |
278 |
for (int p=0;p<8;p++) |
283 |
{ |
279 |
{ |
284 |
digitalWrite(ADSCK, LOW); // 1 CLK |
280 |
digitalWrite(ADSCK, LOW); // 1 CLK |
285 |
digitalWrite(ADSCK, HIGH); |
281 |
digitalWrite(ADSCK, HIGH); |
286 |
val= (val<<1)|digitalRead(SDO); |
282 |
val= (val<<1)|digitalRead(SDO); |
287 |
} |
283 |
} |
288 |
//val = 140 - val; |
- |
|
289 |
//msb = SPI.transfer(0x00); // read ADC |
- |
|
290 |
//lsb = SPI.transfer(0x00); |
- |
|
291 |
//digitalWrite(CONV, HIGH); // stop SPI |
284 |
digitalWrite(ADSCK, LOW); // 1 CLK |
292 |
//val = (msb<<8) + lsb; |
- |
|
293 |
//Serial.println(val); |
- |
|
294 |
|
285 |
|
295 |
if (rise) // recording time is now |
286 |
if (rise) // recording time is now |
296 |
{ |
287 |
{ |
297 |
record(); // make record |
288 |
record(); // make record |
298 |
rise = false; |
289 |
rise = false; |