Страница 2 из 4 ПерваяПервая 1234 ПоследняяПоследняя
Показано с 11 по 20 из 32
  1. #11
    Местный
    Регистрация
    30.07.2011
    Возраст
    35
    Сообщений
    126
    Вес репутации
    183

    По умолчанию Re: Помощь в программировании

    неа, не работает это((( помима этого я перебрал скетчей 20 для отправки смс или звонка, результат - 0 (((((

  2. #12
    Местный Аватар для zhserg
    Регистрация
    12.11.2010
    Сообщений
    135
    Вес репутации
    193

    По умолчанию Re: Помощь в программировании

    Может в твоем скетче этого не хватает gsm.print(10,BYTE); перед задержкой?

  3. #13
    Местный
    Регистрация
    30.07.2011
    Возраст
    35
    Сообщений
    126
    Вес репутации
    183

    По умолчанию Re: Помощь в программировании

    Про newsoftserial....
    PHP код:
    #include <NewSoftSerial.h>  //Include the NewSoftSerial library to send serial commands to the cellular module.
    #include <string.h>         //Used for string manipulations

    char incoming_char=0;      //Will hold the incoming character from the Serial Port.

    NewSoftSerial cell(2,3);  //Create a 'fake' serial port. Pin 2 is the Rx pin, pin 3 is the Tx pin.

    void setup()
    {
      
    //Initialize serial ports for communication.
      
    Serial.begin(9600);
      
    cell.begin(9600);
      
      
    //Let's get started!
      
    Serial.println("Starting SM5100B Communication...");
    }

    void loop() {
      
    //If a character comes in from the cellular module...
      
    if(cell.available() >0)
      {
        
    incoming_char=cell.read();    //Get the character from the cellular serial port.
        
    Serial.print(incoming_char);  //Print the incoming character to the terminal.
      
    }
      
    //If a character is coming from the terminal to the Arduino...
      
    if(Serial.available() >0)
      {
        
    incoming_char=Serial.read();  //Get the character coming from the terminal
        
    cell.print(incoming_char);    //Send the character to the cellular module.
      
    }

    Вот такое не работает,
    если взять скетч Chipa,
    PHP код:
    uint8_t ETX_Pin=3;
    uint8_t ERX_Pin=2;

    void setup()
    {

    pinMode(0INPUT);
    pinMode(1OUTPUT);

    pinMode(ETX_PinINPUT);
    pinMode(ERX_PinOUTPUT);
    }

    void loop()
    {
    int pc2vrbot digitalRead(0);
    digitalWrite(ERX_Pinpc2vrbot);

    int vrbot2pc digitalRead(ETX_Pin);
    digitalWrite(1vrbot2pc);

    через терминал все ок, пробовал скетч написать, который бы слал в шилд данные, а ответы в серийный порт - там белеберда отображается.. то квадраты, то еще чего
    Вообще, простейший скетч - отображение символов вводимых склавиатуры(ардуина засылает обратно символ или цифру, которую ввели с клавы) - работает прекрасно, когда пытаюсь параллелить на строковый монитор - на мониторе единицы(1), в терминал-ахинея(((
    С++ последний раз трогал 5 лет назад, после этого только на php писал.
    Общение с железом требует выдержки и терпения((((

  4. #14
    Местный
    Регистрация
    30.07.2011
    Возраст
    35
    Сообщений
    126
    Вес репутации
    183

    По умолчанию Re: Помощь в программировании

    Хммм, может кто в двух словах рассказать в каком виде данные передаются и принимаются между железяками??
    Ну не знаю, из символа преобразуется в его код, и так далее....
    Я к тому, что вот на такое ардуина матерится:
    PHP код:
    digitalWrite(RX"AT"); 
    а вот на такое нет:
    PHP код:
    digitalWrite(RX'AT'); 
    если таким способом передали "строку", то надо нажать ЕНТЕР, чтобы шилд ее начал обрабатывать. Наверное единственный способ -
    PHP код:
    digitalWrite(RX13); 
    на что шилд молчит....
    Как вообще засылать туда и символы, и коды клавиш, а также принимать обратно и смотреть в нормальном виде?

  5. #15
    Местный Аватар для Gorynch
    Регистрация
    21.12.2009
    Возраст
    42
    Сообщений
    187
    Вес репутации
    246

    По умолчанию Re: Помощь в программировании

    В сообщении за N13 первый скетч должен работать при правильном подключении устройств - адруина принимает данные из терминала и отправляет их в newserialport, а так же принимает данные от newserialport и отправляет в терминал

    Но судя по второму скетчу твоя ошибка в том, что ERX_Pin у тебя output, хотя должен быть input, потому как это приём данных от другого устройства. Аналогично ETX_Pin. Исходя из этой ошибки советую почитать теорию

    И схему подключения к адруино покажи

  6. #16
    Местный Аватар для Gorynch
    Регистрация
    21.12.2009
    Возраст
    42
    Сообщений
    187
    Вес репутации
    246

    По умолчанию Re: Помощь в программировании

    Т. е. Для прямого взаимодействия Rx адруины нужно настроить как вход и подключить к Tx железяки, Tx адруины -выход - Rx железяки

    Для первого скетча из сообщения 13
    Rx_adruino --- Tx_PC
    Tx_adruino --- Rx_PC

    Newserial_pin2 (Rx, input) --- Tx_gsm
    Newserial_pin3 (Tx, output) --- Rx_gsm

    Вроде так

    Скачай LGComSpy - бесплатный монитор COM-порта, т. е. порт открываешь терминалом, а в ней тоже смотришь, чтотпришло, только там есть различные виды отображения - ASCII, hex и т.д. Но работает она только с COM1, поэтому если у тебя он не 1, нужно его переименовать
    Последний раз редактировалось Gorynch; 23.09.2011 в 00:41.

  7. #17
    Местный Аватар для zhserg
    Регистрация
    12.11.2010
    Сообщений
    135
    Вес репутации
    193

    По умолчанию Re: Помощь в программировании

    Цитата Сообщение от alekseykok Посмотреть сообщение
    Хммм, может кто в двух словах рассказать в каком виде данные передаются и принимаются между железяками??
    Ну не знаю, из символа преобразуется в его код, и так далее....
    Я к тому, что вот на такое ардуина матерится:
    PHP код:
    digitalWrite(RX"AT"); 
    а вот на такое нет:
    PHP код:
    digitalWrite(RX'AT'); 
    если таким способом передали "строку", то надо нажать ЕНТЕР, чтобы шилд ее начал обрабатывать. Наверное единственный способ -
    PHP код:
    digitalWrite(RX13); 
    на что шилд молчит....
    Как вообще засылать туда и символы, и коды клавиш, а также принимать обратно и смотреть в нормальном виде?
    Ты бы хоть букварь почитал что-ли?
    Здесь можно почитать в чем разница между Write и Print применительно к Serial. Подозреваю что для NewSoftSerial аналогично
    Попробуй так:
    PHP код:
    #include <NewSoftSerial.h>
    NewSoftSerial gsm(2,3);

    void setup()
    {
      
    gsm.begin(9600);
      
    gsm.print('atd');
      
    gsm.print(34,BYTE); // символ "
      
    gsm.print('+79121234565');
      
    gsm.print(34,BYTE); // символ "
      
    gsm.println(';');
    }
      
    void loop()
    {

    Последний раз редактировалось zhserg; 23.09.2011 в 07:33.

  8. #18
    Местный
    Регистрация
    30.07.2011
    Возраст
    35
    Сообщений
    126
    Вес репутации
    183

    По умолчанию Re: Помощь в программировании

    не работает

  9. #19
    Местный Аватар для zhserg
    Регистрация
    12.11.2010
    Сообщений
    135
    Вес репутации
    193

    По умолчанию Re: Помощь в программировании

    Думаю это тебе поможет.

  10. #20
    Местный
    Регистрация
    10.11.2010
    Сообщений
    144
    Вес репутации
    194

    По умолчанию Re: Помощь в программировании

    Такой вопрос: пробую скетч Fade из экзамплов... Там одна функция analogWrite(...) Не даёт на 9 ноге 168й ардуины плвное изменение яркости светодиода. При значениях 0-127 светит "на полную", при 128-255 полностью потушен. Что за проблем?

Страница 2 из 4 ПерваяПервая 1234 ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •