Câu trả lời ngắn - không. Nó không bị bỏ rơi, trái lại.
Nhưng trước khi xử lý lỗi trình biên dịch mà bạn đã đề cập, hãy làm rõ một chút:
Tôi đã tải xuống phần cứng từ https://code.google.com.vn/p/arduino-tiny/
Liên kết bạn cung cấp không phải là phần cứng , mà là phần mềm được gọi là tệp lõi ATtiny . Nó chứa các tệp cần thiết sẽ giúp bạn biên dịch và tải mã từ Arduino IDE lên ATtiny (ngay cả khi sử dụng ArduinoISP làm lập trình viên).
Các SoftwareSerial là một thư viện mà đi kèm với các Arduino IDE zip / cài đặt. Nếu bạn đã tải xuống phiên bản Arduino IDE mới nhất từ Trang web Arduino , bạn sẽ có thể tìm thấy các tệp thư viện SoftwareSerial có tại:
[Path to Arduino installation folder]\libraries\SoftwareSerial
Ví dụ cho các tệp thư viện SoftwareSerial bạn nên tìm thấy có SoftwareSerial.cpp và SoftwareSerial.h .
lỗi nghiêm trọng: SoftwareSerial.h: Không có tệp hoặc thư mục như vậy
Lỗi trình biên dịch mà bạn nhận được dường như ngụ ý rằng trình biên dịch không thể tìm thấy tệp tiêu đề (SoftwareSerial.h) cho thư viện SoftwareSerial. Điều này thực sự có vẻ khá kỳ lạ, vì thư viện này không yêu cầu cài đặt đặc biệt nào, và như đã đề cập, là một phần của các thư viện được tích hợp trong bản cài đặt Arduino IDE.
Vì vậy, để giảm thiểu điều này, tôi khuyên bạn nên:
- Đảm bảo thư mục thư viện tồn tại ở vị trí được đề cập ở trên
- Nếu không, có lẽ bạn nên tải xuống lại bản cài đặt Arduino IDE và sau đó cài đặt các tệp lõi ATtiny theo hướng dẫn (quan trọng!). Hướng dẫn cài đặt được đặt trong tệp README bên trong tệp zip lõi ATTiny (tiny \ avr \ README).
- Nếu nó tồn tại và bạn vẫn gặp lỗi trình biên dịch này, thì bạn phải cài đặt bị hỏng (có lẽ trình biên dịch bao gồm các thư mục bị rối). Tôi vẫn sẽ khuyên bạn nên cài đặt lại như đã đề cập trong phần trước.
- Đảm bảo rằng bạn có thể tìm thấy ATtiny 85 trong danh sách bảng, tại Công cụ-> Bảng và nó được chọn.
- Một góc độ khác có thể làm sáng tỏ hơn về lỗi này, đó là bật đầu ra dài dòng cho trình biên dịch (bạn có thể thực hiện điều đó trong Arduino IDE, bằng cách chọn File-> Preferences-> "Hiển thị đầu ra dài dòng trong khi" và kiểm tra "biên dịch "). Đầu ra dài dòng có thể giúp bạn theo dõi bất kỳ lỗi dòng lệnh trình biên dịch nào, như thiếu các thư mục bao gồm.
- Cuối cùng nhưng không kém phần quan trọng, nếu thư mục SoftwareSerial tồn tại, bạn có thể sử dụng Arduino IDE để kiểm tra xem IDE có thể xác định sự tồn tại của nó hay không, bằng cách truy cập Sketch-> Nhập thư viện và tìm kiếm SoftwareSerial . Nếu nó không ở đó, thì thư mục không được đặt đúng trong 'thư viện', hãy xác minh đường dẫn như đã đề cập ở trên (bạn đã di chuyển nó chưa?)
Cuối cùng, khi bạn có thể biên dịch mã của mình, hãy thử sử dụng ví dụ SoftwareSerial đi kèm với thư viện để kiểm tra nó. Lưu ý rằng nó sẽ không hoạt động 'ngoài luồng' như với Arduino Uno; ATtiny không có phần cứng FTDI tương tự để giao tiếp trực tiếp với USB, vì vậy để gửi và nhận tin nhắn nối tiếp bằng ATtiny, bạn sẽ phải sử dụng Arduino Uno làm proxy (sử dụng chân Uno 0 & 1) hoặc sử dụng chuyên dụng Phần cứng USB to serial tương tự như cái này .
Chuyển đổi bảng thành UNO làm cho vấn đề biến mất
Một lưu ý phụ, việc chuyển sang Uno sẽ khiến hầu hết các vấn đề về ATtiny 'biến mất' vì Uno được trang bị nhiều hơn ATtiny85 / 4, cả ở cấp độ MCU và ở cấp độ bảng đột phá mà bạn gặp phải với Uno (và mà bạn không nhận được khi làm việc trực tiếp với chip như ATtiny). Ngoài ra, hầu hết các cơ sở mã ngoài đó đang nhắm mục tiêu Uno chứ không phải ATTiny. Vì vậy, nếu bạn đang thực hiện những bước đầu tiên với ATtiny, hãy chuẩn bị rằng nhiều thứ 'vừa hoạt động' với Uno sẽ yêu cầu thêm / mã khác trước khi chúng có thể hoạt động với ATtiny (và một số sẽ không hoạt động).
Bạn có thể sử dụng mã Analog to serial đơn giản của tôi:
/*
Takes an input on the AtTiny85 from the VERY TRICKY analogue input pin 2 (as labeled in HLT tutorial)
and outputs these with Software serial to the arduino uno, or Duemillanove
Hookup
ATTINY85 pin 3 -> Arduino Uno pin 0
ATTINY85 pin 4 -> Arduino Uno pin 1
http://www.instructables.com/id/Easy-ATTiny-Serial-Communication-with-Tiny-AVR-Pro/
*/
#include <SoftwareSerial.h>
// Definitions
#define rxPin 4
#define txPin 3
SoftwareSerial mySerial(rxPin, txPin);
int sensorPin = 7; //ACTUALLY PIN LABELED AS "2" on the HLT tutorial
int sensorVal = -1;
// the setup routine runs once when you press reset:
void setup() {
pinMode(sensorPin, INPUT);
mySerial.begin(9600);
analogWrite(0,1); // This is kind a heart beat to show the ATTINY is "alive"
}
// the loop routine runs over and over asensorpingain forever:
void loop() {
sensorVal = analogRead(sensorPin);
mySerial.print("Input Val: ");
mySerial.print(sensorVal);
mySerial.println();
}