Post on 18-Dec-2014
description
Arduino e Python
Um esforcinho vale a pena...
Senta que lá vem a História
• Onde ?• Quando ?• Quem ?
Ferramenta Educativa
• Barato• Simples • Fácil
Só diversão...
O que é?
Micro o quê?
µProcessador x µControlador
Atmega328• Input voltage - 7-12V• 14 Digital I/O Pins (6 PWM outputs)• 6 Analog Inputs• 32k Flash Memory• 16Mhz Clock Speed
Pinos Digitais e Analógicos
Pinos Digitais e Analógicos
• Mostrar exemplos de utilização dos pinos na prática
Cadê o Python???
Comunicação Serial C x Python• // inicia e configura porta serial para envio de dados
int iniciaSerial(){ char *NomePorta = "COM2"; //COM1, COM2...COM9 ou portas virtuais "\\.\COMx".
hSerial = CreateFile(NomePorta, //Nome da porta. GENERIC_READ|GENERIC_WRITE, //Para leitura e escrita. 0, //(Zero) Nenhuma outra abertura será permitida. NULL, //Atributos de segurança. (NULL) padrão. OPEN_EXISTING, //Criação ou abertura. 0, //Entrada e saída sem overlapped. NULL //Atributos e Flags. Deve ser NULL para COM. );
if(hSerial == INVALID_HANDLE_VALUE) return false; //Erro ao tentar abrir a porta especificada.
DCB dcb; //Estrutura DCB é utilizada para definir todos os parâmetros da comunicação.
if( !GetCommState(hSerial, &dcb)) return false; //// Erro na leitura de DCB.
dcb.BaudRate = CBR_1200; dcb.ByteSize = 8; dcb.Parity = NOPARITY; dcb.StopBits = ONESTOPBIT;
/* alternativa para mudar os parametros da serial BuildCommDCB("1200,N,8,1", &dcb); //Atribui os valores a estrutura dcb.*/
//Define novo estado. if( SetCommState(hSerial, &dcb) == 0 ) return false; //Erro.
•BLÁ BLÁ BLÁAA
Agora em Python!!
Agora em Python [2]
import serialSer = serial.Serial(‘COM1’,9600)Ser.write(‘1’)Ser.read()Ser.readline()
Bibliotecas!
Projetos Atuais
• Automação Residencial• Semáforo para Coding Dojo• Robozinho Sentimental• Robô controlado por Web Service• Robô controlado por Wii Nunchuck
Obrigado!
Email : victor.case@hotmail.com
Twitter : @casevictor
Site Oficial :www.arduino.cc