Отправка вывода из Arduino в Picaxe
Я делаю проект класса с участием Arduino Uno и Picaxe 14m2.
Я пытаюсь написать программу для Arduino Uno, которая позволит мне отправлять и выводить значения на вход Picasce.
Так что в непрофессионале, это то, что я хочу достичь:
Я хочу, чтобы Arduino проверил датчик, и если датчик возвращает определенное значение. (- Я знаю эту часть, но не следующую.) Затем я хочу, чтобы Arduino отправлял значение (HIGH или 1 ... что-то подобное) в качестве вывода на один из входных выводов Picaxe. Затем мне нужен Picaxe, чтобы заметить, что значение было отправлено, а затем сделать что-то еще.
Любая помощь будет оценена. Благодарю.
2 ответа
Если вы ищете это, вы можете указать, какой тип PICAXE у вас есть. Так как есть разница в типах этих фишек.
После этого вы можете просмотреть таблицу данных PICAXE, чтобы найти набор инструкций и тип памяти программ, который у вас есть, "EEPROM....".
После этого:
- Список ваших входов / выходов, входов и выходов.
- Установите редактор исходного кода.
- Напишите исходный код и запишите его в программную память PICAXE.(C, Assembly...)
- Напишите свой код Arduino, настройте Is/Os и расскажите Arduino, как обрабатывать входящие и исходящие сигналы (язык C).
- Сделайте принципиальную схему для оборудования, которое вы собираетесь подключить между обеими микросхемами.
- Не забудьте увидеть эффекты загрузки как на Arduino, так и на PICAXE, потому что вы не хотите сжигать аппаратное обеспечение вашего проекта.
- Протестируйте свой проект и обратите внимание, что вам придется устранять неполадки как программного, так и аппаратного обеспечения при возникновении проблемы.
Я предлагаю вам использовать осциллограф для проверки сигналов, поступающих или выходящих из обеих цепей + сигнал датчика.
- Для любых дополнительных вещей, которые вам нужны для PICAXE, используйте операторы If, потому что они не так технически реализуемы и их легко написать и устранить неисправности.
Для вашей схемы вы фактически заставляете Arduino давать инструкции PICAXE через переменный сигнал, поступающий от датчика.
^ пришлите мне отзыв, и я помогу больше.
Возможно, вы захотите изучить использование UART (Serial) или i2c.
Последовательная связь должна работать с любыми PICAXE и Arduino, в то время как i2c будет работать только при использовании чипов PICAXE серии X2. Основным преимуществом i2c является использование нескольких подчиненных устройств (плюс главное устройство, т. е. всего более двух устройств), в которых вы можете использовать одни и те же два провода примерно для 128 устройств. Последовательная (UART) связь проще, и для передачи данных одним способом нужен только один провод (плюс общая земля), это то, что я покажу в оставшейся части этого ответа
Вот запись для последовательного ввода для PICAXE вручную, а вот запись для последовательного вывода из Arduino. Код, который вам понадобится для ответа на ваш вопрос, будет выглядеть примерно так:
Для Arduino:
void setup(){
Serial.begin(9600);
}
void loop(){
if (conditionMet){ //whatever the condition is in your code
int bytesSent = Serial.write(“HIGH”); //send the string “HIGH"
}
}
и для PICAXE:
main:
serin 6, T9600, ("HIGH") 'uses qualifier to look for exact message "HIGH"
'do whatever when criteria met
goto main