[PYTHON] Machen Sie einen in die Klimaanlage integrierten Personal Computer "airpi" mit Raspberry Pi 3!

Einführung

Mein Name ist Ryosuke Kamei und ich bin ein IT-Berater, der auf der Idee der "sanften IT" basiert! Derzeit ist meine Arbeit vorgelagert und konzentriert sich auf Anforderungsanalyse und Anforderungsdefinition, aber ich schreibe auch Programme! Im Rahmen unserer freundlichen IT-Aktivitäten werden wir die mit "Raspberry Pi 3" (allgemein bekannt als "Raspberry Pi 3") erstellten Waren- und Dienstleistungsprogramme vorstellen, die die Philosophie haben, "kostengünstige PCs bereitzustellen, die für Bildungszwecke programmiert werden können"!

Spezifikation

Nimm am Razzpie Contest 2016 teil! Ich bat meine Tochter, einen Vorschlag zu schreiben ~ Der Name ist "Airpi integrierter Personal Computer Airpi"!

Es ist fertig

Der Motor war schwach und es gab nicht viel Wind (lacht) Es kann praktisch sein, wenn Sie das Gehäuse wechseln oder die Spannung erhöhen, um den Lüfter stärker zu machen.

Aussehen

エアコン一体型パソコンairberry.png (Es ist eine Raspeltorte, und ich habe sie mit Smokingfarbe geschrieben.)

Spezifikation

Klimaanlage mit Sensor zur automatischen Kühlung des Raumes Temperatureinstellung 27 ° C (Temperatur kann mit Raspeltorte eingestellt werden) Wenn es heiß ist

  1. Die Temperatur steigt
  2. Der Sensor fängt ein
  3. Himbeerkuchen liest
  4. Bringen Sie den Raum auf 27 ° C.

Wenn es kalt ist

  1. Die Temperatur sinkt
  2. Der Sensor fängt ein
  3. Himbeerkuchen liest
  4. Einmal anhalten

Beschwerde Wenn ich einen Computer benutze, weht der Wind und es wird kühler.

Implementierung

Eigentlich wollte ich, dass meine Tochter alles macht, aber weil ich weit weg wohne, wird mein Vater von hier aus übernehmen.

Referenz

[Rasppie Magazine - Ausgabe Juni 2016 Special Feature 1 Akibas Schaltplan für beliebte Teile Best 17](https://www.amazon.co.jp/ Rasppie Magazine - Ausgabe Juni 2016 - Nikkei BP PC Best Mook- Nikkei Linux-ebook / dp / B01EH2RX42 / ref = as_li_ss_tl? ie = UTF8 & DPID = 61P3o6Agz + L & dpSrc = sims & PRest = OU09__BG0,0,0,0_FMpng_AC_UL160_SR120,160 & psc = 1 & refRID = 31SKG5E0DGKBSF9BWNGV & Linkcode = ll1 & tag = sr2smail-22 & linkId = 18fd04738627edef8d6fffd6c9b8f9c2) [Razpai Magazine - August 2016 Special Feature 1 Grundlegende Muster elektronischer Arbeit 12](https://www.amazon.co.jp/%E3%83%A9%E3%82%BA%E3%83%91 % E3% 82% A4% E3% 83% 9E% E3% 82% AC% E3% 82% B8% E3% 83% B3-2016% E5% B9% B48% E6% 9C% 88% E5% 8F% B7 -% E6% 97% A5% E7% B5% 8CBP% E3% 83% 91% E3% 82% BD% E3% 82% B3% E3% 83% B3% E3% 83% 99% E3% 82% B9% E3% 83% 88% E3% 83% A0% E3% 83% 83% E3% 82% AF-% E6% 97% A5% E7% B5% 8CLinux / dp / 4822237710 / ref = as_li_ss_tl? Ie = UTF8 & qid = 1471057119 & sr = 8-4 & keywords =% E3% 83% A9% E3% 82% BA% E3% 83% 91% E3% 82% A4 & linkCode = ll1 & tag = sr2smail-22 & linkId = c42c3f78bd8af3af1414020a400090fe)

Verfahren

Es verwendet den digitalen Temperatursensor "ADT7410" und einen Motortreiber.

  1. [Vorbereitung] Installieren Sie libi2c-dev
  2. [Vorbereitung] Schreiben Sie in die Einstellungsdatei
  3. [Vorbereitung] Stellen Sie I2C ein
  4. [Vorbereitung] Überprüfen Sie, ob I2C verwendet werden kann
  5. Schaltplan des digitalen Temperatursensors
  6. Ermitteln Sie den Wert des digitalen Temperatursensors digital_temperature_sensor.py
  7. Führen Sie das Programm für den digitalen Temperatursensor aus
  8. Schaltplan mit Motortreiber und Motor
  9. Ein Programm, das das Ein- und Ausschalten der Klimaanlage gemäß der eingestellten Temperatur airpi.py steuert
  10. Airpi bewegen

1. [Vorbereitung] Installieren Sie libi2c-dev

Um den digitalen Temperatursensor "ADT7410" verwenden zu können, müssen Sie libi2c-dev installieren!

libi2c-installiere dev


$ sudo apt-get install libi2c-dev

2. [Vorbereitung] Schreiben Sie in die Einstellungsdatei

bash:/etc/modprobe.d/i2c.Schreiben Sie Einstellungen in conf


$ sudo sh -c 'echo "options i2c_bcm2708 combined=1" >> /etc/modprobe.d/i2c.conf'

3. [Vorbereitung] Stellen Sie I2C ein

Menu → Einstellungen → Himbeereinstellungen → Registerkarte Schnittstelle → I2C ist "aktiviert" → Klicken Sie auf "OK"

[I2C-Einstellungsvideokommentar klicken →](http://www.youtube.com/watch?v=5S- w_pb1XS0)

4. [Vorbereitung] Überprüfen Sie, ob I2C verwendet werden kann

Bestätigt mit i2cdetect (es scheint 0 zu sein, abhängig von der Teilversion von 1)


$ sudo /usr/sbin/i2cdetect -y 1
I2Cを使えるかどうかの確認.png

5. Schaltplan des digitalen Temperatursensors

circuit.png

6. Ermitteln Sie den Wert des digitalen Temperatursensors digital_temperature_sensor.py

Das Programm ist [Razpai Magazine - Ausgabe Juni 2016 Special Feature 1 Akibas Schaltplan für beliebte Teile Best 17 ⑥ Digitaler Temperatursensor](https://www.amazon.co.jp/ Razpai Magazine - Ausgabe Juni 2016 - Nikkei BP PC Beste Mook - Nikkei Linux-ebook / dp / B01EH2RX42 / ref = as_li_ss_tl ie = UTF8 & DPID = 61P3o6Agz + L & dpSrc = sims & PRest = OU09__BG0,0,0,0_FMpng_AC_UL160_SR120,160 & psc = 1 & refRID = 31SKG5E0DGKBSF9BWNGV & Linkcode = ll1 & tag = sr2smail-22 & linkId = 18fd04738627edef8d6fffd6c9b8f9c2 ) Wurde verwiesen.

Die Quelle wird auf GitHub hochgeladen. Verwenden Sie sie daher nach Belieben.

Mit git klonen


$ git clone https://github.com/RyosukeKamei/raspberrypi3.git

digital_temperature_sensor.py


#Vorbereitung
# $ sudo apt-get install libi2c-dev 
# $ sudo sh -c 'echo "options i2c_bcm2708 combined=1" >> /etc/modprobe.d/i2c.conf'

#Bibliothek, die GPIO steuert
import wiringpi
#Timer-Bibliothek
import time
#Rufen Sie die Bibliotheken auf, die zum Lesen vom I2C-Gerät benötigt werden
import os
import struct
#Argumente abrufen
import sys

#Argumentspezifikation
param = sys.argv
set_temperture = int(param[1])
print("Voreingestellte Temperatur", set_temperture)

#Erstellen Sie eine Instanz von I2C
wiringpi.wiringPiSetup()
i2c = wiringpi.I2C()

#I2C-Einstellungen
#Geben Sie die I2C-Adresse des zu kommunizierenden Geräts an
temperture_dev = i2c.setup(0x48)

#Holen Sie sich 16-Bit-Daten für die Temperatur
#Andere Auf 0x03 setzen
i2c.writeReg8(temperture_dev, 0x03, 0x80)

while True:
    #Lesen Sie 2 Byte Temperatursensor
    temperture_data = struct.unpack('2B', os.read(temperture_dev, 2))

    #Der Wert ist in 2 Bytes unterteilt, kombinieren Sie sie also zu einem.
    temperture = ( ( temperture_data[0] << 8 ) + temperture_data[1] )

    #Zahlen in negative Werte umwandeln
    if ( temperture_data[0] >= 0x80 ):
        temperture = temperture - 65536

    #Berechnen Sie die Temperatur, indem Sie den erfassten Wert durch 128 teilen
    temperture = temperture / 128

    #Temperaturanzeige
    print ( "Temperatur" , temperture , "C" )
    
    if ( temperture > set_temperture ):
        print ( "Schalten Sie die Klimaanlage ein, da die Raumtemperatur höher als die eingestellte Temperatur ist" )
    else:
        print ( "Schalten Sie die Klimaanlage aus, da die Raumtemperatur unter der eingestellten Temperatur liegt" )

    #Jede Sekunde
    time.sleep(1)

7. Führen Sie das Programm für den digitalen Temperatursensor aus

Stellen Sie die Temperatur auf 28 ° C ein


$ sudo python3 digital_temperature_sensor.py 28
ラズパイ温度計.png

8. Schaltplan mit Motortreiber und Motor

Ich habe früher einen Motortreiber (TA7291P) und einen Motor zur Steuerung des Motors zum Schaltplan (Steckbrett) hinzugefügt. circuit_final.png

9. Ein Programm, das das Ein- und Ausschalten der Klimaanlage gemäß der eingestellten Temperatur airpi.py steuert

airpi.py


#Vorbereitung
# $ sudo apt-get install libi2c-dev 
# $ sudo sh -c 'echo "options i2c_bcm2708 combined=1" >> /etc/modprobe.d/i2c.conf'

#Bibliothek, die GPIO steuert
import wiringpi
#Timer-Bibliothek
import time
#Rufen Sie die Bibliotheken auf, die zum Lesen vom I2C-Gerät benötigt werden
import os
import struct
#Argumente abrufen
import sys

#GPIO-Terminaleinstellungen
motor1_pin = 23
motor2_pin = 24

#Stellen Sie den GPIO-Ausgabemodus auf 1 ein
wiringpi.wiringPiSetupGpio()
wiringpi.pinMode( motor1_pin, 1 )
wiringpi.pinMode( motor2_pin, 1 )

#Argumentspezifikation
param = sys.argv
set_temperture = int(param[1])
print("Voreingestellte Temperatur", set_temperture)

#Erstellen Sie eine Instanz von I2C
i2c = wiringpi.I2C()

#I2C-Einstellungen
#Geben Sie die I2C-Adresse des zu kommunizierenden Geräts an
temperture_dev = i2c.setup(0x48)

#Holen Sie sich 16-Bit-Daten für die Temperatur
#Andere Auf 0x03 setzen
i2c.writeReg8(temperture_dev, 0x03, 0x80)

while True:
    #Lesen Sie 2 Byte Temperatursensor
    temperture_data = struct.unpack('2B', os.read(temperture_dev, 2))

    #Der Wert ist in 2 Bytes unterteilt, kombinieren Sie sie also zu einem.
    temperture = ( ( temperture_data[0] << 8 ) + temperture_data[1] )

    #Zahlen in negative Werte umwandeln
    if ( temperture_data[0] >= 0x80 ):
        temperture = temperture - 65536

    #Berechnen Sie die Temperatur, indem Sie den erfassten Wert durch 128 teilen
    temperture = temperture / 128

    #Temperaturanzeige
    print ( "Temperatur" , temperture , "C" )
    
    if ( temperture > set_temperture ):
        print ( "Schalten Sie die Klimaanlage ein, da die Raumtemperatur höher als die eingestellte Temperatur ist" )
        wiringpi.digitalWrite( motor1_pin, 1 )
        wiringpi.digitalWrite( motor2_pin, 0 )
    else:
        print ( "Schalten Sie die Klimaanlage aus, da die Raumtemperatur unter der eingestellten Temperatur liegt" )
        wiringpi.digitalWrite( motor1_pin, 0 )
        wiringpi.digitalWrite( motor2_pin, 0 )
    #Jede Sekunde
    time.sleep(1)

10. Airpi bewegen

Die eingestellte Temperatur beträgt 28 ° C.


$ sudo python3 airpi.py 28

Bewegung

Seitenverzeichnis

Raspberry Pi 3 Setup

Raspberry Pi 3-Installation → WLAN → Japanische Ein- / Ausgabe → Betrieb vom Mac

Erstellen Sie mit Docker eine Python + MySQL-Umgebung auf Raspberry Pi 3!

Docker auf RaspberryPi3 installieren Erstellen Sie mit Docker auf RaspberryPi3 eine Python + Flasche + MySQL-Umgebung![Einfache Konstruktion] Erstellen Sie mit Docker auf RaspberryPi3 eine Python + Flasche + MySQL-Umgebung![Versuch und Irrtum]

Machen Sie einen in die Klimaanlage integrierten Personal Computer "airpi" mit Raspberry Pi 3!

Machen Sie einen in die Klimaanlage integrierten PC "airpi" mit Raspberry Pi 3!

Endlich ... Erstellen Sie einen Funkcontroller mit Python auf Raspberry Pi 3!

Motor bewegt sich beim Drücken der Taste Motor bewegt sich, während der Magnet näher gebracht wird Der Motor bewegt sich, wenn der Magnet näher gebracht wird und stoppt automatisch

Lass uns mit Raspberry Pi 3 und Python Record of Raspberry kämpfen

Programmieren mit Node-RED-Programmieren mit Raspberry Pi 3 und normaler Programmierung Beleuchten Sie die LED mit Python auf Raspberry Pi 3 (Hello World) Schalterstatus mit Raspberry Pi 3 erkennen Führen Sie einen Servomotor mit Python auf Raspberry Pi 3 aus Steuern Sie den Motor mit einem Motortreiber mit Python auf Raspberry Pi 3! Erkennen Sie den Schiebeschalter mit Python auf Raspberry Pi 3! Erkennen Sie Magnetschalter mit Python auf Raspberry Pi 3! Ermitteln Sie die Temperatur mit Python auf Raspberry Pi 3! Raspberry Pi 3 verwendet Python, um den Summer zu ertönen! Analoge Signale mit A / D-Wandler mit Python auf Raspberry Pi 3 erkennen! Erkennen Sie "Helligkeit" mit Python auf Raspberry Pi 3! Ermitteln Sie "Temperatur (mit A / D-Wandler)" mit Python auf Raspberry Pi 3! Ausgabe auf "7 Segment LED" mit Python auf Raspberry Pi 3! Verwenden Sie Python auf Raspberry Pi 3, um die LED mit Schaltersteuerung zu beleuchten! Verwenden Sie Python auf Raspberry Pi 3 und schalten Sie die LED ein, wenn es dunkel wird!

Die Regeln konzentrierten sich auf die testgetriebene Entwicklung

Codierungsregeln "Schreiben wir sanften Code" (FuelPHP) Namensregeln "Freundlich zu sich selbst, teamfreundlich und unsichtbare Mitglieder nach 3 Monaten"

Entwicklung von Webanwendungen mit Docker + Python

Installieren Sie Python3 und verwandte Bibliotheken pip, virtualenv und Framework Django, Flasche, Flask unter CentOS auf Docker! Mit einer Docker-Datei, die diese zusammenfasst!

Einfach zu entwickelnde Umgebungskonstruktion (Docker + PHP)

PHP-Umgebung + Eclipse mit Docker mit Apache verknüpfen Erstellen einer FuelPHP-Entwicklungsumgebung mit Docker Erstellen eines CRUD-Skeletts mit den Anfangseinstellungen der FuelPHP-Entwicklungsumgebung mit Docker und Scaffold Migration der FuelPHP-Datenbank

Recommended Posts

Machen Sie einen in die Klimaanlage integrierten Personal Computer "airpi" mit Raspberry Pi 3!
Machen Sie eine Regenschirmerinnerung mit Raspberry Pi Zero W.
Machen wir ein IoT-Shirt mit Lambda, Kinesis, Raspberry Pi [Teil 1]
Machen Sie einen Waschtrocknungs-Timer mit Raspberry Pi
Bedienen Sie das Oszilloskop mit dem Raspberry Pi
Schalten Sie Ihren PC mit Himbeer-Pi ein / aus
GPGPU mit Raspberry Pi
DigitalSignage mit Raspberry Pi
Mutter pflanzt mit Raspberry Pi
Erstellen Sie LCD-Spiele (16x2) mit Raspberry Pi und Python
Machen Sie ein Auto mit automatischem Fahrroboter mit Raspberry Pi3 B + und Ultraschall-Abstandssensor HC-SR04
Machen wir einen Fahrradcomputer mit Raspberry Pi Zero (W, WH)
Machen Sie ein Thermometer mit Raspberry Pi und machen Sie es im Browser Teil 4 sichtbar
Erstellen Sie einen Kanji-Kompass mit Raspberry Pi und Sense Hat
Verwenden Sie vl53l0x mit RaspberryPi (Python)
Servomotorsteuerung mit Raspberry Pi
Serielle Kommunikation mit Raspberry Pi + PySerial
Betriebssystem-Setup mit Raspberry Pi Imager
Probieren Sie L Chika mit Himbeerpi
Aufbau eines VPN-Servers mit Raspberry Pie
Versuchen Sie, 3 Servos mit Raspeye zu bewegen
Machen Sie Scrapy exe mit Pyinstaller
Verwenden einer Webkamera mit Raspberry Pi
Erstellen Sie mit Raspberry Pi einen WLAN-Ethernet-Konverter und einen einfachen Router
[Python + PHP] Erstellen Sie mit Raspberry Pi einen Temperatur-, Feuchtigkeits- und Druckmonitor
Ich habe versucht, mit Raspeye 4 (Python Edition) ein signalähnliches Signal zu erzeugen.
Erstellen Sie einen Socket mit einer Ethernet-Schnittstelle (eth0, eth1) (Linux, C, Raspberry Pi).
Messen Sie die SIM-Signalstärke mit Raspberry Pi
Haustierüberwachung mit Rekognition und Raspberry pi
Erstellen Sie einen Audio-Interface-Controller mit pyusb (2).
Hallo Welt mit Raspberry Pi + Minecraft Pi Edition
Erstellen Sie eine Tensorflow-Umgebung mit Raspberry Pi [2020]
Verwenden Sie OpenJtalk, damit Raspberry Pi Japanisch spricht
Versuchen Sie, mit Raspberry Pi nach Wakasagi zu fischen
Normal programmieren mit Node-RED-Programmierung mit Raspberry Pi 3
Verbesserter menschlicher Sensor mit Raspberry Pi
Versuchen Sie die Objekterkennung mit Raspberry Pi 4 + Coral
Den Servomotor SG-90 mit Himbeer-Pi betreiben
Arbeiten mit Sensoren in Mathematica auf Raspberry Pi
Verwenden Sie einen PIR-Bewegungssensor mit Himbeer-Pi
Infer Custom Vision Modell mit Raspeye
Erstellen Sie eine Auto-Anzeige mit Himbeer-Pi
Protokollieren des Werts von Inkbird IBS-TH1 mit Raspberry Pi
Arbeiten mit GPS in Python für Raspberry Pi 3
Machen Sie ein Thermometer mit Raspberry Pi und machen Sie es im Browser Teil 3 sichtbar
Ich habe eine Fehlermeldung erhalten, als ich opencv mit Raspeye in Python3 eingefügt habe [Remedy]
Ich habe versucht, mit Raspberry Pi 4 eine Umgebung von Ubuntu 20.04 LTS + ROS2 zu erstellen
Versuchen Sie, ein Objekt mit RaspberryPi zu erkennen ~ Teil 1: Vergleich der Erkennungsgeschwindigkeit ~