Tradução dos textos fixos do Fórum em Português

Caros colegas,

Recentemente foram abertos diferentes tópicos na parte geral do Fórum (em inglês) sobre possíveis melhorias na descrição das categorias e no texto padrão que é apresentado. Em um desses tópicos --> https://forum.arduino.cc/t/standard-text-for-new-topics-template/1111441 eu citei que os textos fixados na categoria Português estão em inglês e me ofereci para traduzi-los, gerando a seguinte discussão paralela --> https://forum.arduino.cc/t/translation-of-international-portugues-categorys-pinned-topics/1111594.

O primeiro texto fixado aqui é apenas um template que nunca foi preenchido e o texto seguinte é bem antigo (2013), de modo que sugeri traduzir o tópico How to get the best of this forum, cuja leitura é frequentemente sugerida aos novatos que desembarcam no fórum geral.

Pois bem, eis aqui a minha sugestão de tradução, cuja revisão será muito bem vinda por outros frequentadores da categoria Português, especialmente aqueles que forem de Portugal, pois sabemos que há diferenças entre expressões usadas no Brasil e em Portugal.

Como obter o melhor desse Fórum

Olá,

Bem-vindo ao Fórum Arduíno.

Esse guia explica como obter o melhor do Fórum. Por favor leia as instruções abaixo.

Sendo novo aqui, você pode pensar que regras são apenas uma formalidade, mas não é o caso. Se você não seguir as orientações, haverá uma longa troca de postagens tentando fazer com que você nos dê as informações que precisamos, o que é frustrante para você e frustrante para nós. Já se você cooperar, teremos condições de colocar o seu projeto em funcionamento rapidamente.

Sem as informações adequadas, será difícil ou impossível oferecer a ajuda que você precisa.

Tenha em mente que as pessoas que tentarão ajudá-lo são voluntários, que fazem isso de graça em seu tempo livre.

Idioma Preferido
Se Português não for o seu idioma, existem tópicos em outras línguas.

O Básico

Abaixo estão algumas coisas que geralmente não são observadas por quem posta pela primeira vez.

Escolha a categoria correta do Fórum

Se você for postar em inglês, na área geral do Fórum existem várias categorias diferentes para você escolher. Escolher a correta é importante porque nem todo mundo que pode ajudar lê todas as categorias.

Algumas questões cabem em mais de uma categoria, mas POR FAVOR não poste a mesma questão em duas ou mais categorias. Do mesmo jeito, se você tem mais de uma questão relacionada ao mesmo projeto é melhor que elas fiquem no mesmo post. Mantê-las juntas ajuda a obter melhores respostas à medida em que oferecem um contexto mais completo sobre o seu projeto.

Perguntar a mesma coisa várias vezes ou criar diferentes tópicos sobre a mesma pergunta é contra as regras do fórum e irritará bastante os moderadores.

Hardware

Nós precisamos saber exatamente qual é o hardware que você tem. Qual modelo de placa Arduíno (ou de outra marca, como ESP32) você está usando e quais outros sensores você está conectando nela. Quanto mais detalhes nós tivermos, mais fácil será para ajudarmos.

Se você estiver usando um produto que não é Arduíno, é importante fornecer um link com os dados técnicos dele (data sheet) ou para o site onde você o comprou.

Problemas de Código

Nós só conseguiremos encontrar problemas no seu código se tivermos acesso a ele. Por favor forneça seu código completo, usando a formatação de código <CODE/>. Se você estiver usando o Arduino Create, você também pode postar um link para o seu projeto (mas tenha em mente que nem todo mundo usa o Arduino Create).

Postar um trecho do código geralmente é inútil. O problema está quase sempre em outra parte do programa.

Antes de postar código, por favor use Ferramentas / Auto Formatação no topo da IDE (Interface Integrada de Desenvolvimento) do Arduíno. Isso torna o código bem mais fácil de ser lido e você mesmo provavelmente acabará achando útil. Uma vez feito isso, use editar / copiar para o Fórum.

Sempre use a formatação de código <CODE/> quando estiver postando código ou mensagens de erro do compilador. Usar esse formato torna o código mais fácil de ser lido e copiado. Não usar o formato implica na aparição de carinhas sorrindo e outras coisas que não deveriam estar lá. Esteja atento para o fato de que há um limite de 120.000 caracteres para uma postagem. Se seu código for maior que esse limite, você pode adicionar o seu arquivo .ino como um anexo. No entanto, será muito mais fácil de ajudarmos se você puder escrever e postar um pequeno programa que ilustre o problema que você está tendo.

Por favor não poste imagens do seu código ou de erros do compilador. Poste o código ou os erros usando a formatação de código.

É muito importante que você esclareça o que o código deveria estar fazendo e o que ele está fazendo de fato. O código SEMPRE funciona, é a natureza dele realizar o que foi programado. Se ele está fazendo o que você queria é outra coisa. Nós precisamos saber a diferença entre o que você queria e o que está acontecendo.

Esquemáticos ou diagramas de circuitos

A linguagem da eletrônica são os esquemáticos ou diagramas do circuito. Longas descrições do que está conectado aonde são geralmente inúteis. Um esquemático é um desenho de como os elementos do circuito estão conectados um ao outro. Faça um e nos mostre. Não nos importamos se ele for feito à mão, com traços desalinhados ou usando símbolos incorretos. Por favor não poste diagramas do Fritzing. Eles são bonitos, mas não trazem as informações necessárias e podem ser facilmente mal interpretados.

Se você quiser usar um programa de computador para criar um esquemático, então você pode experimentar o Eagle ou o KiCad.

Dica Geral

Evite postar links para outros sites que abriguem código ou fotos. A maioria de nós não clicará nesses links, não só pelo risco de que eles contenham vírus, mas também para que todo conteúdo necessário permaneça no Fórum, beneficiando outros usuários que tenham questões semelhantes.

Pesquise

Antes de postar, pesquise sobre sua dúvida no mecanismo de busca do Fórum. A maioria dos problemas encontrados por iniciantes já foram tratados anteriormente, de modo que a resposta para sua pergunta pode já existir. Você também pode usar o motor de busca de sua preferência.

Seja claro

Faça perguntas específicas sobre o problema que você está tendo, a fim de que possamos oferecer uma resposta clara. Se você não entender alguma das sugestões que receber, avise, para que possamos explicar com maiores detalhes.

Sobre a gente

As pessoas que estão respondendo às perguntas possuem uma ampla variedade de formações e experiências, quer seja por terem trabalhado em eletrônica e computação ou por terem isso como hobby. Poucos são professores, então provavelmente a maioria não terá muita didática para explicar as coisas de maneira efetiva. Salvo raras exceções, nós não somos empregados ou representantes da Arduíno.

Lembre-se que as pessoas que tentarão ajudá-lo são voluntários, que fazem isso de graça em seu tempo livre.

Sobre você

Tudo o que sabemos sobre você é aquilo que você está nos dizendo. Se você nos contar sua experiência com eletrônica ou programação, tentaremos adequar o nível da resposta ao seu conhecimento. Se você não nos contar, não saberemos.

Postando código e problemas comuns

Poste todo o seu código

Sem termos o seu código, ou melhor, todo o seu código, não podemos oferecer nada além de respostas vagas e que provavelmente não ajudam. Uma das coisas chatas de escrever programas é que um erro em uma parte do código pode provocar problemas em outra parte completamente diferente. Isso é um pesadelo se você for novato, mas quem tem mais experiência facilmente identifica o problema. Esse é o motivo pelo qual a gente quer todo o seu código, não apenas o pedaço com erro ou que você acredita que está provocando o erro.

Formate seu código

Antes de copiar seu código da IDE para o Fórum, procure nas Ferramentas do menu a opção “Auto Formatar”. Isso ajustará o código para o formato correto. Se você preferir, Ctrl+T fará a mesma coisa. Uma vez formatado, o código pode ser copiado e colado no Fórum, usando a formatação de código.

Use a formatação de código

O código deve ser postado usando a formatação de código. Ela tem esse símbolo <CODE/> na barra de ferramentas que fica acima do campo onde você edita seu post. Quando formatado corretamente, o código aparece assim:

char message[][4] = { "hi", "bye" };

void setup() {
  //Serial.begin() configures the serial port
  Serial.begin(9600);
}

void loop() {
  for (byte x = 0; x < 2; x++) {
    Serial.println(message[x]);
    delay(1000);
  }
}

Se você não usar a formatação de código, vai ficar assim:

char message[][4] = { "hi", "bye" }; // <---- Tem uma caixa aqui

void setup() {
//Serial.begin () configures the serial port // <---- Algum link estranho
Serial.begin(9600); // <---- Perdeu a indentação
}

void loop() {
for (byte x = 0; x < 2; x++) {
Serial.println(message[x]); // <---- Marcaram com x essa opção
delay(1000);
}
}

Existe mais de uma maneira de colocar o código dentro da formatação de código, você pode:

  • Colar o código na caixa de edição, selecioná-lo e clicar em <CODE/>

  • No menu Editar da IDE do Arduíno existe a opção “Copiar para o Forum”. Isso coloca o código na área de transferência do computador já com a formatação de código, pronto para ser colado no seu post.

Exemplo mínimo replicável

O Fórum tem um limite de 120.000 caracteres por post, o que quer dizer que você não pode postar diretamente um código maior do que isso. Se isso acontecer, você pode anexar seu arquivo .ino no seu post ou, se estiver usando o Arduino Create, um link para seu projeto.

Note que quanto maior for o programa, maior é a dificuldade de alguém entender e ajudar. Por isso, considere a possibilidade de escrever um pequeno código que replique o problema e poste ele ao invés do código maior. Será mais fácil obter ajuda com um programa pequeno e fácil de entender do que com um longo e mais complicado.

Mensagens de erro

Quando você compila seu código, a IDE do Arduíno verifica a existência de problemas e gera mensagens de erro que apontam o que foi encontrado. Elas oferecem pistas para a identificação dos problemas e nós precisamos vê-las também. No canto direito inferior da IDE existe um botão para copiar as mensagens de erro. Clique nele e cole o resultado no seu post. Não se esqueça de usar a formatação de código.

Erros comuns em códigos e na postagem de códigos

A captura de tela do código ou das mensagens de erro não ajuda, porque ela não pode ser coladas como texto em outros lugares. Para podermos testar seu código, precisamos conseguir copiá-lo e colá-lo em nossos computadores. Poste o código e as mensagens de erro, não fotos deles.

De um modo geral, problemas em códigos não ficam exatamente onde parecem estar. Um erro em um pedaço do programa pode criar problemas em outro pedaço. A única maneira de lidarmos com essa situação é vendo seu código completo. Tenha em mente também que um mesmo problema pode provocar múltiplos erros. Se isso acontecer, tente resolver o primeiro deles para ver se os demais desaparecem.

É essencial que cada chave { ou parêntese ( aberto tenha o seu correspondente ) fechando a declaração }. Na IDE, se você colocar o cursor em cima de qualquer tipo de chave ou parêntese verá um retângulo indicando sua contraparte. Se não houver uma contraparte ou se for indicada uma diferente da que você esperava, então você achou um problema. Se você usar a auto formatação do código, os pares serão conectados e será bem mais fácil identificar algum que tenha sido esquecido.

Regras do Fórum e netiqueta

As instruções abaixo são para ajudá-lo a obter sucesso em seu post, ou seja, obter uma resposta útil e satisfatória para sua questão. Para mantermos o Fórum funcionando tranquilamente há algumas regras que se aplicam a todos e que se forem quebradas podem resultar em suspensão ou banimento do Fórum.

Faça sua pergunta apenas uma vez e em uma categoria

Nós sabemos que você está ansioso por uma resposta, mas postar a mesma questão em categorias diferentes duplica os esforços e divide o foco de quem está tentando ajudar. Será bem mais produtivo se todos puderem discutir sua questão juntos no mesmo tópico. Fazer a mesma pergunta em diferentes tópicos ou categorias é chamado de “cross-posting” e chateia bastante as pessoas. Se você fizer isso, os moderadores vão apagar as postagens duplicadas e você será advertido. Evite aborrecimentos e poste a pergunta uma única vez.

Não se aproprie de um tópico existente, comece um novo

Pode ser que você encontre um tópico relacionado ao que você quer perguntar e sinta vontade de adicionar sua pergunta nele. Não faça isso. Se você encontrou a solução para o seu problema, a nova postagem não é necessária. Se você não encontrou, então abra um novo tópico. Não há problema em incluir um link para a discussão anterior se você achar que é relevante.

Não perturbe!

Não tente obter uma resposta de maneira insistente. Por causa dos diferentes fusos horários, a pessoa que sabe a resposta pode estar dormindo, sem internet ou mesmo em férias. Talvez após uns dois dias valha a pena se perguntar ou nos perguntar se você realmente ofereceu todas as informações quer eram necessárias.

Pedindo ajuda a uma pessoa específica

Uma pessoa específica pode ter dado respostas que interessam a você e que podem te ajudar. Você pode chamar a atenção dessa pessoa para a sua pergunta usando @ mais o nome de usuário dela. Por exemplo: @nomedousuário. Se você fizer isso, essa pessoa recebe uma notificação.

Não envie sua pergunta em uma mensagem privada para alguém que você não conhece. Ela será ignorada pela maioria das pessoas.

Projetos comerciais

Uma coisa que certamente fará com que você não receba qualquer ajuda é dizer que você não pode dar detalhes de seu projeto porque ele é confidencial. Se o projeto é comercial e não pode ser divulgado, então contrate alguém para fazê-lo e certifique-se que haja uma cláusula de confidencialidade no contrato. Há uma categoria específica para isso na parte internacional do Fórum. O Fórum é destinado a hobbystas, não a trabalhar de graça para os outros.

Código pronto

Não existe programa pronto que sirva para tudo. Pedir que alguém escreva o programa para você não vai te levar a lugar algum e pode resultar em uma resposta malcriada. Ou você escreve seu próprio programa e nos diz onde você tem dúvidas, ou paga alguém para escrever o programa para você. Se você não quer aprender e nem quer pagar, veio ao lugar errado.

Seja educado

Cortesia e educação não fazem mal a ninguém. Mesmo que você receba uma pergunta repetida ou não entenda uma resposta dada, tente manter a calma. Muitas pessoas que respondem frequentemente no Fórum lidam com as mesmas perguntas todos os dias e podem ser ríspidas se acharem que você não está se esforçando o suficiente. Mantenha a tranquilidade e muito provavelmente você terá seu problema resolvido. Insultos, grosserias e palavrões não são aceitáveis e resultarão em banimento. Concentre-se no problema.

NÃO GRITE

ESCREVER COM LETRAS MAIÚSCULAS é entendido como gritar. Isso não fará com que você tenha uma resposta mais rápida, vai apenas aborrecer os outros.

Deveres escolares

Nós recebemos muitas perguntas de estudantes tentando resolver seus deveres de casa. Essas perguntas são geralmente de dois tipos: as de estudantes que estão claramente fazendo algum esforço, mas estão tendo dificuldades (essas são respondidas); e as de estudantes preguiçosos que querem que nós façamos o dever casa para eles (esses normalmente recebem uma bronca). Se você tiver dúvidas sobre seu dever de casa, peça ajuda, mas certifique-se de ter se esforçado antes.

Agradeça as pessoas que te ajudaram

Aqueles de nós que estão respondendo aqui estão fazendo isso de graça, apenas pelo prazer de compartilhar o conhecimento. Agradeça as pessoas que lhe derem respostas úteis e não esqueça de curtir :heart: essas respostas.

Também ajuda se você marcar a resposta que melhor lhe atendeu, apertando o botão :white_check_mark: Solução abaixo dela. Isso fará com que outras pessoas com a mesma questão encontrem mais facilmente a resposta.

Créditos

O presente texto é uma tradução livre do tópico How to get the best out of this forum escrito por @PerryBebbington. Traduzido para o Português por @Brazilino .

Estou com certa dificuldade para usar a mesma formatação do post original e omiti alguns links que levam para páginas com mais um bocado de texto que necessitaria ser traduzido.

Agradeço se puderem dar uma olhada @ruilviana @bubulindo @robsoncouto @FernandoGarcia e outros.

@psousalima você é do time Arduíno, certo? Existe moderador da categoria Português?

Aqui está o conteúdo de origem:

Hello,

Welcome to the Arduino Forum.
This guide explains how to get the best out of this forum. Please read and follow the instructions below.

Being new here you might think this is having rules for the sake of rules, but that is not the case. If you don’t follow the guidelines all that happens is there is a long exchange of posts while we try to get you to tell us what we need in order to help you, which is frustrating for you and frustrating for us.

The people who try to help with your project are volunteers doing this for free in their spare time. If you follow these guidelines it helps us to help you and gets your project working quickly.

Without the correct information, it is difficult or impossible to give you the help you need.

**Preferred language**
[If English is not your preferred language there are categories in other languages](https://forum.arduino.cc/c/international/10)

<a name="essentials"></a>

## [Essentials](#essentials)

Below are some things we need which are often missed by people posting for the first time

<a name="choose-the-right-category-of-the-forum"></a>

### [Choose the right category of the Forum](#choose-the-right-category-of-the-forum)

There are lots of different categories to choose from. Choosing the right one is important because not everyone who might be able to help you reads every category. Some questions might reasonably fit in to more than one category but please **do not** post the same question in two or more different categories. Also, if you have more than one question but the questions are all about the same project then it is usually preferable to keep the questions in one topic. Keeping them together helps get better answers as the answer to one provides the context for the next. Creating the same question multiple times or creating lots of different questions about the same project is against the forum rules and will incur the wrath of the moderators when they see it.

<a name="hardware"></a>

### [Hardware](#hardware)

We need to know exactly what hardware you have. We need to know what Arduino board (or other brand, such as ESP32) you are using and exactly what other hardware you are connecting it to. The more details we have, the easier it is to help.

If you are using something that is a non-Arduino product then it helps to have a link to its technical data sheet or a link to where you bought it.

<a name="code-problems"></a>

### [Code problems](#code-problems)

We can only find problems in code we can see. Please supply your complete code in code tags **`<CODE/>`** [More about posting code and using code tags](#posting-code). If you are using Arduino Create then you can post a link to your project (but keep in mind that not everyone uses Arduino Create).

Posting a snippet of code is generally useless. The problem is usually in another part of the program.

Before posting code, please use Tools / Auto Format at the top of the IDE. It makes the code much easier to read and you will probably find it very helpful yourself. Once you've done that, use Edit / Copy for Forum.

Always use code tags (**`<CODE/>`**) when posting code or compiler error messages.
Using code tags makes the code easier to read and easy to copy. Not using code tags means some of the code gets displayed with smiley faces and other stuff that should not be there. Be aware that there is a limit of 120000 characters for a post. If your code takes you above this limit then you can add your .ino file as an attachment. However, it will be much easier to help you if you can write a short program that illustrates the problem you are having and post that.

Please don't post an image of code instead of the code itself, or an image of error messages instead of the error messages themselves.

It is very important to be clear about what is expected from code and what happens instead. Code ALWAYS works; that is the nature of code. Whether it does what you expect is a different thing altogether. We need to know what you expected the code to do and what happened instead.
[More about posting code and common code problems.](#posting-code)

<a name="schematics-or-circuit-diagrams"></a>

### [Schematics or circuit diagrams](#schematics-or-circuit-diagrams)

The language of electronics is a schematic or circuit diagram. Long descriptions of what is connected to what are generally useless. A schematic is a drawing of what connects to what; please make one and photograph it. We don't mind if it's hand drawn, scruffy and does not use the correct symbols. Please don't post Fritzing diagrams. They may look nice but they are very easy to misinterpret

If you want to use computer software to create a schematic, then you might like to try either [Eagle](https://www.autodesk.co.uk/products/eagle/free-download?plc=F360&term=1-YEAR&support=ADVANCED&quantity=1) or [KiCad](https://kicad.org/).
[More about creating a schematic of your project including how to upload an image.](https://forum.arduino.cc/t/how-to-make-a-schematic-you-can-post/675103)

<a name="general"></a>

### [General](#general)

Please try to avoid posting links to other sites where code or photos or schematics are hosted. Most of us will not follow such links, partly due to the risk that they hold malware or other unwanted content, partly to maintain everything on this site for the benefit of future users looking for an answer to a similar question, and partly because we feel that if you want our help you should provide everything we need on this site not expect us to go hunting elsewhere for it.

<a name="research"></a>

### [Research](#research)

Please do some research before posting. Most beginner problems have already been dealt with on the Forum so please use the [forum search tool](https://forum.arduino.cc/search) and the [Arduino Help Center](https://support.arduino.cc/hc/en-us) to try and find an answer to your question. You can also use your favorite search engine to find answers too.

<a name="be-specific"></a>

### [Be specific](#be-specific)

Please ask a specific question about the problem you are having so we can provide a clear, specific answer.

If you don't understand some of the advice that you get, please say so. Then we can explain in more detail. If you want to know more about how to ask a question that is likely to get a really helpful answer, then have a read of this, admittedly rather long, tutorial [How To Ask Questions The Smart Way](http://www.catb.org/esr/faqs/smart-questions.html) and use the principles explained there to ask a really effective question here.

<a name="about-us"></a>

### [About us](#about-us)

Those of us answering questions have a wide variety of backgrounds and electronics knowledge, some through working in electronics or computing, some through electronics or computing as a hobby, some both. Most of us are not trained as teachers so probably miss the finer points of how to teach and explain things effectively. We are not, with the odd exception, employees or representatives of Arduino.
Please also remember we are volunteers doing this for free in our spare time and are more inclined to help people who make it easy for us to provide help by providing the information we ask for.

<a name="about-you"></a>

### [About you](#about-you)

We only know about you and your project what you tell us. If you tell us your level of experience with electronics or microcontrollers, we can tailor our answer to your level of knowledge. We also don't know if you have problems with English or language or communication in general unless you tell us. We can be sympathetic about things we know about, but if you don't tell us we don't know.

<a name="more-information"></a>

### [More information](#more-information)

There is more information below.

<a name="making-your-first-post"></a>

### [Making your first post](#making-your-first-post)

Now please go to the [forum index](https://forum.arduino.cc/categories), select the right category and make your first post.

Thank you.

<a name="first-post"></a>
<a name="making-your-first-post-1"></a>

## [Making your first post](#making-your-first-post-1)

<a name="1-choose-the-right-category"></a>

### [1. Choose the right category](#1-choose-the-right-category)

It is important to choose the right category and the right language so that the people most likely to be able to help you will see your question. Not everyone here reads questions in every category so please take your time and post in a category related to your question.

**If English is not your preferred language then scroll down and choose from one of the other language categories.**

https://forum.arduino.cc/c/international/10

Please only post in English in the English language categories. If your language is not shown then please use Google Translate and post in an English language category using English.

![Forum categories|211x500](https://europe1.discourse-cdn.com/arduino/optimized/4X/b/6/6/b66e64c09f6c1cfe9720e4d3d38caf76a9268503_2_211x500.png)

<a name="2-make-a-topic"></a>

### [2. Make a topic](#2-make-a-topic)

Once you have found the right category you can start your post. Click on New Topic

![Starting a new topic|527x291](https://europe1.discourse-cdn.com/arduino/original/4X/e/b/2/eb2c6015e18cb0b3cdeac25317434dddae3ab54d.png)

<a name="3-write-your-post"></a>

### [3. Write your post](#3-write-your-post)

Enter a title and a description of your problem:

![Compose post|690x423, 70%](https://europe1.discourse-cdn.com/arduino/original/4X/2/4/6/2466d0d65f4dd963493f50ac0aee9f07066dc44b.png)

Don't forget to include code in code tags **`<CODE/>`** and a schematic of your circuit.

For your first two posts, the right hand side of the post composer pane will show a welcome message. Once you have closed that message, you will see a preview of how your post will look once you have submitted it.

<a name="4-publish-your-topic"></a>

### [4. Publish your topic](#4-publish-your-topic)

When you are happy with your post click on + Create Topic to post it.

![image|403x500, 75%](https://europe1.discourse-cdn.com/arduino/original/4X/9/8/7/9870b27af83959c9d5b08f479a9d89fdeed78b1b.png)

That's your first post completed.

<a name="posting-code"></a>
<a name="posting-code-and-common-code-problems"></a>

## [Posting code and common code problems](#posting-code-and-common-code-problems)

<a name="post-all-your-code"></a>

### [Post all your code](#post-all-your-code)

Without your code, **all** your code, we cannot provide any answers about your code, other than the most vague and probably unhelpful of answers. One of the frustrating things about writing code is that a mistake in one place can produce an error in what seems like a completely different, unrelated place. This is a nightmare if you are new to writing code, but often easy to spot for anyone who is experienced in looking for such problems. It is for this reason we want **all** your code, not just the bit with the error or the bit you think is causing the problem.

<a name="format-your-code"></a>

### [Format your code](#format-your-code)

Before copying your code for the forum, look in Tools on the menu bar of the Arduino IDE and select Auto Format. This will format the code correctly. If you prefer, Ctrl+T will do the same thing. Once formatted, you can copy and paste your code with code tags.

<a name="use-code-tags"></a>

### [Use code tags](#use-code-tags)

Code should be be in code tags, these are the **`<CODE/>`** in the tool bar above where you edit your post, and correctly formatted, like this:

```
char message[][4] = { "hi", "bye" };

void setup() {
  //Serial.begin() configures the serial port
  Serial.begin(9600);
}

void loop() {
  for (byte x = 0; x < 2; x++) {
    Serial.println(message[x]);
    delay(1000);
  }
}
```

If you don't use code tags then it ends up like this:

---

<!-- prettier-ignore-start -->

char message[][4] = { "hi", "bye" };  // <---- There's a box now

void setup() {
  //Serial.begin() configures the serial port // <---- Some strange link
  Serial.begin(9600); // <---- Indentation lost
}

void loop() {
  for (byte x = 0; x < 2; x++) {
    Serial.println(message[x]); // <---- There's a checkbox
    delay(1000);
  }
}

<!-- prettier-ignore-end -->

---

There's more than one way to add code tags, you can:

- Paste your code in the box where you are editing your post, select all the code and click on **`<CODE/>`**.
- In the Arduino IDE under the 'Edit' menu there is 'Copy for Forum', this puts your code on the clipboard with code tags added ready to paste into your question.

<a name="minimal-reproducible-example"></a>

### [Minimal, Reproducible Example](#minimal-reproducible-example)

The forum has a limit of 120000 characters per post, which means that you can't post a program longer than this directly. In this case, you can attach the .ino file to your post or, if you are using Arduino Create, you can post a link to your project.

However, consider that the longer your program, the harder it is for anyone to understand it and help you. For this reason, consider writing a short program that illustrates the problem and post or link to that instead. You are more likely to get help with a short, easy to understand program than with a long, complicated one. For more about this see [How to create a Minimal, Reproducible Example](https://stackoverflow.com/help/minimal-reproducible-example).

<a name="error-messages"></a>

### [Error messages](#error-messages)

When you compile your code the Arduino IDE will check for certain problems with the code and generate error messages to indicate any problems it finds. If this happens then we need to see the error messages as well as the complete code, as the error messages offer clues to what the problem is. If you have error messages then in the bottom right hand corner of the IDE there will be a button '**Copy error messages**'. Click the button and paste the result into your question, don't forget to add the code tags.

<a name="common-mistakes-with-code-and-posting-code"></a>

### [Common mistakes with code and posting code](#common-mistakes-with-code-and-posting-code)

Posting a screenshot of code or error messages. A screenshot is useless, with a screenshot it is impossible for us to paste the code into the IDE and test it. Please post your code and error messages, not an image of them.

Only posting the part of the code you think has the problem. Often code problems are not in the place they might obviously seem to be, often a mistake in one place shows up as a problem elsewhere. The only way to see this is to see all the code. Also be aware that some mistakes cause a cascade of multiple errors. If this happens, deal with the first one and see if the other disappear.

It is essential that every opening bracket has a corresponding closing bracket. Check that every { has a corresponding }, every ( has a corresponding ) and every [ has a corresponding ] before you post your code. In the IDE if you place your cursor next to any bracket of any kind the IDE will draw a rectangle round its partner, if there's no corresponding bracket, or there is a corresponding bracket but it's not the one you expected then you have found your problem. Also, if you use Auto Format (Tools > Auto Format or Ctrl+T) your code will be tidied up and missing brackets of all kinds should become a lot easier to see.

<a name="forum-rules"></a>

## [Forum rules](#forum-rules) and [netiquette](https://www.webroot.com/ca/en/resources/tips-articles/netiquette-and-online-ethics-what-are-they)

The instructions above are to help you make a successful post, 'successful' meaning you get a useful and satisfactory answer to your question. In order to keep the forum working smoothly there are some rules that apply to everyone, breaches of which can lead to suspension or being removed from the forum altogether.

<a name="only-ask-your-question-once-in-one-category-of-the-forum"></a>

### [Only ask your question once, in one category of the forum](#only-ask-your-question-once-in-one-category-of-the-forum)

We know you are anxious to get an answer to your problem, but re-posting the same question to multiple categories of the forum causes duplicate effort, and divides the focus on your problem. You'll get a better answer if everyone can discuss it in one place. Asking the same question multiple times is called cross-posting. Cross-posting is very annoying to people trying to help you. If you cross-post, the moderators will delete your extra posts, and you will get a warning. Save all the hassle, and just post the question once. It will be noticed.

If you aren't sure which category to post in (Programming Questions, General Electronics, etc.), make a guess. Don't cross-post "just in case".

<a name="start-a-new-topic-dont-hijack-an-existing-topic"></a>

### [Start a new topic; don't hijack an existing topic](#start-a-new-topic-dont-hijack-an-existing-topic)

You might see an existing topic related to what you want to ask and think about tagging your question on the end. Please don't do this. If the existing question is just what you were looking for and the answer helps you then there is no need. Otherwise, the existing topic isn't what you were looking for and you should create a new topic. There's no harm including a link back to the existing discussion if you think there's some relevance.

<a name="dont-bump"></a>

### [Don't bump!](#dont-bump)

Don't bump your topic after an hour. Because of the different time zones, the person who knows the answer may be asleep, or away for the day or maybe on holiday. Maybe after a couple of days, but even then think about whether you have provided enough information and asked a question that can be answered. You could even ask us 'what else can I provide in order to get some help?'.

<a name="getting-help-from-a-particular-person"></a>

### [Getting help from a particular person](#getting-help-from-a-particular-person)

You might have read answers from a particular person and think that person would be the best person to help you. You can bring your question to someone's attention by using @ followed by their username, for example @username. If you do this, they will get a notification. Please do not send a PM (private message) to someone you don't know asking a question; most will ignore you.

<a name="commercial-projects"></a>

### [Commercial projects](#commercial-projects)

One thing really guaranteed to ensure you don't get help is to tell us you can't provide all the information because it is commercially confidential. If it's commercially confidential then you should consider paying someone to help you and ensure a confidentiality agreement is in place with them. If you want help with a commercial project then create a topic in https://forum.arduino.cc/c/community/jobs/42 and indicate what your terms are, including how much your budget is. This is a hobby forum, not a place for free help with commercial projects.

<a name="ready-written-code"></a>

### [Ready written code](#ready-written-code)

Ready written code for every possible application does not exist, including for your application. Asking for the code for what you are trying to do will not get you anywhere, other than possibly some annoyed replies. You either have to write your own, which we are here to help with when you get stuck, or you can pay for someone else to write it for you. If you want someone to write code for you the place to ask is https://forum.arduino.cc/c/community/jobs/42. If you neither want to learn to write code yourself nor pay someone else to do it for you then this is probably not the right place for you.

<a name="be-polite"></a>

### [Be polite](#be-polite)

A little courtesy and politeness goes a long way. Even if you think a question has been asked before, or you don't see the point of it, try to answer politely. Remember a lot of the posters with high post counts see the same questions every day, and they may get a bit terse if you appear not to have tried very hard to help yourself in the first place. You will find that if you respond in a friendly way, people will stick with you and you will almost certainly get your problem solved. Personal insults, rudeness and offensive language are not acceptable and will result in a ban. Stick to the topic.

<a name="dont-shout"></a>

### [DON'T SHOUT](#dont-shout)

TYPING IN ALL UPPER CASE is considered to be SHOUTING. It won't get you an answer any quicker, it will just annoy people.

<a name="homework"></a>

### [Homework](#homework)

We get a lot of questions from students wanting help with their homework. Such questions are generally one of two kinds: Questions by students who are obviously making a real effort but have got stuck; these get helpful answers. Questions from students who are obviously not making any effort at all and just want someone to do their homework for them; these usually get a lecture. By all means, post homework questions when you are stuck, but make sure you've put some effort in first.

<a name="thank-people-who-help-you"></a>

### [Thank people who help you](#thank-people-who-help-you)

Those of us who answer questions on here are doing so for free, out of community spirit. Please thank people who provide helpful answers and don't forget to give :heart:s as well.

It also helps if you click the **☑ Solution** button at the bottom of the reply that answered your question. This will make it easy for helpers to see that it is solved and for others with the same question to find the answer quickly.

<a name="credits"></a>

## [Credits](#credits)

Much of this tutorial has been inspired by or copied from the original forum instructions created by [Nick Gammon](https://forum.arduino.cc/u/nickgammon).
My thanks to [Ballscrewbob](https://forum.arduino.cc/u/Ballscrewbob), [Robin2](https://forum.arduino.cc/u/robin2) and [Idahowalker](https://forum.arduino.cc/u/Idahowalker) all of whom have provided a great deal of support and feedback, without which this tutorial would contain far more errors than it does and would be a lot less clear than it is.

<a name="feedback"></a>

## [Feedback](#feedback)

[Please provide comments, feedback or suggestions for improvements for these instructions here.](https://forum.arduino.cc/t/how-to-get-the-best-from-this-forum-feedback-and-comments/854470)

Thank you.