|
|
| Linha 12: |
Linha 12: |
|
| |
|
| = Código = | | = Código = |
| <syntaxhighlight lang="python3">
| | // define LED_PIN 13 |
| Arquivo = "lista_contatos.txt" # Nome do arquivo
| | int LED_PIN = 13; |
|
| |
|
| def ler_arquivo(): # Função que le o arquivo de texto
| | void setup () { |
| try: # Tratamento de erro | | pinMode (LED_PIN, OUTPUT); // habilita o pino 13 para saída digital (OUTPUT). |
| arq = open(Arquivo,"r+") # Abre o arquivo para leitura
| | } |
| print( '\n'+arq.read() ) # Quebra linha e mostra o conteudo
| |
| arq.close() # Fecha o arquivo
| |
| except IOError: # Tratamento de erro
| |
| print('\nArquivo não encontrado!')
| |
|
| |
|
| def escrever_linhas(texto): # Função que le e escreve no arquivo
| | void loop () { |
| try: # Tratamento de erro | | digitalWrite (LED_PIN, HIGH); // liga o LED. |
| arq = open(Arquivo,"a+") # Abre o arquivo para gravação no final do arquivo
| | delay (1000); // espera 1 segundo (1000 milissegundos). |
| arq.writelines('\n'+texto) # Escreve no arquivo o parametro 'texto'
| | digitalWrite (LED_PIN, LOW); // desliga o LED. |
| arq.close() # Fecha o arquivo
| | delay (1000); // espera 1 segundo. |
| print('\nLinha gravada com sucesso')
| | } |
| except IOError: # Tratamento de erro | |
| print('\nErro ao abrir o arquivo!') # Mostra na tela uma mensagem de erro
| |
|
| |
|
| def pesquisar_contato(nome):
| |
| try:
| |
| arq = open(Arquivo, "r+")
| |
| dicionario = {'nome':'', 'telefone':'', 'email':''}
| |
| achei = False
| |
| # lógica ler arquivo e comparar nome
| |
| for cont, s in enumerate(arq.readlines()):
| |
|
| |
| dicionario['nome'], dicionario['telefone'],dicionario['email'] = s.split(' - ')
| |
| if dicionario['nome'] == nome:
| |
| print(cont)
| |
| print('Nome: %s'% dicionario['nome'])
| |
| print('Telefone: %s'% dicionario['telefone'])
| |
| print('Email: %s'% dicionario['email'])
| |
| achei = True
| |
|
| |
| if not achei:
| |
| print('Não existe %s' % (nome))
| |
|
| |
|
| |
| # se achou imprime, se não mostra uma mensagem de nao encontrado
| |
|
| |
| arq.close
| |
|
| |
| except IOError:
| |
| print('\nContato não encontrado')
| |
|
| |
|
| |
| def excluir_contatos():
| |
| try:
| |
| arq =open('lista_contatos.txt','r+')
| |
| valores = arq.readlines()
| |
| l = []
| |
| splited =[]
| |
| nome = input('Entre com um nome:')
| |
| for x in valores:
| |
| splited=x.split(' - ')
| |
| if splited[0]==nome:
| |
| pass
| |
| else:
| |
| l.append(splited)
| |
|
| |
| arq.close()
| |
| novo_cadastro(l)
| |
| except:
| |
| print('erro')
| |
| def novo_cadastro(l):
| |
| arq = open(Arquivo,'w')
| |
| for x in l:
| |
| #print("Nome:%s | Telefone:%s | Email:%s"%(x[0],x[1],x[2]))
| |
| arq.write("%s - %s - %s" %(x[0],x[1],x[2]))
| |
| arq.close()
| |
|
| |
| while(True):
| |
|
| |
| print('\n Opcões:')
| |
| print(' ')
| |
| print('1 - Cadastrar contato')
| |
| print('2 - Listar dados')
| |
| print('3 - Pesquisar contato')
| |
| print('4 - Excluir contato')
| |
| print('9 - Sair')
| |
| print(' ')
| |
| Op = int(input('Digite a opção desejada:')) # Entrada da opcao pelo teclado
| |
|
| |
| if Op == 1: # Se a opcao for 1
| |
| nome = input('\nDigite o nome do contato:') # Entrada do nome pelo teclado
| |
| fone = input('Digite o número do telefone:')# Entrada do telefone pelo teclado
| |
| email = input('Digite o email:') # Entrada do telefone pelo teclado
| |
| contato = (nome+' - '+fone+' - '+email) # Recebe o nome + o telefone
| |
| escrever_linhas(str(contato)) # Chama a função que grava em arquivo
| |
| elif Op == 2: # Se a opcao for 2
| |
| ler_arquivo() # Chama a função que le o arquivo
| |
| elif Op == 9: # Se a opcao for 0
| |
| break # Quebra o laço infinito
| |
| elif Op == 3:
| |
| nome = input("Digite o nome: ")
| |
| pesquisar_contato(nome)
| |
| elif Op == 4:
| |
| #nome = input ("Digite o nome: ")
| |
| excluir_contatos()
| |
| </syntaxhighlight>
| |
| Dar um exemplo de um código-fonte que mostre alguma parte da aplicação final. O código deverá ser curto mas que o leitor consiga enxergar para que serve. Pode-se usar comentários no programa.
| |
| <br> | | <br> |
|
| |
|
Conceito
Programação na robótica é utilizada nos comandos e instruções que o protótipo escolhido deve executar. São comandos realizados através das linguagens de programação, que permite a criação das funções. As funcionalidades são guardadas em microcontroladores (circuitos integrado que são programáveis, ou seja, a programação do protótipo é armazenada na memória do microcontrolador), que basicamente é utilizada na entrada (computador) , a programação (memória) e a saída (comando).
Softwares
Microsoft Robotics Studio, é um software criado pela Microsoft,utilizado para simular e controlar robôs. Permite interagir com os robôs mediante de interfaces baseada em web ou pelo próprio Windows. A comunicação está baseada em mensagens, permitindo a comunicação entre módulos. É utilizada em protótipos com sensores. Permite as linguagens IronPhyton, Visual C# , Visual Basic e Microsoft Visual Studio Express.
Arduino IDE é uma aplicação que introduz a programacao a pessoa não familiarização com a parte de desenvolvimento de software. Carrega e compila para a placa de forma rápida. Aceita a linguagem c, c++. Definindo apenas apenas a entrada e saída.
Código
// define LED_PIN 13
int LED_PIN = 13;
void setup () {
pinMode (LED_PIN, OUTPUT); // habilita o pino 13 para saída digital (OUTPUT).
}
void loop () {
digitalWrite (LED_PIN, HIGH); // liga o LED.
delay (1000); // espera 1 segundo (1000 milissegundos).
digitalWrite (LED_PIN, LOW); // desliga o LED.
delay (1000); // espera 1 segundo.
}
Diagrama de Casos de Uso
Desenhar ou plotar os requisitos funcionais de uma aplicação.
Interações com as tecnologias
Incluir links (internos ou externos) temas que tem relação com este, explicando detalhes sobre. Limite de 3 internos e 2 externos.
Descrever detalhes a mais sobre esse tema.
Referências bibliográficas
Relacionar aqui as referências bibliográficas no padrão ABNT.
Bases de procura: Artigos, publicações acadêmicas, revistas e sites de fornecedores