Подскажите где ошибка

raskor
Offline
Зарегистрирован: 23.12.2011

Всем привет , пробую на Ардуине меге простенькие программы пока, но вот с температурой не получается пшет одну и ту же ошибку на разных скетчах, а именно вот на этой строчке

OneWire ds(10); // on pin 10     в чём дело ?
 

#include <OneWire.h>

/* DS18S20 Temperature chip i/o

*/

OneWire ds(10); // on pin 10

void setup(void) {
// initialize inputs/outputs
// start serial port
Serial.begin(9600);
}

 

void loop(void) {
byte i;
byte present = 0;
byte data[12];
byte addr[8];

if ( !ds.search(addr)) {
//Serial.print("No more addresses.\n");
ds.reset_search();
return;
}

Serial.print("R="); //R=28 Not sure what this is
for( i = 0; i < 8; i++) {
Serial.print(addr[i], HEX);
Serial.print(" ");
}

if ( OneWire::crc8( addr, 7) != addr[7]) {
Serial.print("CRC is not valid!\n");
return;
}

if ( addr[0] != 0x28) {
Serial.print("Device is not a DS18S20 family device.\n");
return;
}

ds.reset();
ds.select(addr);
ds.write(0x44,1); // start conversion, with parasite power on at the end

delay(1000); // maybe 750ms is enough, maybe not
// we might do a ds.depower() here, but the reset will take care of it.

present = ds.reset();
ds.select(addr);
ds.write(0xBE); // Read Scratchpad

Serial.print("P=");
Serial.print(present,HEX);
Serial.print(" ");
for ( i = 0; i < 9; i++) { // we need 9 bytes
data[i] = ds.read();
Serial.print(data[i], HEX);
Serial.print(" ");
}

Serial.print(" CRC=");
Serial.print( OneWire::crc8( data, 8), HEX);
Serial.println();
}
zhuki
Offline
Зарегистрирован: 12.10.2011

 А сама библиотека доступна?

Mastino
Offline
Зарегистрирован: 03.12.2011

Вот этой библиотеке тебе не хватает:
http://gigapeta.com/dl/2117835aa751ee

raskor
Offline
Зарегистрирован: 23.12.2011

Mastino пишет:

Вот этой библиотеке тебе не хватает:
http://gigapeta.com/dl/2117835aa751ee

Библиотеку добавил ,всё равно ошибки какие то , я бы скриншот выложил ,но  здесь нет такой функции ,выкладываю то что написано внизу  программы:

In file included from C:\Documents and Settings\vvk\Рабочий стол\Arduino\arduino-1.0\libraries\Wire\sample.c:1:
C:\Documents and Settings\vvk\Рабочий стол\Arduino\arduino-1.0\libraries\Wire/OneWire.h:16: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'OneWire'
C:\Documents and Settings\vvk\Рабочий стол\Arduino\arduino-1.0\libraries\Wire\sample.c:7: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'ds'
C:\Documents and Settings\vvk\Рабочий стол\Arduino\arduino-1.0\libraries\Wire\sample.c: In function 'setup':
C:\Documents and Settings\vvk\Рабочий стол\Arduino\arduino-1.0\libraries\Wire\sample.c:12: error: 'Serial' undeclared (first use in this function)
C:\Documents and Settings\vvk\Рабочий стол\Arduino\arduino-1.0\libraries\Wire\sample.c:12: error: (Each undeclared identifier is reported only once
C:\Documents and Settings\vvk\Рабочий стол\Arduino\arduino-1.0\libraries\Wire\sample.c:12: error: for each function it appears in.)
C:\Documents and Settings\vvk\Рабочий стол\Arduino\arduino-1.0\libraries\Wire\sample.c: In function 'loop':
C:\Documents and Settings\vvk\Рабочий стол\Arduino\arduino-1.0\libraries\Wire\sample.c:18: error: 'byte' undeclared (first use in this function)
C:\Documents and Settings\vvk\Рабочий стол\Arduino\arduino-1.0\libraries\Wire\sample.c:18: error: expected ';' before 'i'
C:\Documents and Settings\vvk\Рабочий стол\Arduino\arduino-1.0\libraries\Wire\sample.c:19: error: expected ';' before 'present'
C:\Documents and Settings\vvk\Рабочий стол\Arduino\arduino-1.0\libraries\Wire\sample.c:20: error: expected ';' before 'data'
C:\Documents and Settings\vvk\Рабочий стол\Arduino\arduino-1.0\libraries\Wire\sample.c:21: error: expected ';' before 'addr'
C:\Documents and Settings\vvk\Рабочий стол\Arduino\arduino-1.0\libraries\Wire\sample.c:23: error: 'ds' undeclared (first use in this function)
C:\Documents and Settings\vvk\Рабочий стол\Arduino\arduino-1.0\libraries\Wire\sample.c:23: error: 'addr' undeclared (first use in this function)
C:\Documents and Settings\vvk\Рабочий стол\Arduino\arduino-1.0\libraries\Wire\sample.c:24: error: 'Serial' undeclared (first use in this function)
C:\Documents and Settings\vvk\Рабочий стол\Arduino\arduino-1.0\libraries\Wire\sample.c:30: error: 'i' undeclared (first use in this function)
C:\Documents and Settings\vvk\Рабочий стол\Arduino\arduino-1.0\libraries\Wire\sample.c:31: error: 'HEX' undeclared (first use in this function)
C:\Documents and Settings\vvk\Рабочий стол\Arduino\arduino-1.0\libraries\Wire\sample.c:35: error: 'OneWire' undeclared (first use in this function)
C:\Documents and Settings\vvk\Рабочий стол\Arduino\arduino-1.0\libraries\Wire\sample.c:35: error: expected ')' before ':' token
C:\Documents and Settings\vvk\Рабочий стол\Arduino\arduino-1.0\libraries\Wire\sample.c:52: error: 'present' undeclared (first use in this function)
C:\Documents and Settings\vvk\Рабочий стол\Arduino\arduino-1.0\libraries\Wire\sample.c:60: error: 'data' undeclared (first use in this function)
C:\Documents and Settings\vvk\Рабочий стол\Arduino\arduino-1.0\libraries\Wire\sample.c:65: error: expected ')' before ':' token
 

PEOPLE
Offline
Зарегистрирован: 29.10.2011

у меня тоже возникала такая проблемма и я решил её такими действиями

1. Скачал arduino 18 версии а была 22

2. Скачал вот эту библиотеку

http://arduino.net.ua/file_archive/Arduino%20Library/Dallas%20Temperatur...

и все отлично заработало )сам скеч находиться уже в библиотеке)

raskor
Offline
Зарегистрирован: 23.12.2011

Не помогло (

Mastino
Offline
Зарегистрирован: 03.12.2011

в какую директорию библиотеку скопировал? какая версия Arduino IDE?

raskor
Offline
Зарегистрирован: 23.12.2011

скидывал  в libraries , Arduino.exe 1.0  ,есть другие версии , но такая же фигня, Arduino Mega  2560

Mastino
Offline
Зарегистрирован: 03.12.2011

копируй библиотеку в mydocuments/arduino/libraries/
если не поможет залей эту версию - arduino-0023

raskor
Offline
Зарегистрирован: 23.12.2011

Mastino пишет:

копируй библиотеку в mydocuments/arduino/libraries/
если не поможет залей эту версию - arduino-0023

Всё так же ,мне проще дать доступ на комп  )))