max485

kentik
Offline
Зарегистрирован: 28.03.2013

Здравствуйте.

Соединил две ардуинки так тут:
только в качестве второй ардуины - ардуино мега2560

пин3 - high, max485 на передачу
присобачил потенциометр на А0

скетч УНО:
 

int en = 3;
int readadc;
void setup() {                
  pinMode(en, OUTPUT); 
  digitalWrite(en, HIGH);   
Serial.begin(9600); 
  delay(500); 
}
void loop() {

readadc = analogRead(A0)/4;
  Serial.print(readadc);
  delay(1000);              
}

скетч мега2560:
 

int en = 10;
int led = 3;
int Val;

void setup() {                
  pinMode(en, OUTPUT);
  pinMode(led, OUTPUT);
Serial.begin(9600);  
}

void loop() {
digitalWrite(en, LOW);   // turn the LED on (HIGH is the voltage level)
Val = Serial.read();
if(-1 != Val){
analogWrite(11, Val);
 }
}

тут вывел сетодиодик на 11 пин. он PWM

результата нет.

как я понял, на УНО должен перемигиваться светодиод TX/RX, а он молчит.Если в ArduinoIDE включить монитор порта, тогда числа правильно приходят и я их вижу на компьютере.

Обе ардуинки питаются через разные порты ноута.

Куда копать? почему не хочет работать?

maksim
Offline
Зарегистрирован: 12.02.2012

Светодиоды будут мигать если только запущем сериал-монитор. А проблема ваша в том, что вы не изучили типы данных в разделе Программирование

Serial.write((byte)readadc);

Принимать же байт правильно так:

if(Serial.available()){
   Val = Serial.read();
   analogWrite(11, Val);
 }

 

kentik
Offline
Зарегистрирован: 28.03.2013

Уважаемый maksim, спасибо огромное.
Я даже не посмотрел в эту сторону.
Все заработало.