collapse

* Posts Recentes

Amplificador - Rockboard HA 1 In-Ear por almamater
[Ontem às 19:13]


O que é isto ? por KammutierSpule
[26 de Março de 2024, 19:35]


Bateria - Portátil por almamater
[25 de Março de 2024, 22:14]


Emulador NES em ESP32 por dropes
[13 de Março de 2024, 21:19]


Escolher Osciloscópio por jm_araujo
[06 de Fevereiro de 2024, 23:07]


TP4056 - Dúvida por dropes
[31 de Janeiro de 2024, 14:13]


Leitura de dados por Porta Serie por jm_araujo
[22 de Janeiro de 2024, 14:00]


Distancia Cabo por jm_araujo
[08 de Janeiro de 2024, 16:30]


Meu novo robô por josecarlos
[06 de Janeiro de 2024, 16:46]


Laser Engraver - Alguém tem? por almamater
[16 de Dezembro de 2023, 14:23]

Autor Tópico: GreeBot Avançado  (Lida 8558 vezes)

0 Membros e 1 Visitante estão a ver este tópico.

Offline joao rexinho

  • Mini Robot
  • *
  • Mensagens: 183
  • http://sites.google.com/site/roboticaelectronica/
Re: GreeBot Avançado
« Responder #15 em: 29 de Dezembro de 2011, 03:44 »
Muito obrigado JPTuga  ::)

Estou com uma duvida será possivel fazer este circuito?


eu fico na duvida porque basicamente a bateria fica em paralelo com o painel fotovoltaico, e pelo que li não é aconselhado, mas não sei porquê? Suponho que seja porque se o painel fotovoltaico captar menos energia e só produzir vamos supor 3V, e a bateria ter 7,5V, a intesidade final irá diminuir e o regulador de tensão deixará de diminuir para 5V  ??? ???
então pensei num segundo caso:


Aqui pensei em desligar o regulador e ligar o painel quando o robô estiver em repouso. E quando for para andar desligo o painel e ligo o regulador, assim evita o problema.
 
http://sites.google.com/site/roboticaelectronica/home
Estudante de Engenharia Eletrônica e Telecomunicações em Aveiro

Offline senso

  • Global Moderator
  • Mini Robot
  • *****
  • Mensagens: 9.733
  • Helpdesk do sitio
Re: GreeBot Avançado
« Responder #16 em: 29 de Dezembro de 2011, 04:27 »
O diodo previne isso, só conduz quando o painel produz mais que a voltagem da bateria.
Avr fanboy

Offline joao rexinho

  • Mini Robot
  • *
  • Mensagens: 183
  • http://sites.google.com/site/roboticaelectronica/
Re: GreeBot Avançado
« Responder #17 em: 30 de Dezembro de 2011, 02:28 »
Hum ok, muito obrigado senso :)
Amanha irei montar o circuito e testa lo  ;D
http://sites.google.com/site/roboticaelectronica/home
Estudante de Engenharia Eletrônica e Telecomunicações em Aveiro

Offline joao rexinho

  • Mini Robot
  • *
  • Mensagens: 183
  • http://sites.google.com/site/roboticaelectronica/
Re: GreeBot Avançado
« Responder #18 em: 07 de Janeiro de 2012, 19:46 »
Olá. desculpem o multi post  :(
Tenho feito alguns testes com o modulo RF link 434 MHZ. E tentei fazer um codigo simples para controlar o meu robô. Aqui esta o do transmissor:
Código: [Seleccione]
// transmitter.pde
//
// Simple example of how to use VirtualWire to transmit messages
// Implements a simplex (one-way) transmitter with an TX-C1 module
//
// See VirtualWire.h for detailed API docs
// Author: Mike McCauley (mikem@open.com.au)
// Copyright (C) 2008 Mike McCauley
// $Id: transmitter.pde,v 1.3 2009/03/30 00:07:24 mikem Exp $

#include <VirtualWire.h>
const char *x;
const char *msg= x;
void setup()
{
    Serial.begin(9600);   // Debugging only
    Serial.println("setup");

    // Initialise the IO and ISR
    vw_set_ptt_inverted(true); // Required for DR3100
    vw_setup(1200); // Bits per sec
vw_set_tx_pin(3);
x="g";
}

void loop()
{
 
  if (Serial.available() > 0) {
    int inByte = Serial.read();

    switch (inByte) {
       vw_setup(1200);
    case 'g':    // pausa
    x="g";
   
     break;
    case 'd':    // frente
    x="d";
 break;
    case 'a':    // trás
    x="d";
 break;
    case 'w':    // direita
    x="w";
 break;
    case 's':    // esquerda
    x="s";
       break;
     }
    }
    msg=x;
 Serial.println(msg);

    digitalWrite(13, true); // Flash a light to show transmitting
    vw_send((uint8_t *)msg, strlen(msg));
    vw_wait_tx(); // Wait until the whole message is gone
    digitalWrite(13, false);
    delay(200);
}

e aqui o do receptor:
Código: [Seleccione]
// receiver.pde
//
// Simple example of how to use VirtualWire to receive messages
// Implements a simplex (one-way) receiver with an Rx-B1 module
//
// See VirtualWire.h for detailed API docs
// Author: Mike McCauley (mikem@open.com.au)
// Copyright (C) 2008 Mike McCauley
// $Id: receiver.pde,v 1.3 2009/03/30 00:07:24 mikem Exp $

#include <VirtualWire.h>
int motorEsq = 11;
int motorDrt = 10;
void setup()
{
    Serial.begin(9600); // Debugging only
    Serial.println("setup");

    // Initialise the IO and ISR
    vw_set_ptt_inverted(true); // Required for DR3100
    vw_setup(1200); // Bits per sec
vw_set_rx_pin(3);
    vw_rx_start();       // Start the receiver PLL running
   pinMode(motorEsq, OUTPUT);
 pinMode(motorDrt, OUTPUT);
}

void loop()
{
  char msg;

    uint8_t buf[VW_MAX_MESSAGE_LEN];
    uint8_t buflen = VW_MAX_MESSAGE_LEN;

    if (vw_get_message(buf, &buflen)) // Non-blocking
    {
int i;

        digitalWrite(13, true); // Flash a light to show received good message
// Message with a good checksum received, dump it.
Serial.print("Got: ");

for (i = 0; i < buflen; i++)
{

    Serial.print(buf[i]);
msg=buf[i];

}
Serial.println("");
        digitalWrite(13, false);
    }
   
     switch (msg) {
    case 'g':    // pausa
      analogWrite(motorEsq, 0);
      analogWrite(motorDrt, 0);
      break;
    case 'd':    // frente
      analogWrite(motorEsq, 65);
      analogWrite(motorDrt, 190);
      break;
    case 'a':    // trás
      analogWrite(motorEsq, 190);
      analogWrite(motorDrt, 65);
      break;
    case 'w':    // direita
      analogWrite(motorEsq, 65);
      analogWrite(motorDrt, 65);
      break;
    case 's':    // esquerda
      analogWrite(motorEsq, 190);
      analogWrite(motorDrt, 190);
      break;
      }
    }

Faço o upload para os respectivos arduinos, através dos pinos 13, consigo ver que esta a enviar e a receber, o analogWrite dos servos motores estão a 0 até ai tudo bem. Mas quando dou ordem ao arduino transmissor, o receptor só lê uma vez, o led pisca uma vez e só o motor esquerdo é que fica a funcionar, mando ordens para o arduino receptor mas ele não muda fica sempre só com o motor esquerdo a funcionar sempre na mesma direcção.

Gostava de saber qual é o possível erro? :-\
« Última modificação: 30 de Janeiro de 2012, 18:39 por joao rexinho »
http://sites.google.com/site/roboticaelectronica/home
Estudante de Engenharia Eletrônica e Telecomunicações em Aveiro

Offline joao rexinho

  • Mini Robot
  • *
  • Mensagens: 183
  • http://sites.google.com/site/roboticaelectronica/
Re: GreeBot Avançado
« Responder #19 em: 30 de Janeiro de 2012, 18:40 »
actualização: 30/01/2012
http://sites.google.com/site/roboticaelectronica/home
Estudante de Engenharia Eletrônica e Telecomunicações em Aveiro