Как отправить данные с ПК на ардуино?
Как я могу прочитать данные в Arduino IDE из текстового файла, если у меня есть текстовый файл, в котором есть угол наклона руки в разные промежутки времени? Если я хочу прочитать текстовый файл с ПК, может ли кто-нибудь показать демонстрационный код? Я прилагаю код, в котором я пишу позицию для servo1, значения которой я хочу передать через текстовый файл.
#include <Servo.h>
Servo myservo1 ;
int pos1 = 0;
void setup() {
myservo1.attach(4); //внутренний
}
void loop() {
myservo1.write(pos1); // pos1 дам разные ракурсы через текстовый файл
}
Если я не использую модуль SD-карты, как я могу сделать это только с ПК? Кто-нибудь, пожалуйста, помогите.
@Shivam Goswami, 👍-1
Обсуждение1 ответ
Я предполагаю, что вы хотите сохранить несколько значений в текстовом файле, а затем пусть Arduino IDE (не сама Arduino) прочитает файл и вставит данные в скетч. Если это действительно ваш вопрос о, быстрое и грязное решение было бы следующим:
- Отформатируйте текстовый файл как список чисел, разделенных запятыми, либо в одну или несколько строк. Например:
1, 12, 23, 34, 45, 56, 67,
78, 89, 100
- Включите этот файл в свой скетч в качестве тела инициализатора массива:
#include <Servo.h>
const int positions[] = {
#include "full_path_of_the_file_holding_the_positions"
};
#define positions_length (sizeof positions / sizeof positions[0])
Servo myservo1;
void setup() {
myservo1.attach(4);
}
void loop() {
for (int i = 0; i < positions_length; i++) {
myservo1.write(positions[i]);
delay(200);
}
}
Это немного помогло мне, спасибо. Теперь у меня есть много переменных и данных, которые я буду отправлять в IDE arduino. Существуют ли какие-либо ограничения по размеру, которые принимает Arduino. У меня очень большой набор данных для управления SERVO., @Shivam Goswami
@ShivamGoswami: Каждая плата имеет фиксированный объем доступной флэш-памяти и оперативной памяти. Если у вас много постоянных данных, PROGMEM
должен помочь: выполните поиск в Интернете по этому термину., @Edgar Bonet
- C++ против языка Arduino?
- avrdude ser_open() can't set com-state
- Как читать и записывать EEPROM в ESP8266
- Float печатается только 2 десятичных знака после запятой
- устаревшее преобразование из строковой константы в 'char*'
- Запрограммировать ATMega328P и использовать его без платы Arduino.
- Разница между print() и println()
- Как исправить: Invalid conversion from 'const char*' to 'char*' [-fpermissive]
Можете ли вы показать нам код, который вы написали до сих пор? Используете ли вы модуль чтения SD-карт? Возможно, обработка может быть использована для связи между ПК и Arduino? Пожалуйста, обновите свой вопрос с дополнительной информацией., @VE7JRO
Я соответствующим образом отредактировал код, теперь кто-нибудь ответьте, пожалуйста., @Shivam Goswami
Используйте python, чтобы прочитать текстовый файл и отправить его на Arduino через последовательный порт. Используйте библиотеку
serial
для python иSerial
на стороне arduino., @Sim Sonваш код не имеет ничего общего с проблемой ... вы должны понимать, что передача данных между ПК и Arduino полностью отделена от управления сервоприводом ... то, что вы делаете с полученными данными, не имеет значения ... в этом точка вам нужно решить проблему передачи данных, @jsotola