
"O poder não está no ferro, mas no conhecimento" - podemos dizer hoje em dia.
Agora, a eletrônica e a robótica se tornaram muito mais acessíveis do que antes - houve uma escolha, o limiar de entrada diminuiu. Mas, sem o conhecimento de como funciona, e como trabalhar com ele, esse sistema eletrônico permanecerá apenas "hardware" (e como isso acontece - os aparelhos às vezes ficam ociosos). É muito mais difícil obter conhecimento com base na experiência e prática pessoal.
Portanto, os cursos para iniciantes são muito apreciados. Existem cursos pagos e gratuitos - mas para garantir relevância, suporte ao curso, compatibilidade de hardware e feedback - isso não é apenas uma questão, principalmente em russo.
Queremos falar sobre um desses cursos on-line - " Construímos robôs e outros dispositivos no Arduino. De um semáforo a uma impressora 3D ". O curso foi desenvolvido em conjunto pela Cyberphysics e pelo MIPT (Instituto de Física e Tecnologia de Moscou). Os materiais de texto e vídeo de treinamento estão disponíveis gratuitamente no Coursera. O curso é dividido em 6 partes (cada semana) e para cada parte - o ferro correspondente é enviado.
É sempre melhor contar com base em nossa experiência; portanto, falaremos sobre o curso e as impressões "em tempo real" à medida que progredimos. Compartilhar impressões será um dos participantes em nosso espaço no hacks.
Semana 1
Olá pessoal! Meu nome é Anton e quero lhe contar em uma série de seis semanas de publicações sobre a experiência de participar de um curso on-line do MIPT.
Uma pequena introdução. Minha educação e trabalho contínuo estão relacionados à TI. O conhecimento em eletrônica e circuitos termina com um curso universitário em eletrônica. Ocasionalmente eu uso um ferro de solda, posso fazer cálculos simples para qualquer circuito.
Não há experiência em programação para o Arduino como tal. Escrevo scripts principalmente em Python e Bash, com uma sintaxe semelhante a C familiar nas linguagens PHP e JavaScript. C em si não tinha experiência em programação.
Depois que meu irmão e eu escrevemos uma revisão de três conjuntos de eletrônicos para crianças , um representante do projeto Cyberphysics sugeriu fazer o curso on-line “Construindo robôs e outros dispositivos no Arduino” no site do Coursera. Como já fiz vários cursos (não relacionados à TI) na plataforma, presumi que o material seria trivial e simples, como na maioria dos cursos introdutórios da plataforma Coursera ou no nível de tarefas de manuais de conjuntos eletrônicos semelhantes. Mas, como se viu, isso foi uma falácia. Os próprios criadores posicionam o curso como uma introdução à robótica para estudantes e alunos do ensino médio, onde os alunos aprendem o que são robôs e outros dispositivos "inteligentes", como eles interagem com o mundo exterior, como eles interagem com seres humanos e, o mais importante, como aprender a criar esses dispositivos você mesmo.
É interessante notar que, segundo os autores do curso, dois terços da audiência, que é de 13,5 mil pessoas, pessoas de 25 a 45 anos! E você pode entender o porquê: a lista de tópicos é bastante ampla - desde os sensores mais simples e "luzes intermitentes" até o dispositivo de uma impressora 3D, e tudo isso é suportado pela teoria necessária, por exemplo, o dispositivo e os parâmetros de circuitos elétricos, tipos e parâmetros de sinais, etc. ... Ao mesmo tempo O material é apresentado em um idioma simples e acessível. Depois de passar a primeira semana, não foi novidade para mim que a taxa média do curso é de 4,9 em 5 pontos.
Como o treinamento é voltado principalmente para a solução prática de problemas, durante as primeiras semanas os autores do curso me forneceram um conjunto de robôs e dispositivos "ciberfísicos" . Iniciar + .

No interior, somos recebidos com um livreto descrevendo o kit e a placa Neutrino.


Imediatamente após o livreto, está a própria placa Neutrino, que é análoga ao Arduino Uno, mas uma coisa chama a atenção imediatamente - há 20 pinos de três pinos na placa para conectar uma variedade de sensores. Isso me agradou sinceramente, já que para outras placas que eu vi anteriormente, era necessário instalar uma blindagem adicional para conectar periféricos.

No interior, tudo é organizado em pequenas caixas. Todos os pacotes de conteúdo são assinados.


Um dispositivo estranho com um tubo também foi colocado no kit. Após uma rápida pesquisa na Internet, acabou sendo uma bomba submersa, que, aparentemente, será usada nas próximas semanas de aula.
Além disso, como os autores do curso me sugeriram (e o que está escrito no livreto :)), você também pode usar a bandeja embaixo da placa - coletar esquemas e armazená-la "solta" para que os detalhes não fiquem entre as aulas. Aprendi sobre isso após o final da primeira semana, mas espero que, no futuro, aprecie os benefícios da bandeja.

Agora vamos falar sobre o curso em si. Dura seis semanas. As três primeiras semanas são avaliadas usando testes e, na quarta e nas semanas subseqüentes, você pode concluir uma tarefa adicional e enviar colegas para avaliação.
Nas lições da primeira semana, o professor contou primeiro o básico dos circuitos, depois montou e modificou gradualmente o modelo de semáforo, tanto no ambiente gráfico Fritzing quanto em um quadro real. No início, um semáforo manual foi montado e gradualmente transformado em automático usando o Arduino. Ao longo do caminho, foram apresentados os conceitos básicos da linguagem de programação para o ambiente Arduino.
Vale ressaltar que, apesar do tamanho pequeno, as palestras em vídeo são muito informativas, o que certamente agrada. Aqui está uma lista aproximada dos tópicos da primeira semana que eu observei:
- O princípio de operação e a placa de ensaio do dispositivo
- O dispositivo é o circuito elétrico mais simples. Corrente elétrica. LEDs
- Maneiras de apresentar circuitos eletrônicos. Diagramas esquemáticos, circuitos gráficos no ambiente Fritzing
- Medição de parâmetros do circuito elétrico. Corrente, tensão, resistência
- Placas e variedades de Arduino. Arduino IDE
- Fundamentos de programação no IDE do Arduino. Variáveis, macros, loops
Na conclusão da primeira semana, eu honestamente passei no teste pela primeira vez com 80% de respostas corretas, cometendo 4 erros, um dos quais devido à ignorância do material (saídas de LED e a regra de conectá-lo ao circuito), o restante foi feito por desatenção. Na segunda tentativa, foi possível passar no teste com apenas um erro :)

Como prática, também decidi tentar coletar um semáforo. Como repetir o exercício de um para um parecia um pouco chato para mim, decidi imediatamente recolher dois semáforos que simulavam o cruzamento.
Eu escrevi o programa aproximadamente e "na testa", mas funciona exatamente como eu pretendia. Sinceramente, tentei reescrever o código e fazê-lo lindamente - com matrizes e funções, mas fui imediatamente afetado pela minha ignorância da linguagem C - por exemplo, não consegui descobrir por vários minutos como criar matrizes multidimensionais e preenchê-las com valores em C. A julgar pelo currículo, esses tópicos serão discutidos na terceira semana, por isso decidi não me adiantar e continuar a estudar com calma no currículo.
Código do programa#define PIN_1_G 1 #define PIN_1_Y 2 #define PIN_1_R 3 #define PIN_2_G 4 #define PIN_2_Y 5 #define PIN_2_R 6 int green_on = 5000; int red_on = 5000; void setup() { pinMode(PIN_1_G, OUTPUT); pinMode(PIN_1_Y, OUTPUT); pinMode(PIN_1_R, OUTPUT); pinMode(PIN_2_G, OUTPUT); pinMode(PIN_2_Y, OUTPUT); pinMode(PIN_2_R, OUTPUT); digitalWrite(PIN_1_G, LOW); digitalWrite(PIN_1_Y, LOW); digitalWrite(PIN_1_R, HIGH); digitalWrite(PIN_2_G, HIGH); digitalWrite(PIN_2_Y, LOW); digitalWrite(PIN_2_R, LOW); } void loop() { delay(green_on); for (int i = 0; i < 3; i++) { digitalWrite(PIN_2_G, LOW); delay(500); digitalWrite(PIN_2_G, HIGH); delay(500); } digitalWrite(PIN_2_G, LOW); digitalWrite(PIN_2_Y, HIGH); delay(2000); digitalWrite(PIN_2_Y, LOW); digitalWrite(PIN_2_R, HIGH); delay(1500); digitalWrite(PIN_1_Y, HIGH); delay(2000); digitalWrite(PIN_1_Y, LOW); digitalWrite(PIN_1_R, LOW); digitalWrite(PIN_1_G, HIGH); delay(green_on); for (int i = 0; i < 3; i++) { digitalWrite(PIN_1_G, LOW); delay(500); digitalWrite(PIN_1_G, HIGH); delay(500); } digitalWrite(PIN_1_G, LOW); digitalWrite(PIN_1_Y, HIGH); delay(2000); digitalWrite(PIN_1_Y, LOW); digitalWrite(PIN_1_R, HIGH); delay(1500); digitalWrite(PIN_2_Y, HIGH); delay(2000); digitalWrite(PIN_2_Y, LOW); digitalWrite(PIN_2_R, LOW); digitalWrite(PIN_2_G, HIGH); }
Inscrição no curso
A partir de 27 de março, está aberta a inscrição no curso: Construção de robôs e outros dispositivos no Arduino. Do semáforo à impressora 3D