Прозвони вывод Test микросхемы FTDI с землейи почему одну он видит а др. нет если косяк есть в обеих??
Прозвони вывод Test микросхемы FTDI с землейи почему одну он видит а др. нет если косяк есть в обеих??
тестера под рукой не оказалось у меня была контролька
вобщем с ней не звонится или сопротивление очень велико думаю этого достаточно теперь как мне лучше стянуть к массе этот тест можете показать на фото появилась возможность выкинуть более качественные фотографии а и еще пользуюсь возможностью показываю лицевую сторону обоих плат та что на печатке с релюхами эт новая с которой я сейчас работаю а др якобы зависшая хоть и оригинал
насчет скетча перезалил библиотеку и все проверку прошло
попытался добавить работу с БТ пока только получилось включать тишину а хотелось бы при отправке 1 еще раз она ее выключала пытался сделать по анологии как с сом портом только не прокатывает что я делаю не так????
PHP код:
#include <MsTimer2.h>
#include <SoftwareSerial.h>
SoftwareSerial BTSerial(11, 12); // RX, TX
char c;
int Mute = 19; // Pin 19 - Mute
int Start = 18; // Pin 18 - Start
int Stopi = 17; // Pin 17 - Stop
int Opening = 15; // Pin 15 - Open
int Light = 16; // Pin 16 - Light
int Lampbattery = 4;
int Stopisignal = 2;
int Speedisensor = 3;
int tick = 0 ;
byte com = 0; //reply from voice recognition
boolean running = false;
boolean flag=false;
boolean stopflag=true;
boolean a=false;
void Time()
{
tick++;
}
void flash()
{
if(tick<2){stopflag=true;}
else {stopflag=false;}
tick=0;
}
void setup() {
// initialize the digital pins as output
pinMode(Mute, OUTPUT);
pinMode(Start, OUTPUT);
pinMode(Stopi, OUTPUT);
pinMode(Opening, OUTPUT);
pinMode(Light, OUTPUT);
pinMode(Lampbattery, INPUT);
digitalWrite(Lampbattery, HIGH);
pinMode(Stopisignal, INPUT);
digitalWrite(Stopisignal, HIGH);
pinMode(Speedisensor, INPUT);
digitalWrite (Speedisensor, HIGH);
attachInterrupt(1, Time, FALLING);
MsTimer2::set(500, flash);
MsTimer2::start();
flag=true;
digitalWrite(Mute, HIGH);
BTSerial.begin(9600);
Serial.begin(9600); // Start serial communication at 9600bps
delay(2000);
Serial.write(0xAA);
Serial.write(0x37);
delay(1000);
Serial.write(0xAA);
Serial.write(0x21);
}
void loop() // run over and over again
{
if (BTSerial.available())
{
c = (char)BTSerial.read();
Serial.println(c);
if (c == '1' && !flag)
{
flag=true;
digitalWrite(Mute, HIGH);
c=0;
}
if(flag)
{
switch(c)
{
case 1:
flag=false;
digitalWrite(Mute, LOW);
c=0;
break;
}
}
}
if (digitalRead(4)==LOW)
{
a=false;
flag=true;
digitalWrite(Mute, HIGH);
}
if (digitalRead(4)==HIGH && !a)
{
a=true;
flag=false;
delay(1000);
digitalWrite(Mute, LOW);
}
if(Serial.available())
{
com = Serial.read();
if(com==0x13 && !flag)
{
flag=true;
digitalWrite(Mute, HIGH);
com=0;
}
if(flag)
{
switch(com)
{
case 0x15:
running = !running;
digitalWrite(Light, running);
flag=false;
digitalWrite(Mute, LOW);
com=0;
break;
case 0x11:
if(stopflag && digitalRead(2)==LOW && digitalRead(4)==LOW
)
{
digitalWrite(Start, HIGH);
delay(100);
digitalWrite(Start, LOW);
flag=false;
digitalWrite(Mute, LOW);
com=0;
}
break;
case 0x12:
if(stopflag && digitalRead(2)==LOW && digitalRead(4)==HIGH
)
{
digitalWrite(Stopi, HIGH);
delay(1000);
digitalWrite(Stopi, LOW);
flag=false;
delay(1000);
digitalWrite(Mute, LOW);
com=0;
}
break;
case 0x14:
if (stopflag)
{
digitalWrite(Opening, HIGH);
delay(700);
digitalWrite(Opening, LOW);
flag=false;
digitalWrite(Mute, LOW);
com=0;
}
break;
case 0x13:
flag=false;
digitalWrite(Mute, LOW);
com=0;
break;
}
}
}
}
Последний раз редактировалось Omigovolt; 27.08.2013 в 00:24.
проблема в том что я не могу сделать единицу посланную через БТ триггером что бы при повторном посылании единицы тишина выключалась
PHP код:
if (BTSerial.available())
{
c = (char)BTSerial.read();
Serial.println(c);
if (c == '1' && !flag)
{
flag=true;
digitalWrite(Mute, HIGH);
c=0;
}
if(flag)
{
switch(c)
{
case 1:
flag=false;
digitalWrite(Mute, LOW);
c=0;
break;
}
}
Последний раз редактировалось Omigovolt; 28.08.2013 в 23:26.
а можно это в скетче показать а то я что то не понимаю а пробы с различными комбинациями не дают результата
в компорт единицы летят на ура тх промаргивает)
Последний раз редактировалось Omigovolt; 29.08.2013 в 01:29.
Последний раз редактировалось Omigovolt; 30.08.2013 в 01:59.
А зачем проводок? Достаточно было замкнуть с 25 выводом микросхемы на этом пине подлючен GND
ну на тот момент мне об этом никто не сказал а схему я не смотрел но по чему комп видит ее как новое оборудование и проблема не решается
сегодня после долгих мучений удалось оживить старую ардуинку правда я это сделал на стационарном компьютере где стоит виндовс 7 а на буке ХР и там по прежнему он видит только одну плату а при подключении другой начинает устанавливать новое оборудование пытался подключить к другому usb на ноуте не помогло правда и на стационарном компьютере я смог залить на обе платы мигание светодиодом на версии программы 1.0.4
а на 1.5.3 ничего не вышло там куча ошибок и все такое при этом уже было пропаяно тест с 25 пином и после все этого задаю себе вопрос а в этом ли было дело у кого были такие проблемы расскажите как решали их
хотелось бы одинаково работать с обоими ардуинками при чем на обоих компьютерах
Р. S.на ноуте ПО 1.0.5
Последний раз редактировалось Omigovolt; 01.09.2013 в 01:49.
вчера дописал скетч теперь я могу включать и выключать тишину свет и открывать багажник спасибо manu_245 возникла потребность контролировать концевик багажника но это уже мелочь хотелось бы теперь что бы ардуинка воспринимала кирилицу таблица расшифровки символов есть только кирилицы там нет мржет для этого библиотека какая то есть???
скетч последней редакции
а вот таблица символовPHP код:
#include <MsTimer2.h>
#include <SoftwareSerial.h>
SoftwareSerial BTSerial(11, 12); // RX, TX
char c;
int Mute = 19; // Pin 19 - Mute
int Start = 18; // Pin 18 - Start
int Stopi = 17; // Pin 17 - Stop
int Opening = 15; // Pin 15 - Open
int Light = 16; // Pin 16 - Light
int Lampbattery = 4;
int Stopisignal = 2;
int Speedisensor = 3;
int tick = 0 ;
byte com = 0; //reply from voice recognition
boolean running = false;
boolean flag=false;
boolean stopflag=true;
boolean a=false;
void Time()
{
tick++;
}
void flash()
{
if(tick<2){stopflag=true;}
else {stopflag=false;}
tick=0;
}
void setup() {
// initialize the digital pins as output
pinMode(Mute, OUTPUT);
pinMode(Start, OUTPUT);
pinMode(Stopi, OUTPUT);
pinMode(Opening, OUTPUT);
pinMode(Light, OUTPUT);
pinMode(Lampbattery, INPUT);
digitalWrite(Lampbattery, HIGH);
pinMode(Stopisignal, INPUT);
digitalWrite(Stopisignal, HIGH);
pinMode(Speedisensor, INPUT);
digitalWrite (Speedisensor, HIGH);
attachInterrupt(1, Time, FALLING);
MsTimer2::set(500, flash);
MsTimer2::start();
flag=true;
digitalWrite(Mute, HIGH);
BTSerial.begin(9600);
Serial.begin(9600); // Start serial communication at 9600bps
delay(2000);
Serial.write(0xAA);
Serial.write(0x37);
delay(1000);
Serial.write(0xAA);
Serial.write(0x21);
}
void loop() // run over and over again
{
if (BTSerial.available())
{
c = (char)BTSerial.read();
Serial.println(c);
if (c == '1' && !flag)
{
flag=true;
digitalWrite(Mute, HIGH);
c=0;
}
switch(c)
{
case 50:
if (stopflag)
{
digitalWrite(Opening, HIGH);
delay(700);
digitalWrite(Opening, LOW);
delay(1000);
flag=false;
digitalWrite(Mute, LOW);
com=0;
break;
}
case 51:
running = !running;
digitalWrite(Light, running);
flag=false;
digitalWrite(Mute, LOW);
com=0;
break;
}
if(flag)
{
switch(c)
{
case 49:
flag=false;
digitalWrite(Mute, LOW);
c=0;
break;
}
}
}
if (digitalRead(4)==LOW)
{
a=false;
flag=true;
digitalWrite(Mute, HIGH);
}
if (digitalRead(4)==HIGH && !a)
{
a=true;
flag=false;
delay(1000);
digitalWrite(Mute, LOW);
}
if(Serial.available())
{
com = Serial.read();
if(com==0x13 && !flag)
{
flag=true;
digitalWrite(Mute, HIGH);
com=0;
}
if(flag)
{
switch(com)
{
case 0x15:
running = !running;
digitalWrite(Light, running);
flag=false;
digitalWrite(Mute, LOW);
com=0;
break;
case 0x11:
if(stopflag && digitalRead(2)==LOW && digitalRead(4)==LOW
)
{
digitalWrite(Start, HIGH);
delay(100);
digitalWrite(Start, LOW);
flag=false;
digitalWrite(Mute, LOW);
com=0;
}
break;
case 0x12:
if(stopflag && digitalRead(2)==LOW && digitalRead(4)==HIGH
)
{
digitalWrite(Stopi, HIGH);
delay(1000);
digitalWrite(Stopi, LOW);
flag=false;
delay(1000);
digitalWrite(Mute, LOW);
com=0;
}
break;
case 0x14:
if (stopflag)
{
digitalWrite(Opening, HIGH);
delay(700);
digitalWrite(Opening, LOW);
flag=false;
digitalWrite(Mute, LOW);
com=0;
}
break;
case 0x13:
flag=false;
digitalWrite(Mute, LOW);
com=0;
break;
}
}
}
}
по поводу ардуинки поставил на ноутбуке версио ПО 1.0.4 и поставил драйвера с версии ПО 1.0.1 теперь у меня ноутбук и компьютер видят обе ардуины
Последний раз редактировалось Omigovolt; 08.09.2013 в 21:59.
Эту тему просматривают: 4 (пользователей: 0 , гостей: 4)