Competição de Robótica – FEMA

Projeto realizado na Fundação Educacional Machado de Assis – FEMA, através do curso técnico em informática  do qual sou coordenador e também do curso de Arduino. no qual sou professor.

Participaram do torneio 8 grupos de 4 integrantes cada, totalizando cerca de 32 pessoas. O evento ocorreu entre os dias 7 a 9 de outubro de 2014.

Para a criação dos robôs utilizamos o seguinte material:

> Kit chassi robótica. (Patrocínio da loja filipeflop)

> Ponte H.

> Sensor ultrassônico.

> Arduino Leonardo.

Todos os componentes foram adquiridos na loja filipeflop . Optamos por essa loja por ser reconhecida pelo ótimos produtos, rapidez no atendimento e preço baixo.

 

1796557_361631797346146_1034169424283920948_n

 

10172631_361631904012802_1406073033953303089_n

 

10347175_361634910679168_4086829156076568988_n

 

10675775_361631804012812_7748492682213989021_n

 

10704097_361634914012501_3350089444633079394_n

 

 

 

 

 

por ferpinheiro Postado em Arduino

Arduino, resistores variáveis e função map

Para esse tutorial vamos precisar de:

  • lápis 2B, 6B, ou outro qualquer que seja de cor forte.

  • fita crepe ou outra fita qualquer.

  • Arduino.

  • 3 Fios de conexão

  • Um pouco de escova de aço (Bombril)

  • Papel em branco

  • Régua

O objetivo desse projeto é criarmos um resistor variável parecido com um potenciômetro para entendermos o funcionamento do mesmo e o uso da função map do Arduino.

Um resistor variável tem a mesma funcionalidade de um resistor comum, ou seja, aplicar uma resistência a corrente elétrica. O que muda de um para o outro é que com o resistor variável podemos alterar a resistência em tempo real, ou seja, no circuito em funcionamento.

Já a função map serve para mapear uma faixa de valores dentro de outra. Imagine por exemplo, a seguinte situação:

Você utiliza o Arduino para ler dados de um sensor o qual retorna valores entre 568 a 1789 mas você precisa que essa faixa seja convertida entre 0 e 100. Como saber o valor exato para a faixa 0 e 100 quando o valor apresentado é igual a 915?

Através da função map podemos fazer de forma fácil isso.

Desenhe na folha de papel um retângulo com as seguintes dimensões: 8 cm x 2 cm

Agora pinte todo retângulo com o lápis. Pinte o mais forte que puder.

Utilizando a régua messe a partir das duas extremidades do retângulo o valor de 1 cm e trace um risco na vertical. Seu desenho deverá ficar dessa forma:

sdfsd17

Coloque um pouco da escova de aço (bombril) em uma das extremidades de dois fios.

Posicione os fios com a escova de aço dessa forma. Ligando um dos fios em 5v outro no GND. O terceiro fio conecte ao pino analógico A0.

asdas

Escreve, compile e execute esse código no Arduino.

void setup()
{
   Serial.begin(9600);
}
void loop()
{
   int valorSensor = analogRead(A0);
   Serial.print("Sinal analogico");
   Serial.println("valorSensor");
   delay(100);
}

Posicione o fio conectado ao pino analógico 0 em uma das extremidades do retângulo de forma que o fio fique posicionado em cima do risco feito anteriormente. Através da serial monitor do Arduino verifique o valor lido e anote esse valor.

Posicione o fio conectado ao pino analógico 0 na outra extremidade do retângulo de forma que o fio fique em cima do risco traçado anteriormente. Verifique o valor e anote.

No exemplo acima os valores que foram obtidos foram 700 e 180. Agora vamos mapear esses valores dentro da faixa de 0 e 100 utilizando a função map.

Digite o código abaixo e faça os testes necessários deslizando o fio de um lado para o outro e verifique o resultado:

void setup()
{
Serial.begin(9600);
}
void loop()
{
     int valorSensor = analogRead(A0);
     int valorModificado = map(valorSensor, 180, 700, 0, 100);
     Serial.print("Valor alterado pela funcao map: ");
     Serial.println(valorModificado);
     delay(500);
}

Faça outro teste posicionando a extremidade do jumper conectado ao pino analogico A0 sobre o retangulo de grafite e movimente de um lado para o outro e verifique o novo valor. Lembrando de que isso é um exemplo mais básico do funcionamento de um potenciomentro(resistor variável).

 

 

Então é isso. Até a proxima.

por ferpinheiro Postado em Arduino

Arduino e módulo bluetooth HC-05

Tutorial rápido de como criar aplicações utilizando o módulo bluetooh modelo HC-05. Esse é um excelente módulo para fazer uma comunicação sem fio com seu arduino de modo rápido e fácil. Tudo que você vai precisar para esse tutorial é:

> Arduino Leonardo.
> Módulo bluetooth HC-05.
> Alguns jumpers.

Antes precisamos saber algumas especificações sobre o módulo que vamos utilizar.

Especificações:

  • Chipset: HC-05 (versão com 6 pinos)

  • Versão protocolo Bluetooth: v2.0+EDR

  • Frequência: 2.4GHz

  • Velocidade de transferência máxima: 2.1Mbps.

  • Modo de operação: Master ou Slave.

  • Profile Bluetooth: Porta Serial

  • Alimentação: +3.3VDC 50mA

  • Temperatura: -20 ~ +75

  • Tamanho: 26.9mm x 13mm x 2.2 mm

  • Senha padrão (para pareamento): 1234

Antes de usarmos o módulo Bluetooth devemos aplicar algumas configurações iniciais, como por exemplo, a troca do nome, baud rate, senha padrão entre outras informações que irão ser de extrema importância para o projeto. Essas configurações devem ser feitas através dos comantos AT o circuito inicial para elas deverá ser como o esquema abaixo:

Captura de tela de 2014-10-31 13:42:38

Captura de tela de 2014-10-31 13:44:32Código para o esquema acima:

void setup()
{
    Serial.begin(9600);
    Serial1.begin(38400);
    pinMode(4, OUTPUT);
    digitalWrite(4, HIGH);
    Serial.println("Digite os comandos AT");
}

void loop()
{
    if(Serial.available())
    {
       Serial1.write(Serial.read());
    }
    if(Serial1.available())
    {
        Serial.write(Serial1.read());
    }
    delay(500);
}

Compile o código e envie para o Arduino, após feita a gravação vamos iniciar a configuração. Abra o monitor serial do Arduino deixe setado o baudrate como 9600 e Both NL & CR e teste com os seguintes comandos:

  • AT ( Testa o modo AT no modulo a resposta deverá ser OK)

  • AT+VERSION? (Devolve a versão do Firmware)

  • AT+NAME? (Devolve o nome do modulo)

  • AT+ PSWD? (Devolve a Password do modulo)

 

Para trocarmos as informações como, nome do módulo, baud rate e senha, usamos os comandos abaixo:

AT+NAME=cursodearduino (Seta o nome do módulo para ‘cursodearduino’).
AT+UART=57600,0,0 (Seta o baud rate para 57600).
AT+PSWD=4321 (Seta a senha para 4321).

Para que as alterações tenham efeito no hardware você deve remover a fonte de energia do arduino e liga-lo novamente.

A partir desse momento podemos desligar o pino WAKEUP/KEY do módulo e deixar como na configuração abaixo.

Captura de tela de 2014-10-31 14:04:52

O código abaixo recebe e envia comandos através do módulo e serve para acender e apagar um led conectado ao pino 13 enviando os caracteres:

“d” = desligar .

“l” = ligar.

/*
# Autor: Fernando Krein Pinheiro
# Data: 31/11/2014
# Linguagem: C
# ========= IMPORTANTE ===========
# O codigo esta livre para usar,
# citar e compartilhar desde que
# mantida sua fonte e seu autor.
# Obrigado.
*/
char caracter;
void setup()
{
  Serial.begin(19200);
  Serial1.begin(9600);
  pinMode(13,OUTPUT);
}

void loop()
{

    if(Serial1.available())
    {
          caracter = Serial1.read();
          Serial.print("Recebi;");
          Serial.println(caracter);
          if(caracter == 'l')
          {
            digitalWrite(13,HIGH);
          }

          if(caracter == 'd')
          {
            digitalWrite(13,LOW);
         }

    }
}

Faça um teste vocễ mesmo. Baixe o aplicativo para seu celular android para fazer a comunicação com o módulo bluetooth. Para os testes desse tutorial eu utilizei o app Bluetooth Terminal disponível no google play.

Caso queira fazer um projeto parecido mas que use uma lampada você poderá unir esse tutorial com outro no qual utilizo o módulo relé em uma breve explicação.

Até a proxima!

por ferpinheiro Postado em Arduino

Medindo Oxigenação do sangue e Batimentos Cardíacos com Arduino

Mais uma dica do que podemos fazer com o arduino e todo seu poder. O objetivo do tutorial é demonstrar como é possível medir a oxigenação sanguínea e os batimentos cardíacos.

Um exemplo desse tipo poderia ser aplicado a qualquer tipo de estudo na área médica com finalidade de coletar dados para auxiliar em um diagnóstico médico, por exemplo.

 

Para isso vamos usar alguns produtos comprados na loja filipeflop e um shield comprado na loja coocking hacks.

1 Arduino
1 Shield eHealth

 

/*
 *  eHealth sensor platform for Arduino and Raspberry from Cooking-hacks.
 *
 *  Description: "The e-Health Sensor Shield allows Arduino and Raspberry Pi
 *  users to perform biometric and medical applications by using 9 different
 *  sensors: Pulse and Oxygen in Blood Sensor (SPO2), Airflow Sensor (Breathing),
 *  Body Temperature, Electrocardiogram Sensor (ECG), Glucometer, Galvanic Skin
 *  Response Sensor (GSR - Sweating), Blood Pressure (Sphygmomanometer) and
 *  Patient Position (Accelerometer)."
 *
 *  In this example we read the values of the pulsioximeter sensor
 *  and we show this values in the serial monitor
 *
 *  Copyright (C) 2012 Libelium Comunicaciones Distribuidas S.L.
 *  http://www.libelium.com
 *
 *  This program is free software: you can redistribute it and/or modify
 *  it under the terms of the GNU General Public License as published by
 *  the Free Software Foundation, either version 3 of the License, or
 *  (at your option) any later version.
 *
 *  This program is distributed in the hope that it will be useful,
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *  GNU General Public License for more details.
 *
 *  You should have received a copy of the GNU General Public License
 *  along with this program.  If not, see <http://www.gnu.org/licenses/>.
 *
 *  Version 2.0
 *  Author: Ahmad Saad & Luis Martin
 */

#include <eHealth.h>
#include <PinChangeInt.h>

int cont = 0;

void setup()
{
    Serial.begin(115200);
    eHealth.initPulsioximeter();
    PCintPort::attachInterrupt(6, readPulsioximeter, RISING);
}

void loop()
{
      Serial.print("PRbpm : ");
      Serial.print(eHealth.getBPM());

      Serial.print("    %SPo2 : ");
      Serial.print(eHealth.getOxygenSaturation());

      Serial.print("\n");
      Serial.println("=============================");
      delay(500);
}
void readPulsioximeter()
{
      cont ++;
      if (cont == 50)
      {
        eHealth.readPulsioximeter();
        cont = 0;
      }
}

Perceba que foi mantido todos os direitos autorais sobre o código. O mesmo foi retirado da própria página do projeto e pode ser encontrado nesse link

Esse shield já vem com 8 sensores para monitoramento de vários sinais de um paciente. Estou desenvolvendo um projeto para integra-lo com uma rede (wireless – zigbee) e bluetooth, assim que tiver maiores informações colocarei aqui no blog.

Segue um vídeo e algumas fotos:

 

DSC_0005

DSC_0008

DSC_0007

por ferpinheiro Postado em Arduino

Sensor de Umidade do Solo – Higrômetro

Olá pessoal, mais um tutorial rápido utilizando produtos da loja filipeflop, cujo objetivo é medir a umidade do solo e mostrar a porcentagem em um display lcd 16 x 2.

Para isso precisamos de:

1 – Arduino
1 – Sensor de Solo – Higrômetro
1 – Led
1 – Display lcd 16 x 2

Veja o esquema de montagem:

1

Você deve ligar o sensor de umidade da seguinte forma:
Pino A0 – Pino analógico 0 do arduino
Pino GND – Pino gnd do arduino
Pino VCC – Pino 5v do arduino

Note que temos ainda existe um pino chamado “D0” que será para conexões digitais, nesse caso para indicar a presença ou não de umidade, pois ele utiliza os valores 0 e 1 para isso. Como o objetivo é mostrar a porcentagem de umidade e não a presença dela, deixaremos essa ligação de lado.

Segue o código abaixo.

/*
# Autor: Fernando Krein Pinheiro
# Data: 17/09/2014
# Linguagem: C
# ========= IMPORTANTE ===========
# O codigo esta livre para usar,
# citar e compartilhar desde que
# mantida sua fonte e seu autor.
# Obrigado.
*/
#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

int umidade;

void setup()
{
  lcd.begin(16, 2);
  pinMode(13, OUTPUT);
}

void loop()
{
  digitalWrite(13, LOW);
  lcd.setCursor(0, 0);
  umidade = analogRead(A0);
  umidade = map(umidade, 1023, 0, 0, 200);
  lcd.print("Umidade em:");
  lcd.print(umidade);
  lcd.print(" %");
  if(umidade < 20)
  {
       digitalWrite(13, HIGH);
  }
  delay(500);
  lcd.clear();
}

DSC_0001[1]

DSC_0003[1]

por ferpinheiro Postado em Arduino

Módulo relé e controle remoto

Tutorial rápido, porem muito útil…

Acionando uma lâmpada com controle remoto e módulo relé.

Vamos aos materiais:

1  Arduino.
1 Módulo relé 2 canais 5v.
1 Controle remoto (Ir).
1 Lâmpada.

Montagem:

Untitled-2

Código:

/*
# Autor: Fernando Krein Pinheiro
# Data: 10/09/2014
# Linguagem: C
# ========= IMPORTANTE ===========
# O codigo esta livre para usar,
# citar e compartilhar desde que
# mantida sua fonte e seu autor.
# Obrigado.
*/
#include <IRremote.h>;
int RECV_PIN = 3;
IRrecv irrecv(RECV_PIN);
decode_results results;
void setup()
{
  Serial.begin(9600);
  irrecv.enableIRIn();
  pinMode(8, OUTPUT);
}
void loop()
{

  if (irrecv.decode(&results))
  {
    long int valor = results.value;
    Serial.println(valor);
    irrecv.resume();
    if(valor == 16738455)
    {
        digitalWrite(8, HIGH);
    }
    if(valor == 16750695)
    {
        digitalWrite(8, LOW);
    }
  }
}

Você precisará da biblioteca IRremote.h para controlar através do controle remoto. A biblioteca pode ser baixada nesse link: Biblioteca IRremote.h

por ferpinheiro Postado em Arduino

Instalando e configurando Debian 6

Recentemente formatei meu notebook e instalei o Debian 6 em uma tentativa de fugir de vez do Ubuntu e seus derivados como o Pear OS, tentativa de sucesso pois com poucos passos e sem nenhuma dor de cabeça obtive uma maquina estavel, rápida e com pouquissimo consumo de hardware.

Com o objetivo de compartilhar essa informação e os procedimentos feitos durante a configuração, resolvi criar esse tutorial demonstrando o passo a passo realizado. Como já existem inumeros tutoriais demonstrando a instalação do Debian 6, vamos pular essa parte e ir direto para a configuração. Mas para quem quiser conferir a instalação, ficam 3 ótimos tutoriais:

Site Viva o Linux: Instalação completa do Debian 6
Site Debian.org: Instalação e configuração do Debian
Pesquisa no Google por vídeos relacionados a instalação do Debian 6

Após a instalação vamos configura-lo:

1° – Passo: Vamos instalar um tema para nossa interface, não que o tema original seja ruim, mas se podemos melhora-lo, porque não? O tema escolhido foi o Equinox.

Para instala-lo vamos usar um recurso do Ubuntu importando a ppa para o Debian, para isso basta modificar o source.list com os comandos:

nano /etc/apt/source.list

Inclua as seguintes linhas no arquivo source.list:

deb http://ppa.launchpad.net/tiheum/equinox/ubuntu lucid main 
deb-src http://ppa.launchpad.net/tiheum/equinox/ubuntu lucid main

Salve o arquivo e no terminal digite para importar a chave publica para o ppa acima:  apt-key adv –keyserver keyserver.ubuntu.com –recv-keys 4631BBEA
Atualize a lista com o comando: apt-get update
E então baixe os pacotes do tema e dos icones com o comando: apt-get install gtk2-engines-equinox equinox-theme faenza-icon-theme

Feito isso, agora é so ir em:  Sistemas > Preferencia > Aparencia > Tema e escolher o novo tema instalado. Veja uma imagem da minha área de trabalho:

2° – Passo: Esse é um caso particular meu, talvez não se aplique a voce. Eu gosto da minha área de trabalho limpa por isso removi os ícones da lixeira, meu computador e pasta pessoal, para fazer isso basta fazer a combinação: Alt+F2 e digite gconf-editor. Navegue na arvore de diretorios do lado esquerdo da tela e vá pelo caminho:apps -> nautilus -> desktop e desmarque as opções:

  • Computer_icon;
  • Home_icon;
  • Network_icon;
  • Trash_icon;

3° – Passo: Por padrão o Debian vem com um navegador web chamado Iceweasel que é baseado no Firefox, embora seja um navegador estavel, parece não gerencia muito bem certas coisas, por isso vamos instalar a ultima versão do firefox. Para isso vá até o site da raposa e baixe a ultima versão do navegador.

Download do Firefox

Enquanto é feito o download vamos instalar uma ferramenta chamada Alien para converter o arquivo .tar.gz em um .deb para fazermos a instalação através do dpkg ou ainda pelo Gdebi package installer. No terminal digite: apt-get install alien

Com a ferramenta ja instalada e o firefox ja baixado acesse o diretorio onde o firefox se encontra e digite o seguinte comando para fazer a conversão do pacote:

alien /home/fernando/Downloads/firefox-17.0.tar.bz2 firefox.deb

Se todo o processo ocorrer bem ao final voce verá uma mensagem no terminal: “firefox_17.0_all.deb generated”. Agora é so instalar normalmente o .deb
Não esqueça de remover o navegador antigo: apt-get remove iceweasel

4° – Passo: Vamos instalar o flash player. Para isso abra o arquivo source.list. nano /etc/apt/source.list e inclua as seguinte linhas:

deb http://ftp.br.debian.org/debian/ squeeze main contrib non-free
deb-src http://ftp.br.debian.org/debian/ squeeze main contrib non-free

Feito isso, salve o arquivo e no terminal digite para atualizarmos as listas: apt-get update logo após isso digite: apt-get install flashplugin-nonfree
Pronto, verifique se o seu flash está funcionando.

Até aqui tudo ocorreu normalmente e sem problema algum, até o momento de testar som, vídeo e a rede wireless. Para minha surpresa os tres componentes nao funcionavam corretamente, uma ajuste daqui, um ajuste dali e nada, foi então que tentei fazer a troca do kernel para um mais recente, para isso realizei os passos abaixo:

Novamente editamos o arquivo source.list: nano  /etc/apt/source.list e inclua as seguinte linhas abaixo:

deb http://backports.debian.org/debian-backports squeeze-backports main

Salve o arquivo e atualize a fonte: apt-get update e execute o comando apt-cache search linux-image-3 para verificar os kernels disponiveis. Voce verá algo parecido com a imagem abaixo:

A imagem escolhida para meu caso foi a ultima. Para instalar:
apt-get -t squeeze-backports install linux-image-3.2.0-0.bpo.3-686-pae firmware-linux-free

Feito isso, voce precisa reiniciar a maquina para as alterações terem efeito e voce poder escolher o novo kernel. Digite: reboot

5° – Passo: Concluido com o passo quatro o som começou a funcionar, mas a interface wirelles e o vídeo ainda estavam parados. Para resolver esse problema verifiquei meu hardware através do comando lshw

Sobre a interface wirelles obtive o seguinte resultado:

   *-network UNCLAIMED
                description: Network controller
                product: RTL8191SEvA Wireless LAN Controller
                vendor: Realtek Semiconductor Co., Ltd.
                physical id: 0
                bus info: pci@0000:02:00.0
                version: 10
                width: 32 bits
                clock: 33MHz
                capabilities: pm msi pciexpress cap_list
                configuration: latency=0
                resources: ioport:3000(size=256) memory:93500000-93503fff

Sabendo que a interface é realtek e o modelo é RTL8191SEvA, bastou digitar o comando abaixo para instalar o novo firmware:

apt-get install firmware-realtek

Apartir desse momento a rede wireless funcionou perfeitamente.

6° – Passo: Para o sexto passo vamos resolver o problema do vídeo, utilizando o mesmo comando lshw obtive a seguinte informação sobre a interface de vídeo:

*-display:0
             description: VGA compatible controller
             product: Mobile 4 Series Chipset Integrated Graphics Controller
             vendor: Intel Corporation
             physical id: 2
             bus info: pci@0000:00:02.0
             version: 07
             width: 64 bits
             clock: 33MHz
             capabilities: msi pm vga_controller bus_master cap_list rom
             configuration: driver=i915 latency=0

Então bastou digitar o comando: apt-get -t squeeze-backports install xserver-xorg-video-intel e tudo foi resolvido.

Todos esse procedimentos foram executados em um notebook HP-G42 com 2 Gb de memoria DDR3 e processador 2.3 DualCore de descrição:

description: Notebook
product: HP G42 Notebook PC
vendor: Hewlett-Packard
version: 049D110000202710000010000
width: 32 bits

description: Motherboard
vendor: Hewlett-Packard
physical id: 0
version: 77.18

description: BIOS
vendor: Hewlett-Packard
physical id: 0
version: F.16 (05/19/2010)

description: CPU
product: Pentium(R) Dual-Core CPU       T4500  @ 2.30GHz
vendor: Intel Corp.
physical id: 12
slot: CPU
size: 1200MHz
capacity: 2300MHz

description: VGA compatible controller
product: Mobile 4 Series Chipset Integrated Graphics Controller
vendor: Intel Corporation
physical id: 2
bus info: pci@0000:00:02.0
version: 07

description: Wireless interface
product: RTL8191SEvA Wireless LAN Controller
vendor: Realtek Semiconductor Co., Ltd.
physical id: 0
bus info: pci@0000:02:00.0
logical name: wlan0
version: 10

description: Ethernet interface
product: RTL8101E/RTL8102E PCI Express Fast Ethernet controller
vendor: Realtek Semiconductor Co., Ltd.
physical id: 0
bus info: pci@0000:03:00.0
logical name: eth0
version: 02

description: Wireless interface
product: RTL8191SEvA Wireless LAN Controller
vendor: Realtek Semiconductor Co., Ltd.
physical id: 0
bus info: pci@0000:02:00.0
logical name: wlan0
version: 10

No momento em que estou escrevendo tenho 5 abas do firefox abertas, skype e o player de música e o consumo de hardware é:

Finalizo esse tutorial dizendo um ADEUS PARA O UBUNTU e aguardando pelo DEBIAN 7 (Wheezy) que será lançada no inicio do próximo ano (2013).

por ferpinheiro Postado em Linux

Recuperar HD externo com a ferramente testdisk

Recentemente tive alguns problemas com um HD externo que comprei a pouco tempo. O tamanho total desse HD é de 250 GB os quais 130 deles eram ocupados pelos backups que havia feito dos computadores aqui de casa.

O que acontecia é que ele não era reconhecido tanto no Linux muito menos no Windows e sempre informava o seguinte erro: “Erro de montagem: montagem tem o código de saída 13: arquivo corrompido. Falha ao montar ‘/ dev/sdb1’: erros de entrada / saída NTFS é inconsistente, ou há uma falha de hardware

Para aumentar ainda mais meu desespero precisava muito de uns arquivo desse HD. Fui atras de alguma solução e acabei encontrando uma ferramenta que realmente resolveu meu problema e por isso mereceu um tutorial sobre ela. Essa ferramenta é a testdisk.

Para instalar a ferramenta digite em um terminal: apt-get install testdisk
Após isso rode o seguinte comando para listar os HDs existentes: testdisk /list

Voce deverá ver uma tela como essa:

Então digite o comando: testdisk e voce verá isso:

Selecione a opção Create e de enter. A proxima tela será:

Selecione o HD a ser recuperado. No meu caso foi o SAMSUNG HM251JI localizado em /dev/sdb. Logo após isso escolha a opção Proceed.

A tela a seguir será:

Escolha a opção: Intel Intel/PC partition, pressione enter e terá:

Selecione a opção: Advanced, logo verá:

Selecione a opção List e pressione enter.

Selecione o arquivo a ser copiado. Perceba as opções: a seleciona todos os arquivos e c copia os arquivos para o diretorio corrente. Nesse caso selecionei apenas o arquivo Livros_PDF precionando a opção c para copia-lo.

Agora escolhemos o diretorio a ser gravado os arquivos. A escolha foi BACKUP HD, e pressionamos enter.

Repare que a ferramenta inicia a copia dos arquivos. Agora é so esperar e ser feliz…

Mais informações podem ser encontradas em: http://www.howtoforge.com/data_recovery_with_testdisk

Fica um vídeo como exemplo: OBS: Baixe o volume antes, ficou muito alto!

por ferpinheiro Postado em Linux