Show Posts
Pages: 1 ... 10 11 [12] 13 14 ... 19
166  Forum 2005-2010 (read only) / Portugues / Re: Arduino nao esta fazendo uploading on: October 26, 2010, 06:19:21 am
Nossa nunca tinha pensado nisso de ligar o RX no TX do ftdi haha  smiley-razz muito útil essa informação.

Victor, as informações do Senso e do do Italo estão corretas, e 12V é mais que o dobro da tensão suportada pelo ftdi, se você ligou 12V mesmo que por questão de milisegundos em quaquer coisa (tanto no Atmega quanto no ftdi), já era =/
167  Forum 2005-2010 (read only) / Portugues / Re: Arduino e telefone on: October 22, 2010, 12:34:31 pm
Legal o projeto Bruno, com poucas modificações dá para fazer muita (muita mesmo) coisa útil e interessante.

Depois que terminar o esquema no Eagle, posta aqui os circuitos que você usou e o código  smiley-wink
168  Forum 2005-2010 (read only) / Portugues / Re: Arduino e telefone on: October 22, 2010, 12:27:04 pm
Legal cara, não tinha pensado nisso tambem, como você quer apenas saber se está "ligado/desligado" era realmente muito mais facil digitalizar o sinal realmente  smiley

Quote
1 e 2 é o que faz o 4 e 5 fechar corrente? algo assim?
Exatamente bruno, só que a corrente que irá conduzir no 4 e 5 do til111, será muito baixa, na maioria dos casos é necessário adicionar ainda um transistor na saída do til111, mas para ler se está ligado ou não, não é necessário.

você pode trocar o BC558 por um circuito equivalente agora que você entendeu o til. Vai dar na mesma mas é mais seguro (chance de queimar o Arduino por transientes na linha é nula).
169  Forum 2005-2010 (read only) / Portugues / Re: Arduino e telefone on: October 22, 2010, 11:22:38 am
Bom Bruno, pelo que entendi, a ponte de diodos (D1) retifica o sinal, ou seja, a corrente só irá fluir quando o sentido for de RD para GN, gerando uma tensão positiva sobre o fotodiodo do 4N33.

Quando houver essa corrente, como descrito acima, o fototransistor do do 4N33 conduz. Só isso.

Eu não sei como funciona a linha do telefone, mas supõe-se pelo circuito montado, que há tensão alternada na linha, por isso a ponte de diodos.

O diodo zener (D3), conduz quando a tensão é maior que 6V, na prática isso aumenta a velocidade NO chaveamento deste circuito.

Quanto ao CI especificamente é simples, quando há corrente sobre o fotodiodo (lado esquerdo do CI em relação a imagem), o transistor do outro lado do CI conduz. a vantagem deste tipo de isolamento, é que não é necessário ligar os "negativos" juntos do telefone e do Arduino. Assim, o que acontece na linha de telefone não influência no Arduino e vice-versa (se usado fontes diferentes claro).

Se quiser saber mais, pesquise sobre isolação galvânica.
170  Forum 2005-2010 (read only) / Portugues / Re: Arduino e telefone on: October 20, 2010, 08:12:40 am
Bruno, o CI que tem aqui que usamos para isolar circuitos de comunicação é o H11L1 (H11L2, H11L3).

Não sei se é fácil de encontrar, mas a frequência de trabalho dele é de até 1MHz, qualquer outro CI que chegue perto disso funcionará bem.

Faz o seguinte, olha no Eagle os "Opto couplers" que tem um schmitt trigger interno, acredito que qualquer um daqueles CIs devem servir tambem.
171  Forum 2005-2010 (read only) / Portugues / Re: Arduino e telefone on: October 20, 2010, 07:24:40 am
Bruno, o problema não é a serial ou usb ou o que for, o problema é o computador, se você ligar em qualquer porta terá ruídos no seu Arduino.

Você ligando o gnd do Arduino, com o gnd do computador vai ter muito ruído, então a solução seria isolar, mas não sei se funcionaria...

tenta isolar a linha Rx Tx com um optoacoplador de alta frequência, não me recordo agora o part number do CI, mas 4n25, 4n35 não funciona...

Se eu achar aqui qual é o CI, eu faço um desenho no Eagle e posto depois, mas não garanto...

Tenta pesquisar algo sobre isso, optoacopladores na serial do Arduino.
172  Forum 2005-2010 (read only) / Portugues / Re: Arduino e telefone on: October 19, 2010, 10:34:49 am
Tem razão Bruno, mas na verdade não é que tem problema no aterramento do computador, mas é que o aterramento do computador É um problema...

Evite deixar o Arduino ligado no computador quando for usar circuitos de frequência, ou para medição que exija uma certa sensibilidade,
as portas do computador são fontes realmente incríveis...de ruído  smiley-razz
173  Forum 2005-2010 (read only) / Portugues / Re: Arduino e telefone on: October 19, 2010, 05:55:00 am
Um bom meio de "isolar" circuitos de leitura, é colocando um seguidor (no seu caso com a frequência adequada). Assim o circuito que vai ler não interfere no ponto que está sendo lido (acho que fui confuso aqui mas dá pra entender a idéia hehe).

Pesquisa algo à respeito, de cabeça não estou lembrando de nenhum CI alem do 74hc245 e do LM741 que dá pra usar, mas não sei se esses atendem.
174  Forum 2005-2010 (read only) / Portugues / Re: Arduino e telefone on: October 18, 2010, 07:50:27 am
Quote
Próximo passo agora, é converter os 4 dígitos para serial. Conheço o 595, que faz o inverso, se um serial, envia 8bits. Alguém conhece uma forma de 4 bits entrar serialmente?
O 165 (74HC165), faz justamente o contrário do 595 e o princípio de funcionamento é exatamente o mesmo.

Quanto à esse ruído que você falou, seria um ruído de fundo ao falar no telefone? Não sei o que pode ser, mas tem várias coisas que podem ser testadas nesse circuito para melhorar a isolação da linha... usar um seguidor de tensão, usar capacitores e resistores menores, trançar o GND com a linha...todos os anteriores hehe  smiley-razz

Sinceramente sei quase nada de circuitos de frequência, mas sei que resistores próximos ou superiores à 100K, costumam atrair ruídos...
175  Forum 2005-2010 (read only) / Portugues / Re: Problema em gravar Bootloader em um Atmega168 on: October 20, 2010, 07:21:24 am
Eu tive o mesmo problema há um tempo atrás... pelo que pesquisei, infelizmente é difícil mesmo conseguir gravar o Atmega168 pelo gravador paralelo =/

Aliás, desisti de gravar com o programador paralelo na ocasião...

ICSP é o método mais simples de gravação, mas já é problemática por natureza (nem sempre funciona), quando o caso é a porta paralela do pc ainda piora...

Dá uma pesquisada no forum internacional, eu lembro de ter achado um tópico bom sobre o assunto, mas faz muito tempo.
176  Forum 2005-2010 (read only) / Portugues / Re: Arduino Ethernet Shield com conector para SD Card on: October 06, 2010, 03:18:08 pm
Quote
sketch_oct06a:43: error: 'class String' has no member named 'append'
http://arduino.cc/en/Tutorial/StringAppendOperator

Quote
sketch_oct06a:53: error: 'class String' has no member named 'contains'
sketch_oct06a:69: error: 'class String' has no member named 'contains'
http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1284029115
177  Forum 2005-2010 (read only) / Portugues / Re: Arduino Ethernet Shield com conector para SD Card on: October 06, 2010, 03:15:17 pm
Code:
//zoomkat 5-24-10
#include <SPI.h>
//#include <WString.h>
#include <Ethernet.h>
//#include<stdio.h>

byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED }; //physical mac address
byte ip[] = { 192, 168, 0, 12 }; // ip in lan
byte gateway[] = { 192, 168, 0, 5 }; // internet access via router
byte subnet[] = { 255, 255, 255, 0 }; //subnet mask
Server server(84); //server port

String readString = String(100); //string for fetching data from address

///////////////////////
 String teststring = String(100);
 String finalstring = String(100);
 String flag = String(2);
 int ind1 = 0;
 int ind2 = 0;
 int pos = 0;
 //////////////////////

void setup(){

//start Ethernet
Ethernet.begin(mac, ip, gateway, subnet);
server.begin();

//enable serial data print
Serial.begin(9600); }

void loop(){
// Create a client connection
Client client = server.available();
if (client) {
while (client.connected()) {
if (client.available()) {
char c = client.read();

//read char by char HTTP request
if (readString.length() < 100) {

//store characters to string
readString.concat(c);
}

//if HTTP request has ended
if (c == '\n') {

///////////////
//Serial.println(readString);
//readString looks like "GET /?-0p1555-1p500t1000 HTTP/1.1"

  if(readString.indexOf("-") != -1 ) { //test for servo control sring
  readString.replace('-', '#');
  pos = readString.length(); //capture string length
  //find start of servo command string (#)
  ind1 = readString.indexOf('#');
  //capture front part of command string
  teststring = readString.substring(ind1, pos);
  //locate the end of the command string
  ind2 = teststring.indexOf(' ');
  //capturing the servo command string from readString
  finalstring = readString.substring(ind1, ind2+ind1);
  //print "finalstring" to com port;
  Serial.println(finalstring); //print string with CR
    }
  ////////////////////////
  //GET /?Slidervalue0=1800&Submit=Sub+0 HTTP/1.1
  if(readString.indexOf("Slidervalue") != -1 ) {
  ind1 = readString.indexOf('u');
  ind2 = readString.indexOf('&');
  finalstring = readString.substring(ind1+1, ind2);
  finalstring.replace('e', '#');
  finalstring.replace('=', 'p');
  Serial.println(finalstring);
  }
  ///////////////////

  //now output HTML data header
  client.println("HTTP/1.1 204 Zoomkat");
  client.println();
  client.println();
  delay(1);
  //stopping client
client.stop();

/////////////////////
//clearing string for next read
readString="";
teststring="";
finalstring="";

}}}}}

Acredito que assim funcionará... modifiquei as linhas que estão dando erro e compilou de boa.

O que acontece, é que essa lib (Wstring) foi incluída no core a partir da versão 19, então algumas classes e métodos mudaram.
178  Forum 2005-2010 (read only) / Portugues / Re: Arduino Ethernet Shield com conector para SD Card on: September 22, 2010, 12:41:17 pm
http://arduino.cc/en/Tutorial/HomePage

Esta pagina do site do Arduino tem diversos tutoriais, inclusive do Ethernet shield.
179  Forum 2005-2010 (read only) / Portugues / Re: Onde estão os HEX? on: September 29, 2010, 08:30:19 am
Beleza nofxx, vou testar no meu pc depois.

Acabei achando outra alternativa para o que eu precisava no trabalho. O gravador que tem aqui no trabalho é o AVR Dragon, eu queria gravar os CIs sem bootloader (tanto pela memória quanto pelo tempo),

então a idéia era programar na IDE do Arduino, gerar o .HEX e gravar com o Dragon pelo AVR studio.

Acabei achando duas soluções melhores pra isso, fiz um USBasp[1], o qual é possível queimar o ATmega direto pela IDE do Arduino sem bootloader, e encontrei um tópico sobre o Optiboot[2] (que inclusive é usado no novo Arduino Uno).

O Optiboot eu achei muito legal, pois usa só 512 bytes para o bootloader, diminui o tempo para iniciar o sketch gravado e aumenta para 115200 a velocidade de upload  :o

Além do que, se está sendo usado na versão 1.0 do Arduino é porque a coisa funciona bem.


Se alguem quiser eu posso fazer um tópico explicando como queimar o Optiboot no ATmega (tanto no 168, quanto no 328), e como modificar as configurações da IDE para fazer upload do sketch com esse bootloader.

[1] http://www.fischl.de/usbasp/
[2] http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1271415071
180  Forum 2005-2010 (read only) / Portugues / Re: Onde estão os HEX? on: September 27, 2010, 06:42:02 am
nofxx conheço bem pouco de Linux, mas tenho no meu computador pessoal o Ubuntu instalado em uma partição (todos dizem ser mais fácil de aprender para Windows users), já no pc do trabalho que é onde tenho interesse desse arquivo .hex é XP mesmo, mas vou dar uma pesquisada sobre isso...
Pages: 1 ... 10 11 [12] 13 14 ... 19