Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

Iniziare con Arduino tramite TInkercad

Progetti, interfacciamento, discussioni varie su questa piattaforma.

Moderatori: Foto UtenteWALTERmwp, Foto Utentexyz

0
voti

[11] Re: Iniziare con Arduino tramite TInkercad

Messaggioda Foto Utentebrabus » 29 gen 2023, 19:16

franco1 ha scritto:E dove si può vedere se la costante predefinita "LED_BUILTIN" è impostata a valore 13?


La definizione è dichiarata all'interno del file pins_arduino.h, uno dei vari file che il linker va a leggere in fase di compilazione.

Se lavori con un IDE tradizionale puoi navigare agevolmente tra i file e trovare queste informazioni, cosa che su Tinkercad non credo sia possibile. Oltretutto con la scheda in mano puoi renderti conto dei collegamenti fisici e fare misure.

Per unire i due mondi, un'azienda ha creato addirittura "Controllino", un PLC basato su Arduino: https://www.controllino.com/?gclid=Cj0K ... SLEALw_wcB
Alberto.
Avatar utente
Foto Utentebrabus
22,2k 4 11 13
G.Master EY
G.Master EY
 
Messaggi: 3146
Iscritto il: 26 gen 2009, 15:16

0
voti

[12] Re: Iniziare con Arduino tramite TInkercad

Messaggioda Foto UtenteMarcoD » 29 gen 2023, 20:20

Sono incuriosito, fino a circa 5anni fa giocavo con arduino con l'IDE 1.0.5
Sono andato a controllare sull' IDE 1.8.19:

Una volta esisteva solo arduino Uno o 2009 con ATM168 o ATM328 se ben ricordo le sigle, e il LED interno corrispondeva al pin 13.
Ora con differenti processori, hanno dovuto complicare il programma per adattarlo a indirizzi diversi dal 13.
Anche il 13 è un indirizzo virtuale, quello hardware fisico è un byte.

Allego il programmino dagli esempi dell' IDE arduino

Al posto di:
pinMode(LED_BUILTIN, OUTPUT);
puoi scrivere
pinMode(13, OUTPUT);
dovrebbe funzionare lo stesso
Codice: Seleziona tutto
/*
  Blink

  Turns an LED on for one second, then off for one second, repeatedly.

  Most Arduinos have an on-board LED you can control. On the UNO, MEGA and ZERO
  it is attached to digital pin 13, on MKR1000 on pin 6. LED_BUILTIN is set to
  the correct LED pin independent of which board is used.
  If you want to know what pin the on-board LED is connected to on your Arduino

  model, check the Technical Specs of your board at:
  https://www.arduino.cc/en/Main/Products

  modified 8 May 2014
  by Scott Fitzgerald
  modified 2 Sep 2016
  by Arturo Guadalupi
  modified 8 Sep 2016
  by Colby Newman

  This example code is in the public domain.

  https://www.arduino.cc/en/Tutorial/BuiltInExamples/Blink
*/

// the setup function runs once when you press reset or power the board
void setup() {
  // initialize digital pin LED_BUILTIN as an output.
  pinMode(LED_BUILTIN, OUTPUT);
}

// the loop function runs over and over again forever
void loop() {
  digitalWrite(LED_BUILTIN, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(1000);                       // wait for a second
  digitalWrite(LED_BUILTIN, LOW);    // turn the LED off by making the voltage LOW
  delay(1000);                       // wait for a second
}


O_/
Avatar utente
Foto UtenteMarcoD
12,2k 5 9 13
Master EY
Master EY
 
Messaggi: 6696
Iscritto il: 9 lug 2015, 16:58
Località: Torino

2
voti

[13] Re: Iniziare con Arduino tramite TInkercad

Messaggioda Foto Utentedjnz » 30 gen 2023, 19:09

MarcoD ha scritto:Anche il 13 è un indirizzo virtuale

Già, è così per tutte le board, i pin nell'IDE si riferiscono in pratica alle serigrafie sulle schede, non ai pin fisici dei micro, e meno che meno ai bit delle porte interne. Questa comoda astrazione ha naturalmente un prezzo da pagare in termini di perdita di velocità.

Allego il programmino dagli esempi dell' IDE arduino

Hanno aggiunto tutta quella pappardella di copyright e changelog per il blink? :D
Allora cosa dovrei scrivere per il mio mastermind resolver ? :D
Una domanda ben posta è già mezza risposta.
Avatar utente
Foto Utentedjnz
1.590 1 4 7
Master
Master
 
Messaggi: 709
Iscritto il: 26 lug 2020, 14:52

Precedente

Torna a Arduino

Chi c’è in linea

Visitano il forum: Nessuno e 50 ospiti