скетч

Fredi
Offline
Зарегистрирован: 06.06.2016

всем привет, кто-нибудь знает как на ардуино мега загрузить нессколько скетчей вот таких

int ledPin=13;
void setup() 
{                

Serial.begin(19200);
pinMode (ledPin, OUTPUT);
}

void loop(){
  
  while (Serial.available() == 0);
  int val=Serial.read() - '0';
 
  if (val==1)  
 
  {
   Serial.println("ON");
  digitalWrite(ledPin, HIGH);
  }
  if (val == 0)   
  {
  Serial.println("OFF");
  digitalWrite(ledPin, LOW);
  }
}

 

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Несколько в одну Мегу? 

Никак.

Araris
Offline
Зарегистрирован: 09.11.2012

Объясните пожалуйста, зачем несколько ?

DIYMan
DIYMan аватар
Offline
Зарегистрирован: 23.11.2015

Наверное затем, что много - не мало, запас карман не тянет, на будущее, а вдруг первый сломается, тогда второй всегда под рукой, и уже закачан :)

T.Rook
Offline
Зарегистрирован: 05.03.2016

Привет!

О, Fredi, Вы неплохо продвинулись относительно http://arduino.ru/forum/programmirovanie/sketch

Объясните, что Вы имели в виду под идеей "загрузить нессколько скетчей"?

Может Вы хотели сказать, что надо управлять несколькими светодиодами? Тогда повторяйте строки 14-24 для каждой пары команд (вкл/выкл). И не забудьте сменить номер пина для вывода.

Fredi
Offline
Зарегистрирован: 06.06.2016

Привет, да все именно так, а вы не могли бы показать как повторить строки 14-24, у меня голова совсем не работает

gena
Offline
Зарегистрирован: 04.11.2012

Не работает временно сейчас или ?

Fredi
Offline
Зарегистрирован: 06.06.2016

через пору часов узнаем

 

Mr.Privet
Mr.Privet аватар
Offline
Зарегистрирован: 17.11.2015
int ledPin1=13;
int ledPin2=1;
int ledPin3=2;
void setup() 
{                
Serial.begin(19200);
int ledpins[3]={ledPin1,ledPin2,ledPin3}
for (int i = 0;i<3;i++)
{
pinMode (ledPins[i], OUTPUT);
}
}
void loop()
{
  while (!Serial.available());
  int val=Serial.read() - '0';
for (i=0;i<3;i++)
{
  if (val==1) // здесь я не знаю какую логику нужно заложить, поэтому оставляю этот кусок на усмотрения автора...
{
  Serial.println("ON");
  digitalWrite(ledPins[i], HIGH);
  }
  if (val==0)   
  {
  Serial.println("OFF");
  digitalWrite(ledPins[i], LOW);
  }
}
}

 

Fredi
Offline
Зарегистрирован: 06.06.2016

спасибо вам большое!

fogary
Offline
Зарегистрирован: 05.03.2016

del

Fredi
Offline
Зарегистрирован: 06.06.2016

он выделяет

for (int i = 0;i<3;i++)

и ошибку expected or before "for"

 

 

Jeka_M
Jeka_M аватар
Offline
Зарегистрирован: 06.07.2014

Ну так а точку с запятой в конце 7 строки кто ставить будет? 

Fredi
Offline
Зарегистрирован: 06.06.2016

еогда он выделяет

pinMode (ledPins[i], OUTPUT);

я понимаю что ledPin не был объявлен в этой области, но как его там объявить?

Jeka_M
Jeka_M аватар
Offline
Зарегистрирован: 06.07.2014

А, ещё в 7 строке ledpins исправьте на ledPins

Mr.Privet
Mr.Privet аватар
Offline
Зарегистрирован: 17.11.2015

мои косяки, не проверил на компеляторе... полетел?

Fredi
Offline
Зарегистрирован: 06.06.2016

да, и при нажатии любого символа он включает 13 пин

Mr.Privet
Mr.Privet аватар
Offline
Зарегистрирован: 17.11.2015

ну Вы же не написали что он должен делать и при каком символе. проставьте в if символы и если Вам нужно конкретных действий от диода обращайтесь к ним не через for (i.... а непосредственно ledPin1, ledPin2...

_МИХА
Offline
Зарегистрирован: 17.07.2016

НЕ ПОДСКАЖЕШЬ БУДЕТ ЛИ РАБОТАТЬ ЭТОТ КОД?

с поощью него я хочу вывести с датчика расстояния(HC-SR04) на жк дисплей данные(ну чтоб на экранчике показывалось расстояние)

 

#include <LiquidCrystal.h>
    #include <Ultrasonic.h>
     
    LiquidCrystal lcd(13,12,11,10,9,8);
    Ultrasonic ultrasonic(8,9);
    void setup()
    {
      Serial.begin(9600);
      lcd.begin(16,2);
      lcd.print("dist_cm");
    }
    
    void loop()
    {
      float dist_cm=ultrasonic.Ranging(CM);
      Serial.println(dist_cm);
      delay(100);
      lcd.setCursor(0,1);
      lcd.print(dist_cm);
    }
      
      
     

 

_МИХА
Offline
Зарегистрирован: 17.07.2016
ПОМОГИ ПОЖАЛУЙСТА СО СКЕТЧЕМ.
ОБЪЕДИНИЛ ДАТЧИК РАССКОЯНИЯ И ЖК ДИСПЛЕЙ И ХОЧУ ЧТОБ С ДАТЧИКА РАССОЯНИЯ ПОКАЗАНИЯ ВЫВОДИЛИСЬ НА ЖК ДИСПЛЕЙ, НО СКЕТЧ НЕ РАБОТАЕТ, ПОМОГИ МНЕ ПЕРЕДЕЛАТЬ ЕГО ПОЖАЛУЙСТА

#include <LiquidCrystal.h>
    #include <Ultrasonic.h>
     
    LiquidCrystal lcd(13,12,11,10,9,8);
    Ultrasonic ultrasonic(8,9);
    void setup()
    {
      Serial.begin(9600);
      lcd.begin(16,2);
      lcd.print("dist_cm");
    }
    
    void loop()
    {
      float dist_cm=ultrasonic.Ranging(CM);
      Serial.println(dist_cm);
      delay(100);
      lcd.setCursor(0,1);
      lcd.print(dist_cm);
    }
      
      
     

 

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

В сериал правильно расстояние печатается?

Mr.Privet
Mr.Privet аватар
Offline
Зарегистрирован: 17.11.2015

[quote=_МИХА]

ПОМОГИ ПОЖАЛУЙСТА СО СКЕТЧЕМ.
ОБЪЕДИНИЛ ДАТЧИК РАССКОЯНИЯ И ЖК ДИСПЛЕЙ И ХОЧУ ЧТОБ С ДАТЧИКА РАССОЯНИЯ ПОКАЗАНИЯ ВЫВОДИЛИСЬ НА ЖК ДИСПЛЕЙ, НО СКЕТЧ НЕ РАБОТАЕТ, ПОМОГИ МНЕ ПЕРЕДЕЛАТЬ ЕГО ПОЖАЛУЙСТА

#include <LiquidCrystal.h>
    #include <Ultrasonic.h>
     
    LiquidCrystal lcd(13,12,11,10,9,8);
    Ultrasonic ultrasonic(8,9);
    void setup()
    {
      Serial.begin(9600);
      lcd.begin(16,2);
      lcd.print("dist_cm");
    }
    
    void loop()
    {
      float dist_cm=ultrasonic.Ranging(CM);
      Serial.println(dist_cm);
      delay(100);
      lcd.setCursor(0,1);
      lcd.print(dist_cm);
    }
    [/quote]

что то мне подсказывает что нужно датчик расстояния повесить на другие пины, а не на те на которых лсд висит...