Tag: C#

Palavra-chave
Destaque/Sem destaque
Resolvida/Não Resolvida
Aberta/Encerrada
0 votos
0 respostas
233 visualizações

Estou começando com IoT fazendo um curso de cousera e trabalhando com uma placa Dragonboard 410c com o kit de sensores da seeed e 96boards.
Estou tendo problemas na chamada do módulo upm quando é chamado dentro de um arquivo python, para trabalhar com o LCD.
O sistema responde que não consegue identificar o módulo ou o módulo é inexistente porém
quando eu faço o programa com C++ ele roda sem problema nenhum

No programa C++
incluo a biblioteca : #include “upm/jhd1313m1.hpp”
e chamo: upm::Jhd1313m1* lcd

O mesmo programa em python faço
incluo a biblioteca : import pyupm_i2clcd ou from pyupm_i2clcd import jhd1313m1.hpp
e chamo: lcd = pyupm_i2clcd,Jhd1313m1(0, 0x3e,ox62)

O módulo está instalado pois ele roda em c++ e funciona perfeitamente mas, em python ele não roda de jeito nenhum.
Será que alguém pode me ajudar a resolver este tema?

0 votos
0 respostas
447 visualizações

Pessoal, tenho um projeto que utilizará um mouse como odômetro. Baseado no site abaixo:
[url]http://www.instructables.com/id/Optical-Mouse-Odometer-for-Arduino-Robot/[/url]

O código utiliza a biblioteca PS2Mouse.h desse endereço:
[url]https://github.com/jazzycamel/PS2Mouse[/url]

Funciona tudo bem, consigo ler os dados do mouse, porém a variável me retorna um valor máximo de +-127 (8 bits), com uma velocidade de movimentação do mouse muito lenta, ou seja, está muito sensível, a variável “estoura” se movimentar um pouco mais rápido, tentei alterar as bibliotecas para 16 bits e fazer com que a leitura não “estourasse”, porém meu conhecimento limitado não me ajudou. Alguém pra me dar uma luz? Meu maior problema foi entender o código… Agradeço qualquer ajuda.

PS2Mouse.h:

[code]#ifndef PS2_H

define PS2_H

include <Arduino.h>

class PS2Mouse {
public:
PS2Mouse(int data, int clk);
void write(uint8_t data);
uint8_t read(void);

void begin(void);
void getPosition(uint8_t &stat, int &x, int &y);

private:
int _ps2clk;
int _ps2data;
void golo(int pin);
void gohi(int pin);
int twos(uint8_t value, bool sign);
};

endif // PS_2_H

[/code]

PS2Mouse.cpp:

[code]#include “PS2Mouse.h”

PS2Mouse::PS2Mouse(int clk, int data){
_ps2clk=clk;
_ps2data=data;
gohi(_ps2clk);
gohi(_ps2data);
}

void PS2Mouse::write(uint8_t data){
uint8_t parity=1;

gohi(_ps2data);
gohi(_ps2clk);
delayMicroseconds(300);
golo(_ps2clk);
delayMicroseconds(300);
golo(_ps2data);
delayMicroseconds(10);
gohi(_ps2clk);

while(digitalRead(_ps2clk)==HIGH);

for(int i=0; i<8; i++){
if(data&0x01) gohi(_ps2data);
else golo(_ps2data);
while(digitalRead(_ps2clk)==LOW);
while(digitalRead(_ps2clk)==HIGH);
parity^=(data&0x01);
data=data>>1;
}

if(parity) gohi(_ps2data);
else golo(_ps2data);

while(digitalRead(_ps2clk)==LOW);
while(digitalRead(_ps2clk)==HIGH);

gohi(_ps2data);
delayMicroseconds(50);

while(digitalRead(_ps2clk)==HIGH);
while((digitalRead(_ps2clk)==LOW)||(digitalRead(_ps2data)==LOW));

golo(_ps2clk);
}

uint8_t PS2Mouse::read(void){
uint8_t data=0, bit=1;

gohi(_ps2clk);
gohi(_ps2data);
delayMicroseconds(50);
while(digitalRead(_ps2clk)==HIGH);

delayMicroseconds(5);
while(digitalRead(_ps2clk)==LOW);

for(int i=0; i<8; i++){
while(digitalRead(_ps2clk)==HIGH);
bit=digitalRead(_ps2data);
while(digitalRead(_ps2clk)==LOW);
bitWrite(data,i,bit);
}

while(digitalRead(_ps2clk)==HIGH);
while(digitalRead(_ps2clk)==LOW);
while(digitalRead(_ps2clk)==HIGH);
while(digitalRead(_ps2clk)==LOW);

golo(_ps2clk);

return data;
}

void PS2Mouse::begin(void){
write(0xFF);
for(int i=0; i<3; i++) read();
write(0xF0);
read();
delayMicroseconds(100);
}

void PS2Mouse::getPosition(uint8_t &stat, int &x, int &y){
write(0xEB);
read();
stat=read();
uint8_t _x=read();
uint8_t _y=read();

bool negx=bitRead(stat,4);
bool negy=bitRead(stat,5);
x=twos(_x, negx);
y=twos(_y, negy);
}

void PS2Mouse::golo(int pin){
pinMode(pin, OUTPUT);
digitalWrite(pin, LOW);
}

void PS2Mouse::gohi(int pin){
pinMode(pin, INPUT);
digitalWrite(pin, HIGH);
}

const int m=0x100;
int PS2Mouse::twos(uint8_t value, bool sign){
int v=(int)value;
if(sign) v|=0xFF00;
return v;
}[/code]

0 votos
629 visualizações

Oi pessoal.
Atualmente trabalho com microcontroladores AVR e PIC e estou querendo migrar para microcontroladores ARM de 32bits. Preciso de um microcontrolador que não seja BGA, possa ser programado em C++ e de preferencia tenha boas ferramentas de depuração e análise de dados. Meus projetos não são tão complexos e quase que qualquer família me atenderia portanto estou mais preocupado com o tempo de desenvolvimento e a facilidade de aprender a usar as novas ferramentas. Gostaria de saber então o que vocês recomendariam para mim. Seria bom se me dissessem algo do tipo: uso o chip tal com a IDE tal e o depurador tal e esse conjunto facilita minha vida por causa disso, disso e disso.

Muito obrigado pela atenção.

  • Plinio88 perguntada 2 anos atrás
  • última atividade 2 anos atrás
0 votos
2k visualizações

Olá, busquei por SQLite no fórum e não apareceu resultados. Estou procurando algum framework para trabalhar com SQLite em C++ sem ter que ficar usando toda a aquela linguagem gigante pra fazer Query assim como já tratar todas as operações. Algo como o LINQ da Microsoft.

Estou começando as buscas agora e irei utilizar em uma aplicação C++ para Linux embarcado. Alguém já trabalhou com algum destes? Sabe recomendar algum? Dizer sobre algumas diferenças entre recursos, qual está mais aceito e tem mais participação da comunidade, etc?

Por enquanto encontrei alguns candidatos como:
Linq++
https://github.com/hjiang/linqxx/wiki

LiteSQL
https://github.com/kramdar/litesql

EasySQLite
https://code.google.com/p/easysqlite/

Qualquer sugestão/dica é muito bem vinda!
Obrigado!

0 votos
2k visualizações

Olá pessoal,

Preciso fazer uma aplicação que se comunique com Arduino por meio de uma interface gráfica, que envia e recebe dados. Portanto gostaria de saber qual plataforma, Java ou C#, é melhor, ou seja, tem menos problemas de sincronização e tem mais recursos.

Obrigado.

Mostrando 5 resultados