Prévia do material em texto
FUNDAÇÃO EDUCACIONAL DE MONTES CLAROS FACULDADE DE CIÊNCIA E TECNOLOGIA DE MONTES CLAROS DEPARTAMENTO DE ENGENHARIA DE COMPUTAÇÃO CURSO DE ENGENHARIA DE COMPUTAÇÃO TÓPICOS ESPECIAIS I – SISTEMAS EMBARCADOS AULA PRÁTICA No. 2 PROGRAMAÇÃO NA PLATAFORMA BEAGLEBONE EM AMBIENTE LINUX Edivan Santos da Silveira Elton Gomes dos Santos Junior Luiz Fernando Silva Gonçalves João Vitor da Silva Gonçalves Engenharia de Computação 9o. Período. MONTES CLAROS, 02 DE JUNHO DE 2019 FUNDAÇÃO EDUCACIONAL DE MONTES CLAROS FACULDADE DE CIÊNCIA E TECNOLOGIA DE MONTES CLAROS DEPARTAMENTO DE ENGENHARIA DE COMPUTAÇÃO CURSO DE ENGENHARIA DE COMPUTAÇÃO 2 1 - INTRODUÇÃO Para estar pratica o professo passou todo material referente sobre a placa Beaglebone Black, a pratica tem como objetivo aprender e implementa software para a plataforma Beaglebone em ambiente Linux utilizando a linguagem C/C++, para acesso as entradas e saídas digitais e entradas logicas. E tem como objetivos a serem alcançados, controlar um motor servo, assim o controlador deverá fornecer uma largura aproximada de 1ms a 3ms. 2 – DESENVOLVIMENTO Para iniciar a pratica foi utilizado os seguintes equipamentos e software, PC, placa Beaglebone, componentes, protoboard e IDE CLoud9. Foram realizados os seguintes passos para a realização da pratica, foram realizados os exemplos descritos na pratica, que foram utilizados como exemplo. Foi montado o circuito que utiliza uma I/O digital para a leitura de um botão e uma I/O para acionamento de uma led. Após foi feita a excursão do aplicativo PUTTY e assim configurado com as devidas conexões e efetuado login no sistema operacional da placa com o usuário passado e assim foi criado uma pasta para armazena os arquivos da pratica. Para realiza o projeto foi projetado um circuito para controla o servo motor opôs isso foi feito a implementação do código em C/C++ na placa, segue abaixo o código utilizado para conclusão da pratica. #include <iostream> #include <unistd.h> #include <fstream> #include <sstream> #define LDR_PATH "/sys/bus/iio/devices/iio:device0/in_voltage" #define AIN0 0 // entrada analógica #include "GPIO.h" using namespace std; int readAnalog(int number); // função para conversão AD GPIO outGPIO(67); // saída digital int main() FUNDAÇÃO EDUCACIONAL DE MONTES CLAROS FACULDADE DE CIÊNCIA E TECNOLOGIA DE MONTES CLAROS DEPARTAMENTO DE ENGENHARIA DE COMPUTAÇÃO CURSO DE ENGENHARIA DE COMPUTAÇÃO 3 { // configura a saída digital outGPIO.setDirection(OUTPUT); cout<<"teste"; // iniciando leitura pot int data; float Vout, X, Pl, Ph; while(true){ outGPIO.setValue(HIGH); } for(;;) { data = readAnalog(AIN0); // lê a entrada analógica Vout = (data * 1.8) / 4095; // converte o valor digital para tensão X = Vout / 1.8; Pl = 3000 * X; Ph = 3000 * (1-X); //cout << "PL: " << Pl << endl; //cout << "PH: " << Ph << endl; outGPIO.setValue(HIGH); usleep((int)Ph); outGPIO.setValue(LOW); usleep((int)Pl); } return 0; } int readAnalog(int number) { stringstream ss; ss << LDR_PATH << number << "_raw"; fstream fs; fs.open(ss.str().c_str(), fstream::in); fs >> number; fs.close(); return number; } FUNDAÇÃO EDUCACIONAL DE MONTES CLAROS FACULDADE DE CIÊNCIA E TECNOLOGIA DE MONTES CLAROS DEPARTAMENTO DE ENGENHARIA DE COMPUTAÇÃO CURSO DE ENGENHARIA DE COMPUTAÇÃO 4 3 - CONCLUSÃO Com a realização do projeto tivemos um ótimo aprendizado com a utilização de placa Beaglebone Black. Sendo que na montagem do circuito colocou- se em pratica conhecimentos adquiridos durante aulas práticas de laboratório. A placa Beaglebone Black e uma importante ferramenta para aprendizado, pois facilita o acesso a vários tipos de funcionalidade na criação de projetos o que ajuda muito na didática e conhecimento sobre sistemas embarcados. E importante ressaltar o trabalho em equipe dos integrantes para agilização da conclusão do projeto que foi feita da melhor forma possível alcançando todos os objetivos pretendidos 4 - BIBLIOGRAFIA http://beaglebord.org/bone