collapse

* Posts Recentes

Arame de Estendal por almamater
[Hoje às 16:16]


O que é isto ? por SerraCabo
[12 de Abril de 2024, 14:20]


Amplificador - Rockboard HA 1 In-Ear por almamater
[11 de Abril de 2024, 20:46]


Emulador NES em ESP32 por dropes
[10 de Abril de 2024, 15:30]


Meu novo robô por josecarlos
[29 de Março de 2024, 18:30]


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


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]

Autor Tópico: PAP - SONDA MOVEL - explorUino [CONCLUÍDO]  (Lida 57782 vezes)

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

Offline _ze_pedro_

  • Mini Robot
  • *
  • Mensagens: 107
Re: PAP - SONDA MOVEL
« Responder #60 em: 08 de Junho de 2010, 13:01 »
pois a minha duvida era essa :D

eu pensei em ligar assim mas nao sabia se podia haver alguns contras mas ja vi que nao ;)

obrigado ;)


Offline _ze_pedro_

  • Mini Robot
  • *
  • Mensagens: 107
Re: PAP - SONDA MOVEL
« Responder #61 em: 09 de Junho de 2010, 09:39 »
boas

alguem ja comprou algo na inMotion??

https://www.inmotion.pt

alguem me sabe dar um feed back??

cump.
ze pedro

Offline microbyte

  • Mini Robot
  • *
  • Mensagens: 1.322
    • http://ricardo-dias.com/
Re: PAP - SONDA MOVEL
« Responder #62 em: 09 de Junho de 2010, 09:48 »
Já comprei e recomendo.

Talvez um bocadinho cara, comparado com os preços da Sparkfun, mas com os portes é capaz de ficar ela por ela...
É uma questão de fazeres as contas.

Cumprimentos.

Offline _ze_pedro_

  • Mini Robot
  • *
  • Mensagens: 107
Re: PAP - SONDA MOVEL
« Responder #63 em: 09 de Junho de 2010, 09:51 »
eu quero mandar vir um xbee explore e preciso dele o mais rapido possivel

obrigado microbyte

Offline microbyte

  • Mini Robot
  • *
  • Mensagens: 1.322
    • http://ricardo-dias.com/
Re: PAP - SONDA MOVEL
« Responder #64 em: 09 de Junho de 2010, 10:06 »
Mandei vir o meu de lá, pela mesma razão.  ;)

De nada.

Offline _ze_pedro_

  • Mini Robot
  • *
  • Mensagens: 107
Re: PAP - SONDA MOVEL
« Responder #65 em: 09 de Junho de 2010, 10:14 »
os nossos trabalhos sao muito parecidos loool

eu a base do meu projecto é o o teu ;)

cump.
ze pedro

Offline microbyte

  • Mini Robot
  • *
  • Mensagens: 1.322
    • http://ricardo-dias.com/
Re: PAP - SONDA MOVEL
« Responder #66 em: 09 de Junho de 2010, 10:49 »
Fixe! Então depois manda-me fotos ou assim, quero saber como correu, que nota tiveste, etc...

Mandaste-me uma PM há uns tempos, mas não te consigo responder, parece k me bloqueaste ou então tens a caixa de entrada cheia...

Aqui fica a resposta que tinha para ti:
Citar
ola tudo bem?

eu estou a basear.me no teu projecto para fazer a minha pap

nao esto ua estudar agora o programa do arduino tenho algumas duvidas

na pasta que tens no site tem o programa receiver2 , motores, e servos

tu so utilizas o receiver2 nao è? è so isso que envias para o arduino

tenho outra duvida

"if(inString[5] == 1 + 0x30)" que significa esse 0x30?

obrigado mais uma vez ;)
cump.
ze pedro
Boas novamente.
Estás à vontade para usar e alterar o código ao teu gosto.

Dizes bem... Na pasta do projecto Arduino estão lá 3 pedaços do mesmo código.
Isso está assim, porque quando crias uma nova "aba" no IDE do Arduino, ele cria-te outro ficheiro. Essa foi a forma que encontrei para separar as várias partes do carro.
Na verdade, se isso te faz confusão, podes juntar o código todo no mesmo ficheiro ".pde"

Respondendo mais especificamente à tua pergunta, não é só o receiver2 que está a ser usado, precisas de todos os outros ficheiros na mesma pasta, ou como te disse, o código junto no mesmo ficheiro.

Quanto à tua questão... Vou tentar explicar-te.
Tudo começa com a Tabela ASCII (http://www.asciitable.com/).
Se ainda não conheces, dá uma vista de olhos pela tabela e facilmente repararás que cada caracter tem um código associado (por exemplo o caracter '*' é o código 42 em decimal, ou 2A em hexadecimal).
Ora, o que o GUI envia são caracteres. Na verdade, envia os códigos desses caracteres. Ou seja, se eu do GUI mandar o caracter 'a', o que o Arduino vai ler é 97 (em decimal), que é o código desse caracter.

Como nós enviamos caracteres numéricos, só temos de começar a contar no caracter '0', que é 30 em hexadecimal.
Como é que fazemos isso? Subtraímos 0x30 (ou 48, é equivalente) ao caracter que recebemos e ficamos com um inteiro. Esse inteiro coincide com o caracter numérico.

Exemplo: Se nós recebermos 50 (corresponde ao caracter '2'), se subtraírmos 48 (ou 0x30), ficamos com 2. Daí o 0x30.

Percebeste? Se não percebeste, diz que eu tento explicar de outra maneira.

Vai dando notícias do teu projecto. ;)

Cumprimentos,
Ricardo Dias

Offline _ze_pedro_

  • Mini Robot
  • *
  • Mensagens: 107
Re: PAP - SONDA MOVEL
« Responder #67 em: 09 de Junho de 2010, 11:52 »
loool

obrigado pela resposta :D

ja percebi mais ou menos

eu em casa vou ler melhor agora nao tenho muito tempo para ler com atençao porque estou no estagio

eu ja tenho o python feito com algumas alteraçoes e o programa do arduino tambem

eu vou postar aqui para dares uma vista de olhos e para veres se gostas claro :D

so um pouco :P

Offline _ze_pedro_

  • Mini Robot
  • *
  • Mensagens: 107
Re: PAP - SONDA MOVEL
« Responder #68 em: 09 de Junho de 2010, 12:19 »
aqui esta o programa do python

tem umas " mariquices " espero que gostem ;)

micro da.me depois opiniao

Citar
# -*- coding: iso-8859-15 -*-

import serial # biblioteca pyserial
import time # biblioteca do tempo para o relogio
import pygame # biblioteca pygame
import os
import sys
from pygame.locals import *
from pygame import joystick, event

i = 0 # variavel inicial do botao btn_2 (luz on)
a = 0 # variavel inicial da botao btn_1 (luz off)

b = 1 # tentativas esgotadas
c = 3 # numero de tentativas

s = 1 # variavel do while para a porta serie
p = 0 # variavel do while da porta serie
#--------------------------------------------------------------------------------------------------------------------------------

 ##########
#-PASSWORD-#
 ##########

pw = 9999 # Password
print "AVISO\n\nTEM 3 TENTATIVAS" # imprime o numero de tentativas no inicio
password = raw_input ("\nInserir Password:")# valor inserido na password

   
while password != str(pw): # enquando a password nao foi correcta imprime "pass errada" e permite colocar outra vez nova password

    c = c - 1 # menos uma tentativa
    print ("\nPassword Errada\n___________________________________")

    if c == 1: #se o numero de tentativa for = 1
        print "\nAVISO\n\nTEM", c, "TENTATIVA" # imprime "tentativa"
    else:
        if c != 0: #se for diferente de 0
            print "\nAVISO\n\nTEM", c, "TENTATIVAS" #imprime "tentativas" 
   
    if (b == 3): #se o numero de tentativas utilizadas for = 3
       
        print ("\n\nNUMERO DE TENTATIVAS ESGOTADAS")
        time.sleep(2)
        os._exit(1) # para o python shell e nao avança mais

    else: # se nao
        b = b + 1 # incrementa 1
       
   
    password = raw_input ("\nInserir Password:") # inserir de novo a password
       
print "\n\nPASSWORD CORRECTA\n\n___________________________________"     
       

       
   
#---------------------------------------------------------------------------------------------------------------------------------

# normalizar os valores do joystick de -1 e 1 para 1 e 2

def normalizar(num):
    if num == -1:
        num = 1
    elif num == 1:
        num = 2
    return num



def load_image(name, colorkey=None):
    fullname = os.path.join('images', name)
    try:
        image = pygame.image.load(fullname)
    except pygame.error, message:
        print 'Cannot load image:', name
        raise SystemExit, message
    image = image.convert()
    if colorkey is not None:
        if colorkey is -1:
            colorkey = image.get_at((0,0))
        image.set_colorkey(colorkey, RLEACCEL)
    return image, image.get_rect()

#---------------------------------------------------------------------------------------------------------

#########################
""" Porta Série setup """
#########################

print ("\nPORTA SÉRIE")
porta1 = raw_input("\nNumero da porta: ") # inserir o numero da porta
#porta1 = 3
porta = int(porta1) - 1


while ((s == 1) and (p == 0)):

   print ("___________________________________\n\nPORTA SÉRIE\n\nInserir Novamente")
    porta1 = raw_input("\nNumero da porta: ") # inserir numero de novo
    porta = int(porta1) - 1

    try:
        ser = serial.Serial(porta)  # abre a porta usb
        print 'A usar a porta',ser.portstr       
        s = 1
        p = 1

    except:
        print '\nERRO: Porta nao encontrada ou em uso.'
        s = 1
        p = 0


ser.baudrate = 9600 # velocidade de transmissao 9600 bps

#ser.open()

#-----------------------------------------------------------------------------------------------------------------


# ################# #
""" Setup Inicial """
# ################# #

pygame.init()

background = pygame.image.load(os.path.join('images', "bem_V.png")) # imagem de inicio "bem vido!"
backgroundRect = background.get_rect()
size = (width, height) = background.get_size() # Tira as dimensões da imagem de fundo
#size = (640, 480)
screen = pygame.display.set_mode(size) # Cria uma janela do tamanho da imagem de fundo
#screen = pygame.display.set_mode(size, pygame.FULLSCREEN)
screen.blit(background, backgroundRect)

pygame.display.flip()
pygame.display.set_caption('ExplorUino - Painel de Controlo') # coloca o nome do projecto na barra do windows


clock = pygame.time.Clock()
screen.blit(background, (0, 0))
pygame.display.flip()

time.sleep(3)

# Fim do Setup

#------------------------------------------------------------------------------------------------------------------


img_fundo = pygame.image.load(os.path.join('images', "fundo.png")) # coloca a imagem de fundo
background.blit(img_fundo, (0, 0))




# declara as variaveis do joystick (esquerda) para comandar o sentido e a direcçao do carro
eixox = 0
eixoy = 0

# declara as variaveis do joystick (direita) para comandar a direcçao da camara
rot1 = 0
rot2 = 0

# declara as variaveis dos botoes do comando
btn_1 = a # luz off
btn_2 = i # luz on
btn_3 = 0 # start


try:
   j = pygame.joystick.Joystick(0) # create a joystick instance
   j.init() # init instance
   print 'Enabled joystick: ' + j.get_name()
except pygame.error:
   print 'AVISO: Nao foi encontrado nenhum joystick.'
   

while 1:
    clock.tick(60)# velocidade do ciclo era 60
    time.sleep(0.05)
    pygame.event.pump()# inicio do ciclo das imagens e dos valores dos comandos
    for evento in pygame.event.get():
       
        if evento.type == pygame.JOYAXISMOTION: # se os joystick apresentarem um valor

            # faz uma aproximaçao de 0 casas decimais para evitar o ruido e o tremor dos joysticks
            eixox = round(j.get_axis(0), 0)
            eixoy = round(j.get_axis(1), 0)
            rot1 = round(j.get_axis(2), 0)
            rot2 = round(j.get_axis(3), 0)

            # vai "normalizar" os valores dos joysticks de -1 ou 1 para 1 ou 2
            eixox = normalizar(int(eixox))
            eixoy = normalizar(int(eixoy))
            rot1 = normalizar(int(rot1))
            rot2 = normalizar(int(rot2))

        elif evento.type == pygame.JOYBUTTONDOWN or evento.type == pygame.JOYBUTTONUP:# se os botoes do comando apresentarem algum valor

            #declara quais sao os botoes das variaveis
            btn_1 = j.get_button(3)
            btn_2 = j.get_button(2)
            btn_3 = j.get_button(9)
           
           
   
#------------------------------------------------
   
    ###############
    # Porta Série #
    ###############
   
    ser.write("*")         
    ser.write(str(eixoy))   #0
    ser.write(str(eixox))   #1
    ser.write(str(btn_1))   #2 b1
    ser.write(str(btn_2))   #3 b2
    #ser.write(str(rot1))    #4
    #ser.write(str(rot2))    #5   
    #ser.write(str(btn_3))   # botao start (parar tudo)
   
    #ser.write("0")          #4
    #ser.write("+")          #5

#------------------------------------------------


   
   
    print "\nX=", eixox, " Y=", eixoy, " B1=", btn_1, " B2=", btn_2, " B3=", btn_3, "rot1=", rot1, "rot2=", rot2,  # valores das variaveis do comando
    pygame.draw.rect(background, (255, 255, 255), pygame.Rect(49, 90, 550, 350), 0)


#Parte da Direccao do Carro
   
    if eixox == 1:
        img_dir = pygame.image.load(os.path.join('images', "esq.png"))
    elif eixox == 2:
        img_dir = pygame.image.load(os.path.join('images', "dir.png"))
    else:
        img_dir = pygame.image.load(os.path.join('images', "0.png"))
    background.blit(img_dir, (50, 110))

#Motores
   
    if eixoy == 1:
        img_mot = pygame.image.load(os.path.join('images', "frent.png"))
    elif eixoy == 2:
        img_mot = pygame.image.load(os.path.join('images', "tr_tr.png"))
    else:
        img_mot = pygame.image.load(os.path.join('images', "parado.png"))

    background.blit(img_mot, (25, 290))

#Luz

    if ((btn_2 == 1) or ((btn_1 == 0) and (i == 1) and (a == 1))):
        i = 1
        a = 1
        img_luz = pygame.image.load(os.path.join('images', "luz_on.png"))
        background.blit(img_luz, (350, 130))
       
    elif ((btn_1 == 1) or ((btn_2 == 0) and (i == 0)and (a == 0))):
        i = 0
        a = 0
        img_luz = pygame.image.load(os.path.join('images', "luz_off.png"))
        background.blit(img_luz, (350, 130))

#Relógio
   
        font = pygame.font.Font(None, 16) # tipo de letra e tamanho
        curtime = time.strftime("%d-%m-%Y  %H:%M:%S") # como vai ser colocadas a hora e a data
        txt_time = font.render(curtime, 1, (255, 255, 255), (0,0,0))# cor da letra
        pygame.draw.rect(background, (0, 0, 0), pygame.Rect(500, 30, 150, 20), 0)
        background.blit(txt_time, (495, 459))#posiçao da hora e da data

        img_sensor = pygame.image.load(os.path.join('images', "sensores.png")) # coloca a imagem de fundo
        background.blit(img_sensor, (430, 250))


    if (btn_3)== 0: # se o botao do start nao for pressionado
        screen.blit(background, (0, 0))
        pygame.display.flip()# executa o ciclo de novo
   

    else: # se for pressionado
        pygame.quit()# sai da janela do projecto
        os._exit(1)# sair


as imagens vao em anexo

a imagens com os valores dos sensores foi uma que fiz so para ver como ficavam
so mesmo para ter uma ideia lol

ainda falta algumas coisas no python

tenho mostrar os valores dos sensores é so o que falta

em termos de material

chegaram hoje os xbee vou busca.los a tarde
ja mandei vir o xbee explore usb

acho que esta no bom caminho



cump.

« Última modificação: 09 de Junho de 2010, 12:28 por _ze_pedro_ »

Offline _ze_pedro_

  • Mini Robot
  • *
  • Mensagens: 107
Re: PAP - SONDA MOVEL
« Responder #69 em: 09 de Junho de 2010, 12:27 »
em relaçao ao arduino

o programa que tenho por agora esta nestes modos lol

ainda falta ler os dados dos sensores fazer a conversao dos valores e enviar para o xbee

Citar
/*

Comentário:

  -> LIGAÇÕES

       ----------------------------------------------
       | IN/OUT DIGITAIS:      | IN/OUT ANALÓGICAS: |
-----------------------------------------------------
0(rx)  | xbee                  | Temperatura        |
-----------------------------------------------------
1(tx)  | xbee                  | Humidade           |
-----------------------------------------------------
2      | Luz                   | Pressao            |
-----------------------------------------------------
3 (pwn)| Motor Esq             |                    |
-----------------------------------------------------
4      | Motor Esq             |                    |
-----------------------------------------------------
5(pwn) | Pwn Motor Esq         |             
--------------------------------
6(pwn) | Pwn Motor Dir         |
--------------------------------
7      | Motor Dir             |
--------------------------------
8      | Motor Dir             |
--------------------------------
9(pwn) | "Servo camara dir/esq"|
--------------------------------
10(pwn)| "Servo camara frt/trs"|
--------------------------------
11(pwn)|                       |
--------------------------------
12     |                       |
--------------------------------
13     |                       |
--------------------------------
*/





/************
 ** INICIO **
 ************/





/* Declaração de Variáveis */

int luz = (2);
int pwn_esq = (5);
int pwn_dir = (6);
int camara1 = (12);
int camara2 = (13);
int a = 0;
int i = 0;


/* Configuração de Arranque */
void setup()
{
 
  Serial.begin(9600); // Abrir a porta série
  pinMode (3, OUTPUT); // Declarar o o pin do motor esquerdo OUTPUT
  pinMode (4, OUTPUT); // Declarar o o pin do motor esquerdo OUTPUT
  pinMode (7, OUTPUT); // Declarar o o pin do motor direito OUTPUT
  pinMode (8, OUTPUT); // Declarar o o pin do motor direito OUTPUT
  pinMode (pwn_esq, OUTPUT); // Declarar o o pin do pwn do motor esquerdo OUTPUT
  pinMode (pwn_dir, OUTPUT); // Declarar o o pin do pwn do motor direito OUTPUT
   
}

void loop()

{
  if ( Serial.available() > 0) // Se ouver entrada de dados por Serial...
    {
    char inByte = Serial.read(); // ler um BYTE
    delay(10);
    if (inByte == '*') // Se o BYTE lido for um asterisco a seguir vem os dados...
      {
      int len = 5; // A string esperada tem 6 BYTES
      char inString[len]; // declarar a variavel da string
      for (int i = 0; i <= len; i++)
        {
        inString = Serial.read();
        }
     
   
      // Motores / Direcção
      {
      if ((inString[0] == 0 + 0x30) && (inString[1] == 0 + 0x30))
        {
        // Mortor esquerda parado 
        digitalWrite(3, LOW);
        digitalWrite(4, LOW);
        analogWrite (pwn_esq, 0);
             
        // Motor direita parado
        digitalWrite(7, LOW);
        digitalWrite(8, LOW);
        analogWrite (pwn_dir, 0);
        }
     
      else
        if ((inString[0] == 1 + 0x30) && (inString[1] == 0 + 0x30))
          {
           // Mortor esquerda frente 
          digitalWrite(3, LOW);
          digitalWrite(4, HIGH);
          analogWrite (pwn_esq, 255);
             
          // Motor direita frente
          digitalWrite(7, LOW);
          digitalWrite(8, HIGH);
          analogWrite (pwn_dir, 255);
          }     
       
        else
          if ((inString[0] == 2 + 0x30) && (inString[1] == 0 + 0x30))
            {
            // Mortor esquerda tras 
            digitalWrite(3, HIGH);
            digitalWrite(4, LOW);
            analogWrite (pwn_esq, 255);
             
            // Motor direita tras
            digitalWrite(7, HIGH);
            digitalWrite(8, LOW);
            analogWrite (pwn_dir, 255);
            }
               
          else
            if ((inString[0] == 0 + 0x30) && (inString[1] == 1 + 0x30))
              {
              // Mortor esquerda tras 
              digitalWrite(3, HIGH);
              digitalWrite(4, LOW);
              analogWrite (pwn_esq, 255);
             
              // Motor direita frente
              digitalWrite(7, LOW);
              digitalWrite(8, HIGH);
              analogWrite (pwn_dir, 255);
              }
           
            else
              if ((inString[0] == 1 + 0x30) && (inString[1] == 1 + 0x30))
                {
                // Mortor esquerda parado 
                digitalWrite(3, LOW);
                digitalWrite(4, LOW);
                analogWrite (pwn_esq, 0);
                             
                // Motor direita frente
                digitalWrite(7, LOW);
                digitalWrite(8, HIGH);
                analogWrite (pwn_dir, 255);
                }
             
              else
                if ((inString[0] == 2 + 0x30) && (inString[1] == 1 + 0x30))
                  {
                  // Mortor esquerda parado 
                  digitalWrite(3, LOW);
                  digitalWrite(4, LOW);
                  analogWrite (pwn_esq, 0); 
                 
                  // Motor direita tras
                  digitalWrite(7, HIGH);
                  digitalWrite(8, LOW);
                  analogWrite (pwn_dir, 255);
                  }
               
                else
                  if ((inString[0] == 0 + 0x30) && (inString[1] == 2 + 0x30))
                    {
                    // Mortor esquerda frente 
                    digitalWrite(3, LOW);
                    digitalWrite(4, HIGH);
                    analogWrite (pwn_esq, 255);
                               
                    // Motor direita tras
                    digitalWrite (7, HIGH);
                    digitalWrite(8, LOW);
                    analogWrite (pwn_dir, 255);
                    }
                 
                  else
                    if ((inString[0] == 1 + 0x30) && (inString[1] == 2 + 0x30))
                      {
                      // Mortor esquerda frente 
                      digitalWrite(3,LOW);
                      digitalWrite(4,HIGH);
                      analogWrite (pwn_esq, 255);
                               
                      // Motor direita parado
                      digitalWrite(7,LOW);
                      digitalWrite(8,LOW);
                      analogWrite (pwn_dir, 0);
                     
                      }
                   
                    else
                      if ((inString[0] == 2 + 0x30) && (inString[1] == 2 + 0x30))
                        {
                        // Mortor esquerda tras 
                        digitalWrite(3,HIGH);
                        digitalWrite(4,LOW);
                        analogWrite (pwn_esq, 255);
                               
                        // Motor direita parado
                        digitalWrite(7,LOW);
                        digitalWrite(8,LOW);
                        analogWrite (pwn_dir, 0);
                     
                        }
      }               
                   
        // luz
       
        if((inString[3] == 1 + 0x30) || ((inString[2] == 0 + 0x30) && (i == 1)) && (a == 1))
          {
          digitalWrite(luz, HIGH);
          i = 1;
          a = 1;
          }
         
          else
            if ((inString[2] == 1 + 0x30) || ((inString[3] == 0 + 0x30) && (i == 0) && (a == 0)))
              {
              digitalWrite(luz, LOW); 
              i = 0;
              a = 0;
              }
         
     
     
      }
  }
}
     

eu ja fiz uns testes e ja consigo enviar os dados para o xbee com o cabo usb e ja consigo cotrolar os motores conforme a posiçao do joystick do comando

cump.
ze pedro

Offline microbyte

  • Mini Robot
  • *
  • Mensagens: 1.322
    • http://ricardo-dias.com/
Re: PAP - SONDA MOVEL
« Responder #70 em: 09 de Junho de 2010, 12:56 »
Está fixe...
A ideia de ter algum feedback do carro também não me escapou... O que escapou na altura foi o tempo.  ;D

Força com isso, quero ver alguns vídeos no fim.

Offline _ze_pedro_

  • Mini Robot
  • *
  • Mensagens: 107
Re: PAP - SONDA MOVEL
« Responder #71 em: 09 de Junho de 2010, 13:00 »
pois eu queria por uma camara tambem no carro mas ainda estou a procura de soluçoes baratas e simples porque tambem ja nao tenho muito tempo

eu assim que puder vou pondo fotos e filmes ;)

Offline _ze_pedro_

  • Mini Robot
  • *
  • Mensagens: 107
Re: PAP - SONDA MOVEL
« Responder #72 em: 09 de Junho de 2010, 23:19 »
ja tenho os xbee :D



Uploaded with ImageShack.us

agora so ja falta o xbee explore usb e a shield para o arduino

« Última modificação: 09 de Junho de 2010, 23:21 por _ze_pedro_ »

Offline _ze_pedro_

  • Mini Robot
  • *
  • Mensagens: 107
Re: PAP - SONDA MOVEL
« Responder #73 em: 10 de Junho de 2010, 11:10 »
mais uma foto :D



Uploaded with ImageShack.us

agora tou a testar o lm35
« Última modificação: 10 de Junho de 2010, 11:12 por _ze_pedro_ »

Offline _ze_pedro_

  • Mini Robot
  • *
  • Mensagens: 107
Re: PAP - SONDA MOVEL
« Responder #74 em: 10 de Junho de 2010, 16:17 »
boas pessoal

estou a tentar escrever o valor do sensor no python mas nao estou a conseguir

alguem me pode ajudar??

no arduino tenho este programa

Citar
tempC = analogRead(tempPin);           //read the value from the sensor
  tempC = (5.0 * tempC * 100.0)/1024.0;  //convert the analog data to temperature
  //Serial.print(byte(tempC));
  Serial.print((byte)tempC);             //send the data to the computer
  delay(500);

isto è so a parte para enviar falta o resto do programa todo

mas è so para perceberem
no python eu quero ler esse valor e escreve.lo

alguem me pode ajudar?

ja estive a tentar mas nao consigo

o programa do python é o que esta em cima

obrigado

cump.
ze pedro