Resultados da busca - %E6%9D%8F%E5%BD%A9%E5%A8%B1%E4%B9%90%E4%BB%A3%E7%90%86%E5%A5%96%E9%87%91%E6%A8%A1%E5%BC%8F%E3%80%90%E2%94%83%E5%A5%BD%E8%AE%A1%E5%88%924641%E2%92%8D%E2%92%8F5%7B%EF%BC%B1%E3%80%91%E3%80%91
o na horizontal.
Nao postei o esquema, pq basicamente ele consiste em um potenciometro e um giroscipo nas portas analogicas e em 4 pinos PWM, cada um deles ligado a uma ESC de controle do motor.
Peco desculpas pelos erros de acentuacao pois estou escrevendo em um teclado USA.
CODE:
#include <Servo.h> int val; //leitura de potenciometroint rot; //valor convertido do valint rot1; //rotacao servo1int rot2; //rotacao servo2int rot3; //rotacao servo3int rot4; //rotacao servo4int pot = A0; //potenciometroServo myservo1; //servo 1Servo myservo2; //servo 2Servo myservo3; //servo 3Servo myservo4; //servo 4const int xpin = A2; //pino giroscopio x const int ypin = A3; //pino giroscopio y const int zpin = A4;int eixox; //leitura eixo xint eixoy; //leitura eixo yint incx; //teste eixo xint incy; //teste eixo yint incxl = 500; //valor de eixo x alinhadoint incyl = 500; //valor de eixo y alinhadovoid setup() { //declaracao dos servos myservo1.attach(10); myservo2.attach(5); myservo3.attach(6); myservo4.attach(9); }void loop(){ val = analogRead(pot); //leitura do potenciometro rot = map(val, 0, 1023, 0, 180); //converter range do pot 0a 1023 para escrita nos servos 0 180 eixox = analogRead(xpin); //leitura eixo x eixoy = analogRead(ypin); //leitura eixo y // giroscopio marca valores de 400 a 600 sendo 400 a inclinacao 90graus a esquerda //e 600 inclinacao de 90graus para direita if (eixox > incxl){ //teste se inclinacao x esta para direita incx = eixox - incxl; //calculo para isolar apenas o valor em modulo da inclinacao rot2 = rot + incx; //correcao da rotacao para compecao inclinacao rot4 = rot - incx; //correcao da rotacao para compecao inclinacao } if (eixox < incxl){ //teste para inclinacao x para esquerda incx = incxl - eixox; incx = incx / 2; rot2 = rot - incx; rot4 = rot + incx; } if (eixoy > incyl){ //teste para inclinacao y para direita incy = eixoy - incyl; rot1 = rot + incy; rot3 = rot - incy; } if (eixoy < incyl){ //teste para inclinacao y para esquerda incy = incyl - eixoy; incy = incy / 2; rot1 = rot - incy; rot3 = rot + incy; } //cada esc responde um pouco diferente para o comando //abaixo esta a correcao de cada esc rot1 = rot1; rot2 = rot2 + 1; rot3 = rot3 + 7; rot4 = rot4 + 7; //se valor de rot menor de 50 //que e' o valor minimo para os motores comecarem a girar, //todas as rotacoes sao zeradas, para nao ter nenhuma girando //gracas ao posivel incremento da inclinacao if (rot < 50){ rot1 = 0; rot2 = 0; rot3 = 0; rot4 = 0; }//escrita dos valores nos motores myservo1.write(rot1); delay(15); myservo2.write(rot2); delay(15); myservo3.write(rot3); delay(15); myservo4.write(rot4); delay(15);}…
Adicionado por Rogério Zonta ao 20:28 em 2 fevereiro 2012
sair caçando no google, wikis e datasheets estudando a estrutura e especificações de cada development kit, porque se for comprando e ir testando primeiro haja dinheiro e segundo o tempo que se perde, e sobre o SPI que comentou deve se tomar cuidado dependendo do mcu ou o kit sobre a relação clock SPI e do mcu as vezes faz grande diferença a configuração correta, como é o caso da família MSP430 da Texas.
Concordo com o Jose Gustavo sobre os níveis de 3.3V e 5V isso não é problema para nenhum projeto, pois podemos trabalhar com um dos dois casos como podemos ter que adaptar para trabalhar com os dois, então isso não seria motivo de diferenciar Raspberry PI de outra board.
Sobre Raspberry PI e BeagleBone Black eu possuo as duas então posso dar uma humilde opinião hehe, em termos de processamento de imagens a Raspberry PI vai sair na frente da BBB, devido ao poder de sua GPU, não sei se o OpenCV foi um exemplo claro para o processador CPU, pois ele utiliza bastante se não só recursos de GPU em processamentos de frame para acelerar, mas em termos de processamento do ARM CPU BeagleBone Black sai na frente, se você for quebrar uma senha com johnTheRipper em ambos o BBB é mais barrudão.
Umas das vantagens do BBB sobre o Raspberry PI possui um eMMC além do uSD, com isso você pode implementar outros file systems que fica limitado usando o SD Card igual do Raspberry PI, além do bootloader U-Boot que você terá mais liberdade.
Vi uma resposta sobre a flash onboard eMMC ser mais rápida e confiável que o SD Card, eu diria que sim e não, em termos técnicos é mais rápido claro!, porém confiavel depende do que foi e como foi implementado, o que seria mais confiável um file system squashfs read-only (somente-leitura), um tmpfs para os logs em um SD Card Class10 aqueles tipo Kingston Ultimate que por sinal o chip interno já implementa um MTD, ou o projeto que implementa um ext2 na eMMC que até os logs do sistema ficam na ext2? Isso foi só para mostrar que você tem a ferramenta mas tem que saber usar, e sendo mal usado irá causar desgastes e tornar a flash inutilizável em questão de tempo.
Hoje material tem bastante para os dois, porém projetos generalizados vimos mais para o Raspberry PI, porém vejo uma certa tendencia de projetos sérios para Beaglebone Black como o Yocto project e a parte de portar Android para o BBB, e o Raspberry PI não sendo tão desejado por eles, não que não seja possivel fazer isso, claro que é.
Espero ter contribuído para a discussão e crescimento de opiniões.
…
1 display de 0 a 9 com botões de acelera e desacelera com saída PWM. Agora farei durante a semana até o 99 na MÃO GRANDE.
Sei que deve haver alguma coisa do tipo. Olha memória se for 25 o valor da PWM você mostrará o numero 10 no display, ou melhor aquela equação 100/255.
Valeu até a proxima
int motorPin = 3; // Motor conectados ao pino 3int incPin = 4; // Pushbotton para ascelerar conectado no pino 4int decPin = 5; // Pushbotton para desascelerar conectado no pino 5int val = 0; // Valor 0 para motorint incButton = LOW; // valor zerado no push de ascelerarint decButton = LOW; // valor zarado no push de desascelerarint displayA = 6; // segmentoA conectado no pino 6int displayB = 7; // segmentoB conectado no pino 7int displayC = 8; // segmentoC conectado no pino 8int displayD = 10; // segmentoD conectado no pino 10int displayE = 11; // segmentoE conectado no pino 11int displayF = 12; // segmentoF conectado no pino 12int displayG = 13; // segmentoG conectado no pino 13
void setup(){pinMode(incPin, INPUT); // Pino de acelerar setado como entradapinMode(decPin, INPUT); // Pino de desascelerar setado como entradapinMode(motorPin, OUTPUT); // Motor setado como sáidaanalogWrite(motorPin, 0); // Valor zerado no motor
Serial.begin(9600); // Valor do serial para transferencia de dados
pinMode(6, OUTPUT); // Pino 6 será tipo saída de dados pinMode(7, OUTPUT); // Pino 7 será tipo saída de dadospinMode(8, OUTPUT); // Pino 8 será tipo saída de dadospinMode(10, OUTPUT); // Pino 10 será tipo saída de dadospinMode(11, OUTPUT); // Pino 11 será tipo saída de dadospinMode(12, OUTPUT); // Pino 12 será tipo saída de dados pinMode(13, OUTPUT); // Pino 13 será tipo saída de dados}//Programa começa aquivoid loop(){incButton = digitalRead(incPin);decButton = digitalRead(decPin);if (incButton == HIGH){if(val==255)val=255;else val++;}if(val>=0){ digitalWrite(displayA, LOW); //Seguencia do numero 0 digitalWrite(displayB, LOW); digitalWrite(displayC, LOW); digitalWrite(displayD, LOW); digitalWrite(displayE, LOW); digitalWrite(displayF, LOW); digitalWrite(displayG, HIGH); } if(val>=3){ //se valor for menor ou igual que -1 digitalWrite(displayA, HIGH); //Seguencia do numero 1 digitalWrite(displayB, LOW); digitalWrite(displayC, LOW); digitalWrite(displayD, HIGH); digitalWrite(displayE, HIGH); digitalWrite(displayF, HIGH); digitalWrite(displayG, HIGH); } if(val>=28){ digitalWrite(displayA, LOW); //Seguencia do numero 2 digitalWrite(displayB, LOW); digitalWrite(displayC, HIGH); digitalWrite(displayD, LOW); digitalWrite(displayE, LOW); digitalWrite(displayF, HIGH); digitalWrite(displayG, LOW); } if(val>=56){ digitalWrite(displayA, LOW); //Seguencia do numero 3 digitalWrite(displayB, LOW); digitalWrite(displayC, LOW); digitalWrite(displayD, LOW); digitalWrite(displayE, HIGH); digitalWrite(displayF, HIGH); digitalWrite(displayG, LOW); }
if(val>=94){ digitalWrite(displayA, HIGH); //Seguencia do numero 4 digitalWrite(displayB, LOW); digitalWrite(displayC, LOW); digitalWrite(displayD, HIGH); digitalWrite(displayE, HIGH); digitalWrite(displayF, LOW); digitalWrite(displayG, LOW); }if(val>=128){ digitalWrite(displayA, LOW); //Seguencia do numero 5 digitalWrite(displayB, HIGH); digitalWrite(displayC, LOW); digitalWrite(displayD, LOW); digitalWrite(displayE, HIGH); digitalWrite(displayF, LOW); digitalWrite(displayG, LOW); }if(val>=156){ digitalWrite(displayA, HIGH); //Seguencia do numero 6 digitalWrite(displayB, HIGH); digitalWrite(displayC, LOW); digitalWrite(displayD, LOW); digitalWrite(displayE, LOW); digitalWrite(displayF, LOW); digitalWrite(displayG, LOW); }if(val>=184){ digitalWrite(displayA, LOW); //Seguencia do numero 7 digitalWrite(displayB, LOW); digitalWrite(displayC, LOW); digitalWrite(displayD, HIGH); digitalWrite(displayE, HIGH); digitalWrite(displayF, HIGH); digitalWrite(displayG, HIGH); }if(val>=214){ digitalWrite(displayA, LOW); //Seguencia do numero 8 digitalWrite(displayB, LOW); digitalWrite(displayC, LOW); digitalWrite(displayD, LOW); digitalWrite(displayE, LOW); digitalWrite(displayF, LOW); digitalWrite(displayG, LOW); }if(val>=232){ digitalWrite(displayA, LOW); //Seguencia do numero 9 digitalWrite(displayB, LOW); digitalWrite(displayC, LOW); digitalWrite(displayD, HIGH); digitalWrite(displayE, HIGH); digitalWrite(displayF, LOW); digitalWrite(displayG, LOW); }if(decButton == HIGH){ if(val==0)val=0;else val=val-1;}Serial.println(val);delay(120);analogWrite(motorPin, val);}…
er o app inventor diretamente no meu skydrive pelo link:
https://skydrive.live.com/redir?resid=565E1C14D3185492!422
qualquer problema com o download me envie um email.
Iniciando a configuração do java
Primeiro passo é configurar as variáveis de ambiente do java, caso ja tenha configurado pule essa parte e vá direto para:
Configurando java para abrir o editor de blocos de forma local
Para declarar as variáveis de ambiente, vá em propriedades do meu computador:
Clique em configurações avançadas do sistema:
Clique em variáveis de ambiente:
Crie uma variável do sistema com o nome JAVA_VERSION e aponte para o local onde está instalado sua jre geralmente em:
C:\Program Files\Java\jre7
Clique em ok.
Agora clique na variavel patch e vá em editar
Procure o fim do campo “Valor da variável” e adicione “;” (sem aspas) + o local onde está o bin do java, geralmente em:
C:\Program Files\Java\jre7\bin
Reinicie o computador e verifique se o java está ok usando o seguinte comando no prompt de comando:
Se estiver tudo certo vai aparecer a mensagem acima.
Configurando java para abrir o editor de blocos de forma local
Vá em painel de controle e depois em programas e recursos, selecione o java.
Cilque em definições e desmarque a opção:
Manter os arquivos temporarios no meu computador
Após clique em :
Deletar arquivos
Confirme que vai apagar tudo e clique em ok para sair.
Iniciando a configuração do App Inventor
Após baixar o App Inventor.zip coloque o mesmo dentro do disco local c: e extraia para o mesmo local.
Você vai observar que possui três pastas dentro de app inventor.
Entre na pasta AppEngine e execulte o arquivo “startAl.bat” como administrador.
Vai abrir uma tela do prompt de comando com um carregamento, aguarde até aparecer a seguinte mensagem:
INFO: the admin console is running at http://localhost:8888/_ah/admin
Se deu tudo certo volte na pasta do app inventor e entre na pasta BuildServer e inicie no modo administrador o arquivo launc-buildserver. Lembre se de escolher de acordo com seu sistema:
launc-buildserver = para computadores de 64 bits
launc-buildserver32 = para computadores de 32 bits
Vai abrir uma tela do prompt de comando com um carregamento, aguarde até aparecer a seguinte mensagem:
INFO: Server running
Caso isso não aconteça e o prompt de comando fechar, feche o servidor iniciando anteriormente e reinicie o computador e quando voltar já vai estar ok.
Tudo junto deve estar assim:
O arquivo startAl é responsável por iniciar o servidor do app inventor.
O arquivo launc-buildserver ou launc-buildserver32 é resposnsável por gerar o nosso apk.
Agora vá no seu navegador, de preferencia:
Mozila firefox
Google chrome
E digite:
localhost:8888
Coloque seu email do gmail e marque a opção Sign as Administrator, clique em login.
O app inventor vai ser iniciado:
Crie um projeto de teste para confirmar seu funcionamento corretamente:
OBS.
Se ao abrir o app inventor não aparecer nenhuma imagen e nem a tela de login (ou seja, a tela ficar toda branca) faça o seguinte:
Limpe o cache do seu navegador
Clique em “limpar agora” e pronto:
Volte para o browser e atualize a página.
Espero que tenham gostado, qlq dúvida estou disponível para contato em:
Email/skype: eduardotattoo1@hotmail.com
Fone/whatsapp: (92) 9388-4004
Abraço a todos !!…
Adicionado por Eduardo Silva ao 8:06 em 7 agosto 2013
e ferir, ou morrer, ou ainda acabar ferindo ou matando quem estiver por perto.
Eu tenho certeza que se tratando de instrumentação, infelizmente não são "tudo a mesma coisa" antes fosse assim para que tudo pudesse ser mais barato, e seguro. Mas precisamos largar mão do "saudosismo" e romper "velhos paradigmas" e sermos pragmáticos para ver o que temos a disposição no mercado de hoje.
Os multímetros analógicos pararam no tempo no que se refere ao desenvolvimento, e estão na idade da pedra lascada em termos de proteção, tanto no que se refere à proteção do circuito interno do instrumento, e principalmente no que se refere a proteção ao usuário, que deveria ser o quesito mais importante.
Vamos excluir nesta conversa os multímetros Xing-Ling de "deizzz real" vendidos nos camelôs ou depósitos de construção, que na pior das hipóteses tem a mesma durabilidade e segurança para o usuário que a oferecida pelos aparelhos analógicos da mesma "procedência"...
Vamos comparar um multímetro analógico de boa procedência, com o modelo digital vendido aqui na loja do LDG. Eu recomendo a compra desse modelo que consegue atender as necessidades dos garagistas resistindo as inevitáveis "ratadas" inerentes ao processo de aprendizagem dos colegas iniciantes com toda a segurança por um preço muito baixo.
Poucos são os instrumentos analógicos que possuem uma certificação de segurança CAT I, CAT II, CAT III ou CAT IV conforme determinado na norma de segurança NR10. O modelo vendido aqui no LDG é categoria CAT I para 1000V, e aqui eu abro um parênteses para incluir o link de um artigo que vem explicar esse assunto de segurança em instrumentos de medição que infelizmente ainda é pouco conhecido até mesmo entre os profissionais da área técnica, o que dizer então em relação aos hobbystas...
ABC de segurança dos Multímetros
Me diga qual o instrumento analógico que tem proteção contra inversão de polaridade? Ou que tenha a função de escala automática para tensões contínuas ou alternadas? Acredito que nenhum, e o modelo digital vendido aqui não tem escala automática. Mas aguenta sobretensões de até 1000VCC ou 750VCA para as escalas de tensões contínua e alternada, e se não me engano dispara um alarme sonoro.
Qual é o instrumento analógico que tem proteção contra sobretensão de até 250Vrms (707V pico a pico!!!) para as escalas de resistência? Essa é a proteção do modelo digital comparado, e é mais que suficiente para proteger o instrumento contra os 180V que você viu no esquema da TV acima não é mesmo?
No caso dos analógicos, vai queimar o diodo de germânio de proteção, o fusível e o único alarme será a agulha batendo no final do galvanômetro...ou o som do fusível estourando...
Quando você escreve que um multímetro digital não aguenta uma descarga de um flyback, eu digo que dificilmente qualquer multímetro resistiria incólume a uma descarga direta de 20KV, seja ele digital ou analógico, nem vou discutir que para este "teste" seria preciso que o "abençoado" ligue uma ponta de prova no chassis e a outra por baixo da proteção da "chupeta" de MAT do CRT da TV, mas tudo bem, não podemos subestimar a "criatividade" de alguns "técnicos".
Aliás tem muito "técnico" e "Prof. Pardal" por ai que diz que têm um multímetro indestrutível, mas se você for olhar, caixa está toda quebrada, colada com chiclete, durepox, a agulha do mostrador está toda empenada ou arrastando... a ponta de prova é só um pedaço de fio tirado da sucata.. mas o bichinho continua ali medindo, só que e a precisão? Como ficou? Será que ainda posso confiar nesta leitura?
Neste caso, um digital mostra na hora que está problemas, ou apaga, fica congelado ou fica com números aleatórios na tela, não fica "mascarando" que está danificado.
Afinal, de que adianta um instrumento de medição em que não se pode confiar na leitura?
Antes que você pense que eu tenho algum problema em relação aos analógicos, saiba que eu possuo dois multímetros, um ICEL SK140 que eu ganhei do meu pai em 1985 e que ainda está na caixa original, nunca sequer troquei um fusível dele, e tenho um FLUKE 87 IV true rms, CAT III 1000V e CAT IV 600V.
Por todas essas razões citadas acima é que eu não concordo quando você generaliza, afirmando que um multímetro é mais resistente apenas pelo fato de ser analógico.
Abraço.…