Bem-vindo, Visitante
Nome do utilizador: Senha:
Eletronica Digital, Microcontroladores, Robótica e Automação

TÓPICO: Arduinos e Raspberry

Arduinos e Raspberry 14 Abr. 2023 15:12 #21

  • Antonio-1
  • Avatar de Antonio-1
  • DESLIGADO
  • membro há mais de 1 anos
  • Tempo livre é usado para estudar electrónica.
  • pt  
  • Mensagens: 90
  • Agradecimentos 3
Boas,

wi-fi internet das coisas placa de desenvolvimento com antena pcb e porta usb para arduino:
pt.aliexpress.com/item/32520574539.html
www.blogdarobotica.com/2020/05/26/instalando-driver-serial-para-nodemcu-com-chip-ch340/

Encontrei esta placa de artuino com wireless.
Qual a sua observação quanto a ela?

Até já
:) . . .

Arduinos e Raspberry 14 Abr. 2023 16:25 #22

  • Rui
  • Avatar de Rui
  • DESLIGADO
  • membro há mais de 17 anos top5 em número de mensagens
  • pt  
  • Mensagens: 6411
  • Agradecimentos 1559
Vamos lá ver.. o arduino precisa de comunicar com os sensores, quando se pretende prescindir dos cabos, usam-se as placas wifi. Quando se faz algo estático, é para ficar sempre ali, serve perfeitamente, mas estamos sempre limitados ao número de i/o disponíveis. O serial permite comunicar com mais dados mas do outro lado temos de descodificar. Ou seja, é ideal para quem goste de programação de cenários, mas pouco eficaz em sistemas que se pretende ter modificações, i/o analógicos e digitais simultâneos.

Eu chamo programação de cenários (tem outro nome não me recordo) em que é considerado um cenário (sensor 1 aberto, sensor 3 fechado, leitura 4)

Este tipo de programação muito comum em domótica, não oferece forma de gerir muitas variáveis. Vamos imaginar o seguinte.

Queremos ter reconhecimento fácil, detetor de movimento volumétrico que ative 3 vídeo cams se alguma tiver movimento, e controlar o nível de humidade e temperatura do ar condicionado. Regar 6 plantas em 6 vasos diferentes. Um simples raspberry P2 faz isto com uma única placa, com o arduino é impossível de fazer.

Atualização, o P2 não consegue fazer isto porque não consegue processar a imagem para reconhecimento facial mas o P3-B faz sem grande dificuldade.
Última Edição: 14 Abr. 2023 16:26 por Rui. Motivo: atualização correção
Os seguintes utilizadores Agradeceram: Antonio-1

Arduinos e Raspberry 23 Abr. 2023 15:11 #23

  • Antonio-1
  • Avatar de Antonio-1
  • DESLIGADO
  • membro há mais de 1 anos
  • Tempo livre é usado para estudar electrónica.
  • pt  
  • Mensagens: 90
  • Agradecimentos 3
Boas,

Para arduino encontrei o simulador: www.tinkercad.com/
Conhece algum simulador virtual de Raspberry?

Aguardo sua resposta!

Até já
:) . . .

Arduinos e Raspberry 23 Abr. 2023 16:53 #24

  • Antonio-1
  • Avatar de Antonio-1
  • DESLIGADO
  • membro há mais de 1 anos
  • Tempo livre é usado para estudar electrónica.
  • pt  
  • Mensagens: 90
  • Agradecimentos 3
:) . . .

Arduinos e Raspberry 23 Abr. 2023 18:08 #25

  • Rui
  • Avatar de Rui
  • DESLIGADO
  • membro há mais de 17 anos top5 em número de mensagens
  • pt  
  • Mensagens: 6411
  • Agradecimentos 1559
Não entendi o que pretende alterar.

Quanto aos emuladores existem vários
  • Microsoft Azure
  • Wokwi
  • Wyliodrin Studio
  • Lab Center's Visual Designer

Quando existe uma mistura de linguagens, por exemplo, php python javascript, o simulador falha.... todos eles.

Claro que se for python apenas, não tem problema.
Note-se que alguns simuladores/emuladores são mais caros que o raspberry.

Qualquer das linguagens de programação permite visualizar erros, "debug mode". Em um circuito deste tipo temos dois tipos de erro, na programação e no circuito. Nenhum emulador é muito útil no circuito pratico (mas isso depende da forma como cada um trabalha e funciona)

Arduinos e Raspberry 24 Abr. 2023 09:46 #26

  • Antonio-1
  • Avatar de Antonio-1
  • DESLIGADO
  • membro há mais de 1 anos
  • Tempo livre é usado para estudar electrónica.
  • pt  
  • Mensagens: 90
  • Agradecimentos 3
:) . . .

Arduinos e Raspberry 24 Abr. 2023 15:58 #27

  • Antonio-1
  • Avatar de Antonio-1
  • DESLIGADO
  • membro há mais de 1 anos
  • Tempo livre é usado para estudar electrónica.
  • pt  
  • Mensagens: 90
  • Agradecimentos 3
Antonio-1 escreveu:
"
import RPI.GPIO
import time

gpio.setmode(gpio.BCM)
gpio.setup(9,gpio.out)
gpio.setup(9,gpio.HIGT)
time.sleep(0,5)
gpio.cleanup()
"
este código tem erro?
aprendi no video abaixo:

Como Usar a GPIO para Controlar Circuitos Eletrônicos - RaspberryPi Primeiros Passos
:) . . .

Arduinos e Raspberry 24 Abr. 2023 17:37 #28

  • Rui
  • Avatar de Rui
  • DESLIGADO
  • membro há mais de 17 anos top5 em número de mensagens
  • pt  
  • Mensagens: 6411
  • Agradecimentos 1559
Antonio-1 escreveu:
Antonio-1 escreveu:
"
import RPI.GPIO
import time

gpio.setmode(gpio.BCM)
gpio.setup(9,gpio.out)
gpio.setup(9,gpio.HIGT)
time.sleep(0,5)
gpio.cleanup()
"
este código tem erro?

Sim tem erro.
Esse código tem erro porque HIGH está mal escrito.
e no python3 é
from time import sleep

Voltei a editar porque o setup está incorreto,
GPIO.setup(9, GPIO.OUT, initial=GPIO.LOW) # Set pin 
GPIO.output(9, GPIO.HIGH) # Turn on

Nota muito importante
Python is a case-sensitive language

Uma variável chamada xpto é diferente de Xpto. Não confunda com o windows que não varia em relação a maiúsculas e minúsculas. A mesma coisa para o Linux e php.

Eu não uso essa rotina uso outra...
Isto vai ficar disponível na área do site logo que tenha tempo.

Nós podemos definir os pinos do RPI como BOARD ou com BCM
A instrução do rpi.gpio é:
gpio.setmode(gpio.BCM)
(é a numeração do BCM)
ou
gpio.setmode(gpio.BOARD)
(é a numeração direta da placa)

Vamos supor que queremos ligar um pino(38), temos muitos pinos para ligar e desligar assim, teríamos de fazer uma rotina para cada um. Ora o python aceita argumentos tipo, led.py 38 em que o 38 será o pino da board 38, com a board configurada para BOARD.
Assim, com uma pequena rotina, podemos ligar qualquer um dos pinos apenas com um comando
import RPi.GPIO as GPIO # Import Pi GPIO
import sys
pino = int(sys.argv[1])
from time import sleep # Import sleep from time module
GPIO.setwarnings(False) # Ignore warning for now
GPIO.setmode(GPIO.BOARD) # Use physical pin numbering
GPIO.setup(pino, GPIO.OUT, initial=GPIO.LOW) # Set pin 
GPIO.output(pino, GPIO.HIGH) # Turn on

Supondo que esta rotina se chama led_on.py

para ligar o led basta digitar no terminal
Python3 led_on.py 38
se for o led na saída 40
Python3 led_on.py 40

Para desligar temos outra rotina que nos dá para desligar qualquer pino
import RPi.GPIO as GPIO # Import Pi GPIO library
import sys
pino = int(sys.argv[1])
from time import sleep # Import sleep from time module
GPIO.setwarnings(False) # Ignore warning for now
GPIO.setmode(GPIO.BOARD) # Use physical pin numbering
GPIO.setup(pino, GPIO.OUT, initial=GPIO.LOW) # Set pin 
GPIO.output(pino, GPIO.LOW) # Turn off
GPIO.cleanup()

E agora como ligamos e desligamos quando estamos fora de casa
com o nosso telemóvel???
O python não foi desenvolvido tendo como prioridade a utilização de output no webserver, assim, usamos o php
<?php
shell_exec('sudo python3 /path/led_on.py 40'); 
?>

<?php
shell_exec('sudo python3 /path/led_off.py 40'); 
?>

Mesmo com o windows, podemos instalar o nosso servidor o WAMP ou XAMP e criar uma página de web com botões ON/OFF cada um ligando e desligando um pino do RPi...

Este tipo de coisas muito simples no RPi são muito difíceis de fazer no Arduino exigindo uma série de shields e algumas horas de programação.

Os testes de leds a piscar servem apenas para testar se funciona o output ou não, até sugeria o seguinte que uso em algumas temporizações, colocar o led a piscar 5 vezes e desligar depois. Isso ensina-nos a base dos "loops" e dos ciclos "for next" que existem em qualquer linguagem que são muito importantes na verificação, por exemplo dos estados de cada uma das portas.

Para complementar;
E agora como ligamos qualquer coisa de 220V em vez do LED?

Tanto no arduino como no raspberry, basta fazer este pequeno circuito

Atuar 220V no Arduino ou no Raspeberry

Se tivermos o sinal de 5V na saída liga qualquer coisa de 220V, sem sinal, desliga.
Última Edição: 24 Abr. 2023 18:12 por Rui.

Arduinos e Raspberry 24 Abr. 2023 21:10 #29

  • Antonio-1
  • Avatar de Antonio-1
  • DESLIGADO
  • membro há mais de 1 anos
  • Tempo livre é usado para estudar electrónica.
  • pt  
  • Mensagens: 90
  • Agradecimentos 3
Não está fácil, já corrigi e não dou conta de acender um led novo noutro pino
:) . . .

Arduinos e Raspberry 24 Abr. 2023 21:58 #30

  • Antonio-1
  • Avatar de Antonio-1
  • DESLIGADO
  • membro há mais de 1 anos
  • Tempo livre é usado para estudar electrónica.
  • pt  
  • Mensagens: 90
  • Agradecimentos 3
Vi este video:


mas não está ajudando em nada.

Preciso de dar os primeiros passos com as portas GPIO.

Qual a sua recomendação para iniciar correctamente?
:) . . .

Pesquisar Esquemas | Dicas Defeito | Equivalência Componentes | Modelo v Chassis | Service Mode |
Enviar Esquema