Son espacios de memoria que conservan datos que se van a mantener iguales durante toda la ejecución del programa. Dependiendo el lenguaje de programación que se esté usando, su declaración variará. En el IDE de Arduino, por ejemplo, las declararemos así: la palabra reservada const, luego el tipo de dato, seguidamente el nombre que le ponemos a esa constante, luego el signo = (que sirve para asignarle un dato) y el dato en sí. Veamos un ejemplo.
También serán espacios de memoria que almacenan datos pero en este caso esos datos pueden ir variando durante la ejecución del programa. Para declararlas en el IDE de Arduino, usamos directamente la definición del tipo de dato, luego el nombre que elegimos para la variable, el signo = de asignación y el dato que contiene. Debajo podemos ver un ejemplo.
Nota: Tanto las variables como las constantes pueden llevar el nombre que desees, salvo algunas excepciones como son el uso de palabras reservadas del lenguaje del que se trate o restricciones propias de cada lenguaje como signos, números, etc. Pero, por una buena costumbre de programación, se les da un nombre que se relacione con el dato que contienen, para que luego sean sencillas de identificar.